refactor: move non-CLI programs from cmd/ to examples/ #65
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| tags: ['v*'] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| go-version: ['1.25.x'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| fetch-depth: 1 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| - name: Install elan (Lean 4 toolchain manager) | |
| run: | | |
| curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh -s -- -y --default-toolchain none | |
| echo "$HOME/.elan/bin" >> "$GITHUB_PATH" | |
| - name: Cache Lean toolchain and Lake packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.elan/toolchains | |
| proofs/.lake | |
| key: lean-${{ runner.os }}-${{ hashFiles('proofs/lean-toolchain') }}-${{ hashFiles('proofs/lakefile.toml') }} | |
| - name: Unit tests | |
| run: make test | |
| - name: Vet | |
| run: make vet | |
| - name: Build | |
| run: make build | |
| - name: Verify generated code is up to date | |
| run: make check-generated | |
| release: | |
| needs: test | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| fetch-depth: 1 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.25.x' | |
| - name: Build release binaries | |
| run: make release | |
| - name: Create release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| builds/bindercli-linux-arm64 | |
| builds/bindercli-linux-amd64 | |
| generate_release_notes: true |