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@v4 - uses: oven-sh/setup-bun@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@v4 with: name: ${{ matrix.artifact }} path: bin/${{ matrix.artifact }} release: needs: build runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v4 with: path: artifacts - name: Create release uses: softprops/action-gh-release@v2 with: files: | artifacts/gbrain-darwin-arm64/gbrain-darwin-arm64 artifacts/gbrain-linux-x64/gbrain-linux-x64 generate_release_notes: true