diff options
Diffstat (limited to '.github/workflows/zen.yml')
| -rw-r--r-- | .github/workflows/zen.yml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/.github/workflows/zen.yml b/.github/workflows/zen.yml index f2cc47a..9fb1326 100644 --- a/.github/workflows/zen.yml +++ b/.github/workflows/zen.yml @@ -3,6 +3,7 @@ name: Zen-C CI on: push: branches: [ "main" ] + tags: [ "v*" ] pull_request: branches: [ "main" ] @@ -12,9 +13,57 @@ jobs: matrix: os: [macos-15-intel, ubuntu-24.04] runs-on: ${{ matrix.os }} + permissions: + contents: write steps: - uses: actions/checkout@v4 - name: make run: make - name: make test run: make test + - name: APE dependencies + if: matrix.os == 'ubuntu-24.04' + run: | + sudo apt-get update + sudo apt-get install -y zip wget + + - name: Setup cosmocc + if: matrix.os == 'ubuntu-24.04' + run: | + wget https://cosmo.zip/pub/cosmocc/cosmocc.zip + mkdir -p $HOME/cosmocc + unzip cosmocc.zip -d $HOME/cosmocc + echo "$HOME/cosmocc/bin" >> $GITHUB_PATH + + - name: Build APE + if: matrix.os == 'ubuntu-24.04' + run: | + # Ensure PATH is updated and build with tag-aware versioning + export PATH="$HOME/cosmocc/bin:$PATH" + make clean + make ape + + - name: Upload zc.com Artifact + if: matrix.os == 'ubuntu-24.04' + uses: actions/upload-artifact@v4 + with: + name: zc-portable + path: out/bin/zc.com + + - name: Upload zc-boot.com Artifact + if: matrix.os == 'ubuntu-24.04' + uses: actions/upload-artifact@v4 + with: + name: zc-boot-portable + path: out/bin/zc-boot.com + + - name: Create Release + if: startsWith(github.ref, 'refs/tags/v') && matrix.os == 'ubuntu-24.04' + uses: softprops/action-gh-release@v2 + with: + files: | + out/bin/zc.com + out/bin/zc-boot.com + draft: false + prerelease: false + generate_release_notes: true |
