diff --git a/.github/workflows/README.md b/.github/workflows/README.md deleted file mode 100644 index ea5ac432a..000000000 --- a/.github/workflows/README.md +++ /dev/null @@ -1,4 +0,0 @@ -## Please Note - -The GitHub Actions that are present in this repository are scaffolded from a central generator -therefore, any manual changes will be overwritten on the next codegen diff --git a/.github/workflows/command_dispatch.yml b/.github/workflows/command_dispatch.yml deleted file mode 100644 index 123a5108b..000000000 --- a/.github/workflows/command_dispatch.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Command Dispatch for testing -on: - issue_comment: - types: - - created - - edited -jobs: - command-dispatch-for-testing: - runs-on: ubuntu-latest - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Run Build - uses: peter-evans/slash-command-dispatch@v2 - with: - commands: run-example-tests - issue-type: pull-request - permission: write - reaction-token: ${{ secrets.GITHUB_TOKEN }} - repository: pulumi/examples - token: ${{ secrets.EVENT_PAT }} diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml deleted file mode 100644 index 785b21f29..000000000 --- a/.github/workflows/cron.yml +++ /dev/null @@ -1,641 +0,0 @@ -name: Run Examples Cron Job -on: - schedule: - - cron: 0 9 * * * - repository_dispatch: - types: - - trigger-cron - workflow_dispatch: {} -env: - ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} - ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} - ARM_ENVIRONMENT: public - ARM_LOCATION: westus - ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }} - ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }} - AWS_ACCESS_KEY_ID: " ${{ secrets.AWS_ACCESS_KEY_ID }}" - AWS_REGION: us-west-2 - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - CLOUDSDK_CORE_DISABLE_PROMPTS: 1 - DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }} - GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com - GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci - GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci - GOOGLE_PROJECT: pulumi-ci-gcp-provider - GOOGLE_PROJECT_NUMBER: "895284651812" - GOOGLE_REGION: us-central1 - GOOGLE_ZONE: us-central1-a - PACKET_AUTH_TOKEN: ${{ secrets.PACKET_AUTH_TOKEN }} - PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} - PULUMI_API: https://api.pulumi-staging.io - PULUMI_ENABLE_RESOURCE_REFERENCES: "1" - PULUMI_TEST_OWNER: moolumi - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} -jobs: - dotnet-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: dotnet test - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - platform: - - ubuntu-latest - source-dir: - - testing-unit-cs - - testing-unit-cs-mocks - - testing-unit-fs-mocks - go-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: go test - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - goversion: - - 1.21.x - platform: - - ubuntu-latest - source-dir: - - testing-unit-go - kubernetes: - name: kubernetes - needs: test-infra-setup - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Install Go Dependencies - run: make ensure - - name: Setup Config - run: >- - mkdir -p "$HOME/.kube/" - - pulumi stack -s "${{ github.sha }}-${{ github.run_number }}" -C misc/scripts/testinfra/ output --show-secrets kubeconfig >~/.kube/config - - name: Install gotestfmt - uses: GoTestTools/gotestfmt-action@v2 - with: - version: v2.5.0 - token: ${{ secrets.GITHUB_TOKEN }} - - name: Run ${{ matrix.tests-set }} Tests - run: make specific_test_set TestSet=Kubernetes - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - linting: - name: lint - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Install Yarn - run: curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version ${{ - matrix.yarn-version }} - - name: Update PATH for Yarn - run: |- - echo "$HOME/.yarn/bin" >> $GITHUB_PATH - echo "$HOME/.config/yarn/global/node_modules/.bin" >> $GITHUB_PATH - - name: Setup linting tool - run: make install - - name: Lint typescript files - run: make lint - strategy: - fail-fast: false - matrix: - nodeversion: - - 18.x - platform: - - ubuntu-latest - yarn-version: - - 1.13.0 - providers: - name: providers - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Install Testing Dependencies - run: make ensure - - name: Install gotestfmt - uses: GoTestTools/gotestfmt-action@v2 - with: - version: v2.5.0 - token: ${{ secrets.GITHUB_TOKEN }} - - name: Running ${{ matrix.clouds }}${{ matrix.languages }} Tests - run: make specific_test_set TestSet=${{ matrix.clouds }}${{ matrix.languages }} - strategy: - fail-fast: false - matrix: - clouds: - - DigitalOcean - - Aws - - Azure - - Gcp - - Packet - - EquinixMetal - - Cloud - dotnetversion: - - 6.0.114 - examples-test-matrix: - - default - goversion: - - 1.21.x - languages: - - Cs - - Js - - Ts - - Py - - Fs - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - python-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: |- - python3 -m venv venv - source venv/bin/activate - pip3 install -r requirements.txt - python -m unittest - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - platform: - - ubuntu-latest - pythonversion: - - 3.9 - source-dir: - - testing-unit-py - test-infra-destroy: - name: test-infra-destroy - needs: kubernetes - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Destroy test infra - run: make destroy_test_infra StackName="${{ github.sha }}-${{ github.run_number }}" - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - test-infra-setup: - name: test-infra-setup - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Create Test Infrastructure - run: make setup_test_infra StackName="${{ github.sha }}-${{ github.run_number }}" - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - ts-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v4 - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: |- - npm install - npx mocha -r ts-node/register ec2tests.ts - npx mocha -r ts-node/register bucket_pair_test.ts - working-directory: ${{ matrix.source-dir }}/mocha - strategy: - fail-fast: false - matrix: - nodeversion: - - 20.x - platform: - - ubuntu-latest - source-dir: - - testing-unit-ts diff --git a/.github/workflows/run-tests-command.yml b/.github/workflows/run-tests-command.yml deleted file mode 100644 index 7b8a64d66..000000000 --- a/.github/workflows/run-tests-command.yml +++ /dev/null @@ -1,696 +0,0 @@ -name: Run Examples Tests From PR -on: - pull_request: - branches: - - master - repository_dispatch: - types: - - run-example-tests-command -env: - ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} - ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} - ARM_ENVIRONMENT: public - ARM_LOCATION: westus - ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }} - ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }} - AWS_ACCESS_KEY_ID: " ${{ secrets.AWS_ACCESS_KEY_ID }}" - AWS_REGION: us-west-2 - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - CLOUDSDK_CORE_DISABLE_PROMPTS: 1 - DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }} - GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com - GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci - GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci - GOOGLE_PROJECT: pulumi-ci-gcp-provider - GOOGLE_PROJECT_NUMBER: "895284651812" - GOOGLE_REGION: us-central1 - GOOGLE_ZONE: us-central1-a - PACKET_AUTH_TOKEN: ${{ secrets.PACKET_AUTH_TOKEN }} - PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }} - PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} - PULUMI_API: https://api.pulumi-staging.io - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} -jobs: - comment-notification: - if: github.event_name == 'repository_dispatch' - name: comment-notification - runs-on: pulumi-ubuntu-8core - steps: - - id: vars - name: Create URL to the run output - run: echo ::set-output - name=run-url::https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID - - name: Update with Result - uses: peter-evans/create-or-update-comment@v4 - with: - body: |- - Please view the results of the PR Build [Here][1] - - [1]: ${{ steps.vars.outputs.run-url }} - issue-number: ${{ github.event.client_payload.github.payload.issue.number }} - repository: ${{ github.event.client_payload.github.payload.repository.full_name }} - token: ${{ secrets.GITHUB_TOKEN }} - dotnet-unit-testing: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: dotnet test - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - platform: - - pulumi-ubuntu-8core - source-dir: - - testing-unit-cs - - testing-unit-cs-mocks - - testing-unit-fs-mocks - go-unit-testing: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: ${{matrix.goversion}} - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: go test - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - goversion: - - 1.21.x - platform: - - pulumi-ubuntu-8core - source-dir: - - testing-unit-go - kubernetes: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - name: kubernetes - needs: test-infra-setup - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v2 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v2 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Install Go Dependencies - run: make ensure - - name: Install gotestfmt - uses: GoTestTools/gotestfmt-action@v2 - with: - version: v2.5.0 - token: ${{ secrets.GITHUB_TOKEN }} - - name: Setup Config - run: >- - mkdir -p "$HOME/.kube/" - - pulumi stack -s "${{ github.sha }}-${{ github.run_number }}" -C misc/scripts/testinfra/ output --show-secrets kubeconfig >~/.kube/config - - name: Run ${{ matrix.tests-set }} Tests - run: make specific_test_set TestSet=Kubernetes - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - pulumi-ubuntu-8core - pythonversion: - - 3.9 - linting: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - name: lint - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v4 - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Install Yarn - run: curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version ${{ - matrix.yarn-version }} - - name: Update PATH for Yarn - run: |- - echo "$HOME/.yarn/bin" >> $GITHUB_PATH - echo "$HOME/.config/yarn/global/node_modules/.bin" >> $GITHUB_PATH - - name: Setup linting tool - run: make install - - name: Lint typescript files - run: make lint - strategy: - fail-fast: false - matrix: - nodeversion: - - 18.x - platform: - - pulumi-ubuntu-8core - yarn-version: - - 1.13.0 - providers: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - name: run-provider-tests - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v2 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v2 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Install Testing Dependencies - run: make ensure - - name: Install gotestfmt - uses: GoTestTools/gotestfmt-action@v2 - with: - version: v2.5.0 - token: ${{ secrets.GITHUB_TOKEN }} - - name: Running ${{ matrix.clouds }}${{ matrix.languages }} Tests - run: make specific_test_set TestSet=${{ matrix.clouds }}${{ matrix.languages }} - strategy: - fail-fast: false - matrix: - clouds: - - DigitalOcean - - Aws - - Azure - - Gcp - - Packet - - EquinixMetal - - Cloud - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - languages: - - Cs - - Js - - Ts - - Py - - Fs - nodeversion: - - 18.x - platform: - - pulumi-ubuntu-8core - pythonversion: - - 3.9 - python-unit-testing: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: |- - python3 -m venv venv - source venv/bin/activate - pip3 install -r requirements.txt - python -m unittest - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - platform: - - pulumi-ubuntu-8core - pythonversion: - - 3.9 - source-dir: - - testing-unit-py - status-checks: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name - name: Final Status Check - needs: - - dotnet-unit-testing - - go-unit-testing - - python-unit-testing - - ts-unit-testing - - kubernetes - - linting - - providers - runs-on: pulumi-ubuntu-8core - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - run: echo "Ready for merge" - test-infra-destroy: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - name: test-infra-destroy - needs: kubernetes - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v2 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v2 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Destroy test infra - run: make destroy_test_infra StackName="${{ github.sha }}-${{ github.run_number }}" - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - pulumi-ubuntu-8core - pythonversion: - - 3.9 - test-infra-setup: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - name: test-infra-setup - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v2 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v2 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Create Test Infrastructure - run: make setup_test_infra StackName="${{ github.sha }}-${{ github.run_number }}" - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - pulumi-ubuntu-8core - pythonversion: - - 3.9 - ts-unit-testing: - if: github.event_name == 'repository_dispatch' || - github.event.pull_request.head.repo.full_name == github.repository - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v4 - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: |- - npm install - npx mocha -r ts-node/register ec2tests.ts - npx mocha -r ts-node/register bucket_pair_test.ts - working-directory: ${{ matrix.source-dir }}/mocha - strategy: - fail-fast: false - matrix: - nodeversion: - - 20.x - platform: - - pulumi-ubuntu-8core - source-dir: - - testing-unit-ts diff --git a/.github/workflows/smoke-test-cli-command.yml b/.github/workflows/smoke-test-cli-command.yml deleted file mode 100644 index 58f52b50b..000000000 --- a/.github/workflows/smoke-test-cli-command.yml +++ /dev/null @@ -1,601 +0,0 @@ -name: Smoke Test Specific Version of CLI -on: - repository_dispatch: - types: - - smoke-test-cli -env: - ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} - ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} - ARM_ENVIRONMENT: public - ARM_LOCATION: westus - ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }} - ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }} - AWS_ACCESS_KEY_ID: " ${{ secrets.AWS_ACCESS_KEY_ID }}" - AWS_REGION: us-west-2 - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - CLOUDSDK_CORE_DISABLE_PROMPTS: 1 - DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }} - GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com - GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci - GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci - GOOGLE_PROJECT: pulumi-ci-gcp-provider - GOOGLE_PROJECT_NUMBER: "895284651812" - GOOGLE_REGION: us-central1 - GOOGLE_ZONE: us-central1-a - PACKET_AUTH_TOKEN: ${{ secrets.PACKET_AUTH_TOKEN }} - PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} - PULUMI_API: https://api.pulumi-staging.io - PULUMI_VERSION: ${{ github.event.client_payload.ref }} - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} -jobs: - dotnet-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: dotnet test - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - platform: - - ubuntu-latest - source-dir: - - testing-unit-cs - - testing-unit-cs-mocks - - testing-unit-fs-mocks - go-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: go test - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - goversion: - - 1.21.x - platform: - - ubuntu-latest - source-dir: - - testing-unit-go - kubernetes: - name: smoke-test-cli-on-kubernetes - needs: test-infra-setup - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - with: - pulumi-version: ${{ env.PULUMI_VERSION != '' && format('v{0}', env.PULUMI_VERSION) || null }} - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Install Go Dependencies - run: make ensure - - name: Setup Config - run: >- - mkdir -p "$HOME/.kube/" - - pulumi stack -s "${{ github.sha }}-${{ github.run_number }}" -C misc/scripts/testinfra/ output --show-secrets kubeconfig >~/.kube/config - - name: Run ${{ matrix.tests-set }} Tests - run: make specific_test_set TestSet=Kubernetes - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - providers: - name: smoke-test-cli-on-providers - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - with: - pulumi-version: ${{ env.PULUMI_VERSION != '' && format('v{0}', env.PULUMI_VERSION) || null }} - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Install Testing Dependencies - run: make ensure - - name: Running ${{ matrix.clouds }}${{ matrix.languages }} Tests - run: make specific_test_set TestSet=${{ matrix.clouds }}${{ matrix.languages }} - strategy: - fail-fast: false - matrix: - clouds: - - DigitalOcean - - Aws - - Azure - - Gcp - - Packet - - EquinixMetal - - Cloud - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - languages: - - Cs - - Js - - Ts - - Py - - Fs - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - python-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: |- - python3 -m venv venv - source venv/bin/activate - pip3 install -r requirements.txt - python -m unittest - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - platform: - - ubuntu-latest - pythonversion: - - 3.9 - source-dir: - - testing-unit-py - test-infra-destroy: - name: test-infra-destroy - needs: kubernetes - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Destroy test infra - run: make destroy_test_infra StackName="${{ github.sha }}-${{ github.run_number }}" - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - test-infra-setup: - name: test-infra-setup - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Create Test Infrastructure - run: make setup_test_infra StackName="${{ github.sha }}-${{ github.run_number }}" - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - ts-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v4 - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: |- - npm install - npx mocha -r ts-node/register ec2tests.ts - npx mocha -r ts-node/register bucket_pair_test.ts - working-directory: ${{ matrix.source-dir }}/mocha - strategy: - fail-fast: false - matrix: - nodeversion: - - 20.x - platform: - - ubuntu-latest - source-dir: - - testing-unit-ts diff --git a/.github/workflows/smoke-test-provider-command.yml b/.github/workflows/smoke-test-provider-command.yml deleted file mode 100644 index 60ecc0331..000000000 --- a/.github/workflows/smoke-test-provider-command.yml +++ /dev/null @@ -1,594 +0,0 @@ -name: Smoke Test Latest Provider Release -on: - repository_dispatch: - types: - - smoke-test-provider -env: - ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} - ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} - ARM_ENVIRONMENT: public - ARM_LOCATION: westus - ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }} - ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }} - AWS_ACCESS_KEY_ID: " ${{ secrets.AWS_ACCESS_KEY_ID }}" - AWS_REGION: us-west-2 - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - CLOUDSDK_CORE_DISABLE_PROMPTS: 1 - DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }} - GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com - GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci - GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci - GOOGLE_PROJECT: pulumi-ci-gcp-provider - GOOGLE_PROJECT_NUMBER: "895284651812" - GOOGLE_REGION: us-central1 - GOOGLE_ZONE: us-central1-a - PACKET_AUTH_TOKEN: ${{ secrets.PACKET_AUTH_TOKEN }} - PROVIDER_TESTS_TAG: ${{ github.event.client_payload.ref }} - PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} - PULUMI_API: https://api.pulumi-staging.io - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} -jobs: - dotnet-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: dotnet test - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - platform: - - ubuntu-latest - source-dir: - - testing-unit-cs - - testing-unit-cs-mocks - - testing-unit-fs-mocks - go-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: go test - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - goversion: - - 1.21.x - platform: - - ubuntu-latest - source-dir: - - testing-unit-go - kubernetes: - name: smoke-test-kubernetes-provider - needs: test-infra-setup - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - with: - pulumi-version: ${{ env.PULUMI_VERSION != '' && format('v{0}', env.PULUMI_VERSION) || null }} - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Install Go Dependencies - run: make ensure - - name: Setup Config - run: >- - mkdir -p "$HOME/.kube/" - - pulumi stack -s "${{ github.sha }}-${{ github.run_number }}" -C misc/scripts/testinfra/ output --show-secrets kubeconfig >~/.kube/config - - name: Run Kubernetes Smoke Tests - run: make specific_tag_set TagSet=Kubernetes - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - providers: - name: smoke-test-providers - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - with: - pulumi-version: ${{ env.PULUMI_VERSION != '' && format('v{0}', env.PULUMI_VERSION) || null }} - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Install Testing Dependencies - run: make ensure - - name: Running ${{ env.PROVIDER_TESTS_TAG }}${{ matrix.languages }} Smoke Tests - run: make specific_tag_set TestSet=${{ matrix.languages }} TagSet=${{ - env.PROVIDER_TESTS_TAG }} - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - languages: - - Cs - - Js - - Ts - - Py - - Fs - nodeversion: - - 168x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - python-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: |- - python3 -m venv venv - source venv/bin/activate - pip3 install -r requirements.txt - python -m unittest - working-directory: ${{ matrix.source-dir }} - strategy: - fail-fast: false - matrix: - platform: - - ubuntu-latest - pythonversion: - - 3.9 - source-dir: - - testing-unit-py - test-infra-destroy: - name: test-infra-destroy - needs: kubernetes - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Destroy test infra - run: make destroy_test_infra StackName="${{ github.sha }}-${{ github.run_number }}" - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - test-infra-setup: - name: test-infra-setup - permissions: - contents: read - id-token: write - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Setup DotNet - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{matrix.dotnetversion}} - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: ${{matrix.pythonversion}} - - name: Install Python deps - run: |- - pip3 install virtualenv==20.0.23 - pip3 install pipenv - - name: Install Go - uses: actions/setup-go@v2 - with: - go-version: ${{matrix.goversion}} - - name: Install aws-iam-authenticator - run: >- - curl -o aws-iam-authenticator - https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator - - chmod +x ./aws-iam-authenticator - - sudo mv aws-iam-authenticator /usr/local/bin - - name: Install Kubectl - run: >- - curl -LO - https://storage.googleapis.com/kubernetes-release/release/$(curl -s - https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - - chmod +x ./kubectl - - sudo mv kubectl /usr/local/bin - - name: Install + Configure Helm - run: >- - curl -o- -L - https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | - bash - - helm init -c - - helm repo add bitnami https://charts.bitnami.com/bitnami - - name: Authenticate to Google Cloud - uses: google-github-actions/auth@v0 - with: - service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} - workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER - }}/locations/global/workloadIdentityPools/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ - env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} - - name: Setup gcloud auth - uses: google-github-actions/setup-gcloud@v0 - with: - install_components: gke-gcloud-auth-plugin - - name: Login to Google Cloud Registry - run: gcloud --quiet auth configure-docker - - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-region: ${{ env.AWS_REGION }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - role-duration-seconds: 7200 - role-session-name: examples@githubActions - role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} - - name: Checkout Scripts Repo - uses: actions/checkout@v3 - with: - path: ci-scripts - repository: pulumi/scripts - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - name: Create Test Infrastructure - run: make setup_test_infra StackName="${{ github.sha }}-${{ github.run_number }}" - strategy: - fail-fast: false - matrix: - dotnetversion: - - 6.0.114 - goversion: - - 1.21.x - nodeversion: - - 18.x - platform: - - ubuntu-latest - pythonversion: - - 3.9 - ts-unit-testing: - name: Running ${{ matrix.source-dir }} test - runs-on: ${{ matrix.platform }} - steps: - - name: Checkout Repo - uses: actions/checkout@v4 - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{matrix.nodeversion}} - registry-url: https://registry.npmjs.org - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: dev - - name: Print CLI version - run: echo "Currently Pulumi $(pulumi version) is installed" - - run: |- - npm install - npx mocha -r ts-node/register ec2tests.ts - npx mocha -r ts-node/register bucket_pair_test.ts - working-directory: ${{ matrix.source-dir }}/mocha - strategy: - fail-fast: false - matrix: - nodeversion: - - 20.x - platform: - - ubuntu-latest - source-dir: - - testing-unit-ts