consul/.github/workflows/test-integrations-windows.yml

1220 lines
50 KiB
YAML

# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
name: test-integrations-windows
on:
workflow_dispatch:
env:
TEST_RESULTS_DIR: /tmp/test-results
TEST_RESULTS_ARTIFACT_NAME: test-results
CONSUL_LICENSE: ${{ secrets.CONSUL_LICENSE }}
GOTAGS: ${{ endsWith(github.repository, '-enterprise') && 'consulent' || '' }}
GOTESTSUM_VERSION: "1.11.0"
CONSUL_BINARY_UPLOAD_NAME: consul.exe
# strip the hashicorp/ off the front of github.repository for consul
CONSUL_LATEST_IMAGE_NAME: ${{ endsWith(github.repository, '-enterprise') && github.repository || 'consul' }}
GOPRIVATE: github.com/hashicorp # Required for enterprise deps
jobs:
setup:
runs-on: ubuntu-latest
name: Setup
outputs:
compute-small: ${{ steps.runners.outputs.compute-small }}
compute-medium: ${{ steps.runners.outputs.compute-medium }}
compute-large: ${{ steps.runners.outputs.compute-large }}
compute-xl: ${{ steps.runners.outputs.compute-xl }}
enterprise: ${{ steps.runners.outputs.enterprise }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- id: runners
run: .github/scripts/get_runner_classes_windows.sh
get-go-version:
uses: ./.github/workflows/reusable-get-go-version.yml
dev-build:
needs:
- setup
- get-go-version
uses: ./.github/workflows/reusable-dev-build-windows.yml
with:
runs-on: ${{ needs.setup.outputs.compute-large }}
repository-name: ${{ github.repository }}
uploaded-binary-name: 'consul.exe'
go-version: ${{ needs.get-go-version.outputs.go-version }}
secrets:
elevated-github-token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
# NOTE: Jobs needs to be added here manually. Jobs when run together on windows fails intermittently.
# So they are run independently of each other.
envoy-integration-test:
needs:
- setup
- get-go-version
- dev-build
runs-on: ${{ fromJSON(needs.setup.outputs.compute-large) }}
permissions:
id-token: write # NOTE: this permission is explicitly required for Vault auth.
contents: read
strategy:
fail-fast: false
matrix:
envoy-version: [ "1.28.2" ]
xds-target: [ "server", "client" ]
env:
ENVOY_VERSION: ${{ matrix.envoy-version }}
XDS_TARGET: ${{ matrix.xds-target }}
AWS_LAMBDA_REGION: us-west-2
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # v4.0.1
with:
go-version: ${{ needs.get-go-version.outputs.go-version }}
- name: Fetch binary
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
with:
name: '${{ env.CONSUL_BINARY_UPLOAD_NAME }}'
path: ${{ github.workspace }}
- name: Create dist folder and copy binary
run: |
mkdir dist
cp ${{ github.workspace }}\consul.exe dist\
- name: Restore mode+x
run: icacls ${{ github.workspace }}\consul.exe /grant:rx Everyone:RX
- name: Setup TcpDump Docker Image
shell: bash
run: |
cd test/integration/connect/envoy
curl -sSL "https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/tcpdump.exe" -o tcpdump.exe
docker build -t envoy-tcpdump -f Dockerfile-tcpdump-windows .
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@2a1a44ac4aa01993040736bd95bb470da1a38365 # v2.9.0
- name: Docker build consul
run: docker build -t windows/consul -f Dockerfile-windows .
- name: Docker build consul local
shell: bash
run: cd build-support/windows && ./build-consul-local-images.sh
- name: Docker build consul dev
shell: bash
run: cd build-support/windows && ./build-consul-dev-image.sh
# https://hashicorp.atlassian.net/browse/NET-4973
# ^ Ticket to figure out why grouping test case is failing on Windows Machine
# - name: Envoy Integration Tests for windows case-api-gateway-http-hostnames
# shell: bash
# if: always()
# env:
# GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
# GOTESTSUM_FORMAT: standard-verbose
# COMPOSE_INTERACTIVE_NO_CLI: 1
# LAMBDA_TESTS_ENABLED: "true"
# # tput complains if this isn't set to something.
# TERM: ansi
# run: |
# # shellcheck disable=SC2001
# echo "Running Integration Test case-api-gateway-http-hostnames"
# # shellcheck disable=SC2001
# go test -v -timeout=45m -tags integration \
# ./test/integration/connect/envoy -run="TestEnvoy/case-api-gateway-http-hostnames" -win=true
- name: Envoy Integration Tests for windows case-api-gateway-http-simple
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-api-gateway-http-simple"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-api-gateway-http-simple" -win=true
- name: Envoy Integration Tests for windows case-api-gateway-http-splitter-targets
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-api-gateway-http-splitter-targets"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-api-gateway-http-splitter-targets" -win=true
- name: Envoy Integration Tests for windows case-api-gateway-http-tls-overlapping-hosts
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-api-gateway-http-tls-overlapping-hosts"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-api-gateway-http-tls-overlapping-hosts" -win=true
- name: Envoy Integration Tests for windows case-api-gateway-tcp-conflicted
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-api-gateway-tcp-conflicted"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-api-gateway-tcp-conflicted" -win=true
- name: Envoy Integration Tests for windows case-api-gateway-tcp-simple
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-api-gateway-tcp-simple"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-api-gateway-tcp-simple" -win=true
- name: Envoy Integration Tests for windows case-api-gateway-tcp-tls-overlapping-hosts
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-api-gateway-tcp-tls-overlapping-hosts"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-api-gateway-tcp-tls-overlapping-hosts" -win=true
- name: Envoy Integration Tests for windows case-badauthz
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-badauthz"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-badauthz" -win=true
- name: Envoy Integration Tests for windows case-basic
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-basic"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-basic" -win=true
- name: Envoy Integration Tests for windows case-centralconf
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-centralconf"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-centralconf" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-cluster-peering-failover
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-cluster-peering-failover"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-cluster-peering-failover" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-dc-failover-gateways-none
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-dc-failover-gateways-none"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-dc-failover-gateways-none" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-dc-failover-gateways-remote
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-dc-failover-gateways-remote"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-dc-failover-gateways-remote" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-defaultsubset
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-defaultsubset"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-defaultsubset" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-features
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-features"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-features" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-subset-onlypassing
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-subset-onlypassing"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-subset-onlypassing" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-subset-redirect
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-subset-redirect"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-subset-redirect" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-svc-failover
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-svc-failover"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-svc-failover" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-svc-redirect-http
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-svc-redirect-http"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-svc-redirect-http" -win=true
- name: Envoy Integration Tests for windows case-cfg-resolver-svc-redirect-tcp
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-resolver-svc-redirect-tcp"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-resolver-svc-redirect-tcp" -win=true
- name: Envoy Integration Tests for windows case-cfg-router-features
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-router-features"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-router-features" -win=true
- name: Envoy Integration Tests for windows case-cfg-splitter-cluster-peering
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-splitter-cluster-peering"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-splitter-cluster-peering" -win=true
- name: Envoy Integration Tests for windows case-cfg-splitter-features
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-splitter-features"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-splitter-features" -win=true
- name: Envoy Integration Tests for windows case-cfg-splitter-peering-ingress-gateways
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cfg-splitter-peering-ingress-gateways"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cfg-splitter-peering-ingress-gateways" -win=true
# This test runs fine on windows machine but fails on CI
# Task to be picked later on - https://hashicorp.atlassian.net/browse/NET-4972
# - name: Envoy Integration Tests for windows case-consul-exec
# if: always()
# shell: bash
# env:
# GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
# GOTESTSUM_FORMAT: standard-verbose
# COMPOSE_INTERACTIVE_NO_CLI: 1
# LAMBDA_TESTS_ENABLED: "true"
# # tput complains if this isn't set to something.
# TERM: ansi
# run: |
# #shellcheck disable=SC2001
# echo "Running Integration Test case-consul-exec"
# # shellcheck disable=SC2001
# go test -v -timeout=45m -tags integration \
# ./test/integration/connect/envoy -run="TestEnvoy/case-consul-exec" -win=true
- name: Envoy Integration Tests for windows case-cross-peer-control-plane-mgw
if: always()
shell: bash
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cross-peer-control-plane-mgw"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cross-peer-control-plane-mgw" -win=true
- name: Envoy Integration Tests for windows case-cross-peers
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cross-peers"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cross-peers" -win=true
- name: Envoy Integration Tests for windows case-cross-peers-http
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cross-peers-http"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cross-peers-http" -win=true
- name: Envoy Integration Tests for windows case-cross-peers-http-router
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cross-peers-http-router"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cross-peers-http-router" -win=true
- name: Envoy Integration Tests for windows case-cross-peers-resolver-redirect-tcp
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-cross-peers-resolver-redirect-tcp"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-cross-peers-resolver-redirect-tcp" -win=true
- name: Envoy Integration Tests for windows case-dogstatsd-udp
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-dogstatsd-udp"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-dogstatsd-udp" -win=true
- name: Envoy Integration Tests for windows case-envoyext-ratelimit
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-envoyext-ratelimit"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-envoyext-ratelimit" -win=true
- name: Envoy Integration Tests for windows case-expose-checks
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-expose-checks"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-expose-checks" -win=true
- name: Envoy Integration Tests for windows case-gateway-without-services
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-gateway-without-services"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-gateway-without-services" -win=true
- name: Envoy Integration Tests for windows case-gateways-local
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-gateways-local"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-gateways-local" -win=true
- name: Envoy Integration Tests for windows case-gateways-remote
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-gateways-remote"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-gateways-remote" -win=true
- name: Envoy Integration Tests for windows case-grpc
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-grpc"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-grpc" -win=true
- name: Envoy Integration Tests for windows case-http
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-http"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-http" -win=true
- name: Envoy Integration Tests for windows case-http-badauthz
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-http-badauthz"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-http-badauthz" -win=true
- name: Envoy Integration Tests for windows case-ingress-gateway-grpc
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-ingress-gateway-grpc"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-ingress-gateway-grpc" -win=true
- name: Envoy Integration Tests for windows case-ingress-gateway-http
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-ingress-gateway-http"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-ingress-gateway-http" -win=true
- name: Envoy Integration Tests for windows case-ingress-gateway-multiple-services
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-ingress-gateway-multiple-services"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-ingress-gateway-multiple-services" -win=true
- name: Envoy Integration Tests for windows case-ingress-gateway-peering-failover
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-ingress-gateway-peering-failover"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-ingress-gateway-peering-failover" -win=true
- name: Envoy Integration Tests for windows case-ingress-gateway-simple
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-ingress-gateway-simple"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-ingress-gateway-simple" -win=true
- name: Envoy Integration Tests for windows case-ingress-mesh-gateways-resolver
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-ingress-mesh-gateways-resolver"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-ingress-mesh-gateways-resolver" -win=true
- name: Envoy Integration Tests for windows case-l7-intentions
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-l7-intentions"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-l7-intentions" -win=true
- name: Envoy Integration Tests for windows case-multidc-rsa-ca
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-multidc-rsa-ca"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-multidc-rsa-ca" -win=true
- name: Envoy Integration Tests for windows case-prometheus
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-prometheus"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-prometheus" -win=true
- name: Envoy Integration Tests for windows case-property-override
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-property-override"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-property-override" -win=true
- name: Envoy Integration Tests for windows case-stats-proxy
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-stats-proxy"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-stats-proxy" -win=true
- name: Envoy Integration Tests for windows case-statsd-udp
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-statsd-udp"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-statsd-udp" -win=true
- name: Envoy Integration Tests for windows case-terminating-gateway-hostnames
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-terminating-gateway-hostnames"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-terminating-gateway-hostnames" -win=true
- name: Envoy Integration Tests for windows case-terminating-gateway-simple
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-terminating-gateway-simple"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-terminating-gateway-simple" -win=true
- name: Envoy Integration Tests for windows case-terminating-gateway-without-services
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-terminating-gateway-without-services"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-terminating-gateway-without-services" -win=true
- name: Envoy Integration Tests for windows case-upstream-config
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-upstream-config"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-upstream-config" -win=true
- name: Envoy Integration Tests for windows case-wanfed-gw
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-wanfed-gw"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-wanfed-gw" -win=true
- name: Envoy Integration Tests for windows case-ingress-gateway-sds
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-ingress-gateway-sds"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-ingress-gateway-sds" -win=true
- name: Envoy Integration Tests for windows case-lua
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-lua"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-lua" -win=true
- name: Envoy Integration Tests for windows case-terminating-gateway-subsets
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-terminating-gateway-subsets"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-terminating-gateway-subsets" -win=true
# Skipping this because - https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/wasm_filter
# - name: Envoy Integration Tests for windows case-wasm
# shell: bash
# env:
# GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
# GOTESTSUM_FORMAT: standard-verbose
# COMPOSE_INTERACTIVE_NO_CLI: 1
# LAMBDA_TESTS_ENABLED: "true"
# # tput complains if this isn't set to something.
# TERM: ansi
# run: |
# # shellcheck disable=SC2001
# echo "Running Integration Test case-wasm"
# # shellcheck disable=SC2001
# go test -v -timeout=45m -tags integration \
# ./test/integration/connect/envoy -run="TestEnvoy/case-wasm" -win=true
# Skipping because of - cacert is not available in curl windows
# https://www.phillipsj.net/posts/windows-curl-and-self-signed-certs/
# - name: Envoy Integration Tests for windows case-ingress-gateway-tls
# shell: bash
# if: always()
# env:
# GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
# GOTESTSUM_FORMAT: standard-verbose
# COMPOSE_INTERACTIVE_NO_CLI: 1
# LAMBDA_TESTS_ENABLED: "true"
# # tput complains if this isn't set to something.
# TERM: ansi
# run: |
# # shellcheck disable=SC2001
# echo "Running Integration Test case-ingress-gateway-tls"
# # shellcheck disable=SC2001
# go test -v -timeout=45m -tags integration \
# ./test/integration/connect/envoy -run="TestEnvoy/case-ingress-gateway-tls" -win=true
- name: Envoy Integration Tests for windows case-mesh-to-lambda
shell: bash
if: always()
env:
GOTESTSUM_JUNITFILE: ${{ env.TEST_RESULTS_DIR }}/results.xml
GOTESTSUM_FORMAT: standard-verbose
COMPOSE_INTERACTIVE_NO_CLI: 1
LAMBDA_TESTS_ENABLED: "true"
# tput complains if this isn't set to something.
TERM: ansi
run: |
# shellcheck disable=SC2001
echo "Running Integration Test case-mesh-to-lambda"
# shellcheck disable=SC2001
go test -v -timeout=45m -tags integration \
./test/integration/connect/envoy -run="TestEnvoy/case-mesh-to-lambda" -win=true
# NOTE: ENT specific step as we store secrets in Vault.
- name: Authenticate to Vault
if: ${{ !cancelled() && endsWith(github.repository, '-enterprise') }}
id: vault-auth
run: vault-auth
# NOTE: ENT specific step as we store secrets in Vault.
- name: Fetch Secrets
if: ${{ !cancelled() && endsWith(github.repository, '-enterprise') }}
id: secrets
uses: hashicorp/vault-action@v2.5.0
with:
url: ${{ steps.vault-auth.outputs.addr }}
caCertificate: ${{ steps.vault-auth.outputs.ca_certificate }}
token: ${{ steps.vault-auth.outputs.token }}
secrets: |
kv/data/github/${{ github.repository }}/datadog apikey | DATADOG_API_KEY;
- name: Prepare datadog-ci
shell: bash
if: ${{ !cancelled() && !endsWith(github.repository, '-enterprise') }}
run: |
curl -L --fail "https://github.com/DataDog/datadog-ci/releases/download/v2.17.2/datadog-ci_win-x64.exe" --output "C:/datadog-ci"
icacls C:/datadog-ci /grant:rx Everyone:RX
- name: Upload coverage
# do not run on forks
if: ${{ !cancelled() && github.event.pull_request.head.repo.full_name == github.repository }}
env:
DATADOG_API_KEY: "${{ endsWith(github.repository, '-enterprise') && env.DATADOG_API_KEY || secrets.DATADOG_API_KEY }}"
DD_ENV: ci
run: C:/datadog-ci junit upload --service "$GITHUB_REPOSITORY" $TEST_RESULTS_DIR/results.xml
test-integrations-success:
needs:
- envoy-integration-test
runs-on: 'ubuntu-latest'
if: ${{ always() }}
steps:
- name: evaluate upstream job results
run: |
# exit 1 if failure or cancelled result for any upstream job
if printf '${{ toJSON(needs) }}' | grep -E -i '\"result\": \"(failure|cancelled)\"'; then
printf "Tests failed or workflow cancelled:\n\n${{ toJSON(needs) }}"
exit 1
fi