name: Build Process # Don't try to build other branches then master or when a pull request changes something outside of the graphic packs source folders. on: push: branches: - master paths: - 'Enhancements/**' - 'Resolutions/**' - 'Mods/**' - 'Workarounds/**' - 'src/**' jobs: build: # Configuration runs-on: ubuntu-latest name: Build Graphic Packs # Build script steps: # Clone latest copy of repository - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 1 - name: Zip all packs run: | cd $GITHUB_WORKSPACE ; cd Enhancements && zip -r -q -9 "../graphicPacks.zip" ./* && cd .. ; cd Resolutions && zip -r -q -9 "../graphicPacks.zip" ./* && cd .. ; cd Mods && zip -r -q -9 "../graphicPacks.zip" ./* && cd .. ; cd Workarounds && zip -r -q -9 "../graphicPacks.zip" ./* && cd .. ; cd src && zip -r -q -9 "../graphicPacks.zip" ./* && cd .. - name: Create new release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} if: github.event_name == 'push' run: | cd $GITHUB_WORKSPACE ; RELEASE_NUMBER="$(($(curl -s "https://api.github.com/repos/$GITHUB_REPOSITORY/releases/latest" | jq -r ".name" | cut -c 22-)+1))" ; jq -n --arg releaseTag "Github$RELEASE_NUMBER" --arg releaseTitle "Cemu Graphic Packs: v$RELEASE_NUMBER" --arg releaseBody "$(git log -1 --format='Commited at %ci by **%cn** in commit %h%n### %s%n```%n%b%n```%n')" '{"tag_name":$releaseTag,"target_commitish": "master","name": $releaseTitle,"body": $releaseBody,"draft": false,"prerelease": false}' > releaseBody.json ; RELEASE_ID=$(curl -X POST -H 'Content-Type:application/json' -H "Authorization: Bearer $GITHUB_TOKEN" "https://api.github.com/repos/$GITHUB_REPOSITORY/releases" -d "@releaseBody.json" | jq -r ".id") ; curl -X POST -H 'Content-Type:application/json' -H "Authorization: Bearer $GITHUB_TOKEN" "https://uploads.github.com/repos/$GITHUB_REPOSITORY/releases/$RELEASE_ID/assets?name=graphicPacks$RELEASE_NUMBER.zip" --upload-file "graphicPacks.zip" - name: Upload artifact uses: actions/upload-artifact@v4 with: name: graphicPacks path: "graphicPacks.zip"