name: Compile QuakeC and Publish Release on: [push] jobs: Compile-QC: runs-on: ubuntu-latest if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v3 - name: Clone Repository working-directory: ./tools run: | sudo -i ./qc-compiler-lin.sh echo "QC COMPILE STATUS - ${{ job.status }}." - name: Zip Progs working-directory: ./build run: | zip -r -j pc-nzp-qc.zip pc/* zip -r -j handheld-nzp-qc.zip handheld/* zip -r -j quakespasm-nzp-qc.zip quakespasm/* - name: Generate Build Date id: date run: echo "::set-output name=date::$(date +'%Y-%m-%d-%H-%M-%S')" - name: Delete Old Release uses: dev-drprasad/delete-tag-and-release@v0.2.0 with: delete_release: true tag_name: bleeding-edge env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: bleeding-edge release_name: Automated Release ${{ steps.date.outputs.date }} body: | This is a **bleeding edge** NZ:P QuakeC release, stability is not guarenteed and you may need to grab an updated asset release if this update depends on new models/textures/etc. To install: - Grab the .ZIP archive for your desired platform below (*-nzp-qc.zip, use `handheld-nzp-qc.zip` for 3DS/PSP and `quakespasm-nzp-qc.zip` for Switch/VITA). - Extract the contents of the .ZIP archive to your nzp folder (Example: copy `progs.dat` and `progs.lno` to `PSP/GAME/nzportable/nzp`). draft: true prerelease: false - name: Upload QUAKESPASM QC uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./build/quakespasm-nzp-qc.zip asset_name: quakespasm-nzp-qc.zip asset_content_type: application/zip - name: Upload PC QC uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./build/pc-nzp-qc.zip asset_name: pc-nzp-qc.zip asset_content_type: application/zip - name: Upload HANDHELD QC uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./build/handheld-nzp-qc.zip asset_name: handheld-nzp-qc.zip asset_content_type: application/zip - name: Publish Release uses: StuYarrow/publish-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: id: ${{ steps.create_release.outputs.id }}