Make examples non flaky #62
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: Nighly ECS example validator | |
on: | |
# schedule: | |
# - cron: '0 0 * * *' # Runs every day at midnight UTC | |
workflow_dispatch: | |
push: | |
jobs: | |
get-go-version: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./test/acceptance | |
outputs: | |
go-version: ${{ steps.get-go-version.outputs.go-version }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Determine Go version | |
id: get-go-version | |
run: | | |
echo "Building with Go $(cat .go-version)" | |
echo "go-version=$(cat .go-version)" >> "$GITHUB_OUTPUT" | |
go-fmt-and-lint-acceptance: | |
runs-on: ubuntu-latest | |
needs: | |
- get-go-version | |
defaults: | |
run: | |
working-directory: ./test/acceptance | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Go | |
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0 | |
with: | |
go-version: ${{ needs.get-go-version.outputs.go-version }} | |
cache-dependency-path: ./test/acceptance/go.sum | |
- name: Go CI lint | |
uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3.7.0 | |
with: | |
args: "--verbose --enable gofmt" | |
only-new-issues: false | |
skip-pkg-cache: true | |
skip-build-cache: true | |
working-directory: ./test/acceptance | |
- name: Lint Consul retry | |
run: | | |
go install github.com/hashicorp/[email protected] | |
lint-consul-retry | |
terraform-fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Terraform | |
uses: hashicorp/setup-terraform@v3 | |
with: | |
terraform_version: 1.4.2 | |
- name: Validate | |
run: terraform fmt -check -recursive . | |
single-cluster: | |
needs: | |
- terraform-fmt | |
- go-fmt-and-lint-acceptance | |
strategy: | |
matrix: | |
name: | |
- Consul ECS on Fargate | |
- Consul ECS on EC2 | |
- Consul ECS with HCP | |
include: | |
- name: Consul ECS on Fargate | |
scenario: FARGATE | |
- name: Consul ECS on EC2 | |
scenario: EC2 | |
- name: Consul ECS with HCP | |
scenario: HCP | |
fail-fast: false | |
uses: ./.github/workflows/reusable-ecs-example-validator.yml | |
with: | |
name: ${{ matrix.name }} | |
scenario: ${{ matrix.scenario }} | |
go-version: ${{ needs.get-go-version.outputs.go-version }} | |
secrets: inherit | |
multi-cluster: | |
needs: | |
- single-cluster | |
strategy: | |
matrix: | |
name: | |
- Cluster Peering | |
- WAN Federation with Mesh gateways | |
- Locality Aware Routing | |
- Service Sameness | |
include: | |
- name: Cluster Peering | |
scenario: CLUSTER_PEERING | |
- name: WAN Federation with Mesh gateways | |
scenario: WAN_FEDERATION | |
- name: Locality Aware Routing | |
scenario: LOCALITY_AWARE_ROUTING | |
fail-fast: false | |
uses: ./.github/workflows/reusable-ecs-example-validator.yml | |
with: | |
name: ${{ matrix.name }} | |
scenario: ${{ matrix.scenario }} | |
go-version: ${{ needs.get-go-version.outputs.go-version }} | |
secrets: inherit |