From 1490907be0d5f56e620b4d4b24d8c9eb88dea64f Mon Sep 17 00:00:00 2001 From: Aaron Klotz Date: Wed, 18 Dec 2024 11:18:11 -0700 Subject: [PATCH] .github: build examples for rudimentary CI Fixes #118 Signed-off-by: Aaron Klotz --- .github/workflows/build-examples.yml | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/build-examples.yml diff --git a/.github/workflows/build-examples.yml b/.github/workflows/build-examples.yml new file mode 100644 index 00000000..ff8f6ecc --- /dev/null +++ b/.github/workflows/build-examples.yml @@ -0,0 +1,44 @@ +name: Build Examples + +on: + push: + branches: [ "main" ] + pull_request: + # all PRs on all branches + +concurrency: + # For PRs, later CI runs preempt previous ones. e.g. a force push on a PR + # cancels running CI jobs and starts all new ones. + # + # For non-PR pushes, concurrency.group needs to be unique for every distinct + # CI run we want to have happen. Use run_id, which in practice means all + # non-PR CI runs will be allowed to run without preempting each other. + group: ${{ github.workflow }}-$${{ github.pull_request.number || github.run_id }} + cancel-in-progress: true + +jobs: + build: + strategy: + fail-fast: false + matrix: + goarch: [ "386", "amd64", "arm64" ] + runs-on: linux-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + + - name: Set up build directory + run: | + mkdir -p ./examples/bin + + - name: Build Binaries + run: | + go build -v -ldflags="-H windowsgui" -o ./examples/bin ./examples/... + env: + GOARCH: ${{ matrix.goarch }} + GOOS: windows