name: Release on: push: tags: ['v*'] permissions: contents: write jobs: build: strategy: matrix: include: - os: macos-latest target: bun-darwin-arm64 artifact: gbrain-darwin-arm64 - os: ubuntu-latest target: bun-linux-x64 artifact: gbrain-linux-x64 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 with: bun-version: latest - run: bun install - run: bun test - run: bun build --compile --target=${{ matrix.target }} --outfile bin/${{ matrix.artifact }} src/cli.ts - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: ${{ matrix.artifact }} path: bin/${{ matrix.artifact }} release: needs: build runs-on: ubuntu-latest steps: - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: path: artifacts - name: Create release uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2 with: files: | artifacts/gbrain-darwin-arm64/gbrain-darwin-arm64 artifacts/gbrain-linux-x64/gbrain-linux-x64 generate_release_notes: true