From 8a5ae330ddf37d23eea8465f65c8bef569024b9b Mon Sep 17 00:00:00 2001 From: peterwoodworth Date: Tue, 20 Jun 2023 16:10:30 -0700 Subject: [PATCH] chore: expand integ tests --- .github/workflows/development.yml | 127 +++++++++++++++++++----------- 1 file changed, 79 insertions(+), 48 deletions(-) diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index 407719a..023c5cc 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -1,12 +1,88 @@ ## WIP - name: Devel_workflow + on: workflow_dispatch: - #workflow_call: jobs: - # test: + integ-oidc: + permissions: + contents: read + id-token: write + strategy: + fail-fast: false + matrix: + os: [[self-hosted, linux-fargate], [self-hosted, windows-fargate], windows-latest, ubuntu-latest, macos-latest] + node: [14, 16, 18] + name: Run OIDC integ tests + runs-on: ${{ matrix.os }} + timeout-minutes: 30 + steps: + - name: "Checkout repository" + uses: actions/checkout@v3 + - name: Integ test for OIDC + uses: ./ + with: + aws-region: us-west-2 + role-to-assume: ${{ secrets.SECRETS_OIDC_AWS_ROLE_TO_ASSUME }} + role-duration-seconds: 900 + role-session-name: IntegOidcAssumeRole + role-external-id: ${{ secrets.SECRETS_OIDC_AWS_ROLE_EXTERNAL_ID }} + integ-access-keys: + strategy: + fail-fast: false + matrix: + os: [[self-hosted, linux-fargate], [self-hosted, windows-fargate], windows-latest, ubuntu-latest, macos-latest] + node: [14, 16, 18] + name: Run access key integ tests + runs-on: ${{ matrix.os }} + timeout-minutes: 30 + steps: + - name: "Checkout repository" + uses: actions/checkout@v3 + - name: Integ test for access keys + uses: ./ + with: + aws-region: us-west-2 + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + role-to-assume: ${{ secrets.SECRETS_AWS_ROLE_TO_ASSUME }} + role-session-name: IntegAccessKeysAssumeRole + role-external-id: ${{ secrets.SECRETS_AWS_ROLE_EXTERNAL_ID }} + integ-iam-user: + strategy: + fail-fast: false + matrix: + os: [[self-hosted, linux-fargate], [self-hosted, windows-fargate], windows-latest, ubuntu-latest, macos-latest] + node: [14, 16, 18] + name: Run IAM User integ tests + runs-on: ${{ matrix.os }} + timeout-minutes: 30 + steps: + - name: "Checkout repository" + uses: actions/checkout@v3 + - name: Integ test for IAM user + uses: ./ + with: + aws-region: us-west-2 + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + lint: + name: Ensure code standards + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: "Checkout repostiory" + uses: actions/checkout@v3 + - name: "Setup node" + uses: actions/setup-node@v3 + with: + node-version: 16 + - name: "Install dependencies" + uses: bahmutov/npm-install@v1 + - name: "Lint code" + run: npm run lint --if-present + # unit-test: # strategy: # fail-fast: false # matrix: @@ -26,48 +102,3 @@ jobs: # uses: bahmutov/npm-install@v1 # - name: "Run tests" # run: npm run test --if-present - integ: - permissions: - contents: read - id-token: write - strategy: - fail-fast: false - matrix: - os: [[self-hosted, linux-fargate], [self-hosted, windows-fargate], windows-latest, ubuntu-latest, macos-latest] - node: [14, 16, 18] - name: Run integ tests - runs-on: ${{ matrix.os }} - timeout-minutes: 30 - steps: - - name: "Checkout repository" - uses: actions/checkout@v3 - - name: Integ test for OIDC - uses: ./ - with: - aws-region: us-west-2 - role-to-assume: ${{ secrets.SECRETS_AWS_ROLE_TO_ASSUME }} - role-duration-seconds: 900 - role-session-name: Testassumerole - # - name: Integ test for IAM creds - # uses: ./ - # with: - # aws-region: us-west-2 - # aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - # aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - # TODO: Integ tests for IAM user - # TODO: Integ tests for WebIdentityToken - lint: - name: Ensure code standards - runs-on: ubuntu-latest - timeout-minutes: 5 - steps: - - name: "Checkout repostiory" - uses: actions/checkout@v3 - - name: "Setup node" - uses: actions/setup-node@v3 - with: - node-version: 16 - - name: "Install dependencies" - uses: bahmutov/npm-install@v1 - - name: "Lint code" - run: npm run lint --if-present