Skip to content

Updates all versions, notably Go 1.25 and Envoy 1.37 #1716

Updates all versions, notably Go 1.25 and Envoy 1.37

Updates all versions, notably Go 1.25 and Envoy 1.37 #1716

Workflow file for this run

# `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