feat(compute): Added samples for routes manipulation #12158
Workflow file for this run
This file contains 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: Go | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
# Split build and lint into a few different jobs so they can run in parallel. | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: '~1.21' | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Build code | |
# Use find to build all modules. '-execdir ... ;' doesn't set an exit code | |
# based on command results. So, create a file if a build fails and check | |
# if the file exists to set the right exit code. | |
run: | | |
ROOT_DIR=$(pwd) \ | |
find . -name go.mod -execdir sh -c 'go build ./... || touch $ROOT_DIR/build_failed.txt' \; ; \ | |
test ! -f build_failed.txt | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: '~1.21' | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Install goimports | |
run: go install golang.org/x/tools/cmd/goimports@latest | |
- run: goimports -w . | |
- name: Run go mod tidy on all modules | |
run: find . -name go.mod -execdir go mod tidy \; | |
- name: Remove any toolchain lines | |
run: find . -name go.mod -execdir go get toolchain@none \; | |
# If there are any diffs from goimports or go mod tidy, fail. | |
- name: Verify no changes from goimports and go mod tidy. | |
run: | | |
if [ -n "$(git status --porcelain)" ]; then | |
echo 'To fix this check, run "goimports -w . && find . -name go.mod -execdir go mod tidy \;"' | |
git status # Show the files that failed to pass the check. | |
exit 1 | |
fi | |
- name: shellcheck | |
run: find . -name "*.sh" -exec shellcheck {} \; | |
vet: | |
name: Vet | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: '~1.21' | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: go vet | |
# Use find to build all modules. '-execdir ... ;' doesn't set an exit code | |
# based on command results. So, create a file if a build fails and check | |
# if the file exists to set the right exit code. | |
run: | | |
ROOT_DIR=$(pwd) \ | |
find . -name go.mod -execdir sh -c 'go vet ./... || touch $ROOT_DIR/vet_failed.txt' \; ; \ | |
test ! -f vet_failed.txt | |
test: | |
name: Root tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: '~1.21' | |
- name: Check code | |
uses: actions/checkout@v2 | |
- run: go test -v |