name: Build GodMode9i on: push: branches: ["*"] paths-ignore: - 'README.md' pull_request: branches: ["*"] paths-ignore: - 'README.md' release: types: [created] jobs: build: runs-on: ubuntu-latest container: devkitpro/devkitarm name: Build with Docker using devkitARM steps: - name: Checkout repo uses: actions/checkout@v4 - name: Install tools run: | sudo apt-get update sudo apt-get install p7zip-full -y - name: Setup environment run: git config --global safe.directory '*' - name: Build & Package GodMode9i id: build run: | make all dsi chmod +x make_cia ./make_cia --srl="GodMode9i.dsi" --id_0=$(git rev-parse --short=7 HEAD) --tikID=$(git rev-parse --short=16 HEAD) mkdir GodMode9i/ cp GodMode9i.dsi GodMode9i/ cp GodMode9i.nds GodMode9i/ cp GodMode9i.cia GodMode9i/ 7z a GodMode9i.7z GodMode9i/ mkdir -p ~/artifacts cp GodMode9i.dsi ~/artifacts cp GodMode9i.nds ~/artifacts cp GodMode9i.cia ~/artifacts cp GodMode9i.7z ~/artifacts - name: Publish build to GH Actions uses: actions/upload-artifact@v4 with: path: ~/artifacts/* name: build # Only run this for non-PR jobs. publish_build: runs-on: ubuntu-latest name: Publish build if: ${{ success() && !startsWith(github.ref, 'refs/pull') }} needs: build steps: - name: Download artifacts uses: actions/download-artifact@v4 with: name: build path: build - name: Upload to ${{ github.repository }} release if: ${{ startsWith(github.ref, 'refs/tags') }} run: | ID=$(jq --raw-output '.release.id' $GITHUB_EVENT_PATH) for file in ${{ github.workspace }}/build/*; do AUTH_HEADER="Authorization: token ${{ secrets.GITHUB_TOKEN }}" CONTENT_LENGTH="Content-Length: $(stat -c%s $file)" CONTENT_TYPE="Content-Type: application/7z-x-compressed" UPLOAD_URL="https://uploads.github.com/repos/${{ github.repository }}/releases/$ID/assets?name=$(basename $file)" curl -XPOST -H "$AUTH_HEADER" -H "$CONTENT_LENGTH" -H "$CONTENT_TYPE" --upload-file "$file" "$UPLOAD_URL" done