From 6ff943f1f37d995b90acb525c39eefe934c52446 Mon Sep 17 00:00:00 2001 From: Sunny Date: Tue, 28 May 2024 20:35:53 +0000 Subject: [PATCH] Add workflow for AWS tests & document the setup - Add a new workflow integration-aws for running the AWS integration tests. - Add setup docs for configuring the AWS account and GitHub repository for running the tests. Signed-off-by: Sunny --- .github/workflows/integration-aws.yaml | 77 +++++++ tests/integration/README.md | 272 +++++++++++++++++++++++++ 2 files changed, 349 insertions(+) create mode 100644 .github/workflows/integration-aws.yaml diff --git a/.github/workflows/integration-aws.yaml b/.github/workflows/integration-aws.yaml new file mode 100644 index 00000000..0cf636b7 --- /dev/null +++ b/.github/workflows/integration-aws.yaml @@ -0,0 +1,77 @@ +name: integration-aws + +on: + workflow_dispatch: + schedule: + - cron: "0 6 * * *" + # push: + # branches: + # - main + +permissions: + contents: read + id-token: write # Required for obtaining AWS OIDC federated credential. + +jobs: + test: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./tests/integration + steps: + - name: Checkout + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - name: Set up Go + uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1 + with: + go-version-file: 'tests/integration/go.mod' + cache-dependency-path: tests/integration/go.sum + - name: configure aws credentials + uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 + with: + role-to-assume: arn:aws:iam::${{ secrets.IRC_E2E_AWS_ACCOUNT_ID }}:role/${{ secrets.IRC_E2E_AWS_ASSUME_ROLE_NAME }} + role-session-name: GitHub_to_AWS_via_FederatedOIDC + aws-region: ${{ vars.IRC_E2E_AWS_REGION }} + - name: Set up QEMU + uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0 + - name: Cache Docker layers + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + id: cache + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-ghcache-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx-ghcache- + - name: Set dynamic variables in .env + run: | + cat > .env <