diff --git a/.github/workflows/compilation.yaml b/.github/workflows/compilation.yaml new file mode 100644 index 000000000..5b339954f --- /dev/null +++ b/.github/workflows/compilation.yaml @@ -0,0 +1,50 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: compilation +on: + push: + branches: + - "v1" + pull_request: + branches: + - "v1" + +permissions: + contents: read + +jobs: + compilation: + name: Cross-platform compilation check + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 + + - name: Setup Go + uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5.6.0 + with: + go-version: "1.26" + + - name: Verify Builds + run: | + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ./... + CGO_ENABLED=0 GOOS=linux GOARCH=386 go build ./... + CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build ./... + CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build ./... + CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build ./... + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build ./... + CGO_ENABLED=0 GOOS=windows GOARCH=386 go build ./... + CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build ./... + CGO_ENABLED=0 GOOS=openbsd GOARCH=amd64 go build ./...