Skip to content

Commit

Permalink
workflow: fix issues + remove ccache support
Browse files Browse the repository at this point in the history
Props to @Whovian9369 for helping me get the workflow to a working state once more.

This is only a temporary measure. We don't want any more people with broken nxdumptool builds. We'll reintroduce ccache support at a later time.
  • Loading branch information
DarkMatterCore committed May 2, 2024
1 parent 34ada96 commit daacdde
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 32 deletions.
56 changes: 25 additions & 31 deletions .github/workflows/rewrite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,70 +32,64 @@ jobs:
- name: Set environment variables
run: |
echo "nxdt_commit=${GITHUB_SHA::7}" >> $GITHUB_ENV
echo "need_node=$(command -v node >/dev/null 2>&1 && echo 0 || echo 1)" >> $GITHUB_ENV
# Taken from https://github.com/nektos/act/issues/973. Needed when running this workflow locally using Docker + act.
- name: Install node (ccache requirement)
if: ${{ env.need_node == '1' }}
run: |
curl -sS https://webi.sh/node | sh
echo ~/.local/opt/node/bin >> $GITHUB_PATH
- name: Clone nxdumptool repository
run: |
git clone --recurse-submodules https://github.com/DarkMatterCore/nxdumptool .
- name: Setup ccache
uses: hendrikmuhs/[email protected]

- name: Set workspace permissions
run: chmod 777 -R "$GITHUB_WORKSPACE"
uses: actions/checkout@v4
with:
path: nxdumptool
submodules: recursive

# ccache invocation is handled in the build script.
- name: Build nxdumptool-rewrite PoC binary
id: build
continue-on-error: true
working-directory: nxdumptool
run: |
chmod +x ./build.sh
./build.sh --noconfirm
- name: Clone libnx repository
if: ${{ steps.build.outcome == 'failure' }}
uses: actions/checkout@v4
with:
repository: switchbrew/libnx
path: libnx
submodules: recursive

- name: Install latest libnx commit and retry build
id: retry
if: ${{ steps.build.outcome == 'failure' }}
run: |
pushd /tmp
git clone https://github.com/switchbrew/libnx
cd libnx
make -j8 PREFIX="ccache aarch64-none-elf-"
make install
popd
cd "$GITHUB_WORKSPACE/libnx"
make install -j8
cd "$GITHUB_WORKSPACE/nxdumptool"
./build.sh --noconfirm
- name: Build nxdumptool-rewrite GUI binary
working-directory: nxdumptool
run: |
make -j8 PREFIX="ccache aarch64-none-elf-"
make -j8
- uses: actions/upload-artifact@v4
with:
name: nxdt_rw_poc-${{ env.nxdt_commit }}.nro
path: code_templates/tmp/nxdt_rw_poc.nro
path: nxdumptool/code_templates/tmp/nxdt_rw_poc.nro
if-no-files-found: error

- uses: actions/upload-artifact@v4
with:
name: nxdt_rw_poc-${{ env.nxdt_commit }}.elf
path: code_templates/tmp/nxdt_rw_poc.elf
path: nxdumptool/code_templates/tmp/nxdt_rw_poc.elf
if-no-files-found: error

- uses: actions/upload-artifact@v4
with:
name: nxdumptool-rewrite-${{ env.nxdt_commit }}-WIP_UI.nro
path: nxdumptool.nro
path: nxdumptool/nxdumptool.nro
if-no-files-found: error

- uses: actions/upload-artifact@v4
with:
name: nxdumptool-rewrite-${{ env.nxdt_commit }}-WIP_UI.elf
path: nxdumptool.elf
path: nxdumptool/nxdumptool.elf
if-no-files-found: error

- name: Upload artifact to prerelease
Expand All @@ -113,6 +107,6 @@ jobs:
omitBody: True
omitBodyDuringUpdate: True
omitNameDuringUpdate: True
artifacts: "code_templates/tmp/nxdt_rw_poc.*"
#artifacts: "code_templates/tmp/nxdt_rw_poc.*, nxdumptool.*"
artifacts: "nxdumptool/code_templates/tmp/nxdt_rw_poc.*"
#artifacts: "nxdumptool/code_templates/tmp/nxdt_rw_poc.*, nxdumptool/nxdumptool.*"
token: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ set -e
if [ ${ARG,,} != "--noconfirm" ]; then
make BUILD_TYPE="$poc_name" -j$(nproc)
else
make BUILD_TYPE="$poc_name" -j8 PREFIX="ccache aarch64-none-elf-"
make BUILD_TYPE="$poc_name" -j8
fi

set +e
Expand Down

0 comments on commit daacdde

Please sign in to comment.