name: Zen-C CI on: push: branches: [ "main" ] tags: [ "v*" ] pull_request: branches: [ "main" ] jobs: build: strategy: 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