quakec/.github/workflows/compile-and-release.yml
cypress 244f21bf79
Misc. QuakeC workflow improvements (#73)
* REPO: Update progs.src standards, consolidate both ssqc to one src file

* FTEQCC: Optimize SSQC with -O3

* PROGS: Globally disable useless fastarrays on standard

* TOOLS: Consolidate Linux and macOS build scripts into one

* Remove some debug stuff

* ACTIONS: Change build script reference name
2024-06-16 08:41:13 -07:00

75 lines
2.9 KiB
YAML

name: Compile QuakeC and Publish Release
on: [push]
jobs:
Compile-QC:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- name: Install Python and Libraries
run: |
sudo -i
apt update && apt install python3 python3-pip wget
wget https://raw.githubusercontent.com/nzp-team/QCHashTableGenerator/main/requirements.txt
pip install -r requirements.txt
- uses: actions/checkout@v3
- name: Clone Repository
working-directory: ./tools
run: |
sudo -i
./qc-compiler-gnu.sh
echo "QC COMPILE STATUS - ${{ job.status }}."
- name: Zip Progs
working-directory: ./build
run: |
zip -r -j fte-nzp-qc.zip fte/*
zip -r -j standard-nzp-qc.zip standard/*
- 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.1
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 (fte-nzp-qc.zip for PC platforms/WebGL, standard-nzp-qc.zip for everything else..).
- 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 STANDARD 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/standard-nzp-qc.zip
asset_name: standard-nzp-qc.zip
asset_content_type: application/zip
- name: Upload FTE 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/fte-nzp-qc.zip
asset_name: fte-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 }}