Updates all versions, notably Go 1.25 and Envoy 1.37 #1716
Workflow file for this run
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` value will appear "as is" in the badge. | |
| # See https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#adding-a-workflow-status-badge-to-your-repository | |
| # yamllint --format github .github/workflows/commit.yaml | |
| --- | |
| name: "build" | |
| on: | |
| push: # We run tests on non-tagged pushes to master | |
| tags-ignore: ['*'] | |
| branches: master | |
| # ignore docs as they are built with Netlify. Ignore travis-related changes, too. | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'site/**' | |
| - 'netlify.toml' | |
| pull_request: # We also run tests on pull requests targeted at the master branch. | |
| branches: master | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'site/**' | |
| - 'netlify.toml' | |
| - 'packaging/msi/*' | |
| - 'packaging/icon@48w.ico' | |
| - '.github/workflows/msi.yaml' | |
| # workflow_dispatch will let us manually trigger the workflow from GitHub actions dashboard. | |
| # For example, you can try to build a branch without raising a pull request. | |
| # See https://docs.github.com/en/free-pro-team@latest/actions/managing-workflow-runs/manually-running-a-workflow | |
| workflow_dispatch: | |
| defaults: | |
| run: # use bash for all operating systems unless overridden | |
| shell: bash | |
| jobs: | |
| test: | |
| name: "Run unit tests (${{ matrix.os }})" | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 90 # instead of 360 by default | |
| strategy: | |
| fail-fast: false # don't fail fast as sometimes failures are operating system specific | |
| matrix: # use latest available versions and be consistent on all workflows! | |
| os: [ubuntu-latest, macos-latest] | |
| steps: | |
| - name: "Checkout" | |
| uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| cache: false | |
| go-version-file: go.mod | |
| - name: "Cache Go" | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/go/pkg/mod | |
| # go.mod for go release version, go.sum for modules used, and Tools.mk for 'go run' tools | |
| key: test-${{ runner.os }}-go-${{ hashFiles('go.mod', 'go.sum', 'Tools.mk') }} | |
| restore-keys: test-${{ runner.os }}-go- | |
| - name: "Cache Envoy binaries" | |
| uses: actions/cache@v5 | |
| with: # ~/.local/share/func-e/envoy-versions is cached so that we only re-download once: for TestFuncEInstall | |
| path: ~/.local/share/func-e/envoy-versions | |
| key: test-${{ runner.os }}-envoy-${{ hashFiles('internal/version/last_known_envoy.txt') }} | |
| restore-keys: test-${{ runner.os }}-envoy- | |
| - name: "Verify clean check-in" | |
| run: make check | |
| - name: "Run unit tests" | |
| run: make test | |
| - name: "Build the `func-e` binary" | |
| run: make build | |
| - name: "Run e2e tests using the `func-e` binary" | |
| run: make e2e |