name: E2ESoakTrigger on: schedule: - cron: '0 */3 * * *' jobs: resolve_cluster: permissions: id-token: write # aws-actions/configure-aws-credentials@v4.0.1 if: github.repository == 'aws/karpenter-provider-aws' runs-on: ubuntu-latest outputs: PREEXISTING_CLUSTERS: ${{ steps.list_clusters.outputs.PREEXISTING_CLUSTERS }} steps: - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: configure aws credentials uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 with: role-to-assume: arn:aws:iam::${{ vars.CI_ACCOUNT_ID }}:role/${{ vars.CI_ROLE_NAME }} aws-region: eu-north-1 - uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0 with: go-version-file: test/hack/soak/go.mod cache-dependency-path: test/hack/soak/go.sum check-latest: true cache: false # Grab all the names of the soak testing clusters, and identify clusters that will need to be deleted # Empty cluster_name will indicate that a new cluster will be created - id: list_clusters name: "Run list clusters script" run: | PREEXISTING_CLUSTERS="$(go run get_clusters.go)" echo PREEXISTING_CLUSTERS="$PREEXISTING_CLUSTERS" >> "$GITHUB_OUTPUT" working-directory: ./test/hack/soak shell: bash soak: permissions: id-token: write # aws-actions/configure-aws-credentials@v4.0.1 statuses: write # required by e2e.yaml needs: [resolve_cluster] strategy: fail-fast: false matrix: ${{ fromJson(needs.resolve_cluster.outputs.PREEXISTING_CLUSTERS) }} uses: ./.github/workflows/e2e.yaml with: suite: Integration region: eu-north-1 workflow_trigger: "soak" cluster_name: ${{ matrix.cluster_name }} cleanup: ${{ matrix.cluster_cleanup }} git_ref: ${{ matrix.git_ref }} secrets: SLACK_WEBHOOK_SOAK_URL: ${{ secrets.SLACK_WEBHOOK_SOAK_URL }}