From b47ac59cc1986b8ab70524044b4aaec980c9e14c Mon Sep 17 00:00:00 2001 From: Christian Nunciato Date: Fri, 5 Jul 2024 09:44:07 -0700 Subject: [PATCH] Do some cleanup --- .github/actions/setup/action.yml | 181 +++++ .github/workflows/README.md | 4 - ...mand_dispatch.yml => command-dispatch.yml} | 4 +- .github/workflows/cron.yml | 641 ---------------- .github/workflows/pr.yml | 2 +- .github/workflows/run-tests-command.yml | 696 ------------------ .github/workflows/smoke-test-cli-command.yml | 601 --------------- .../workflows/smoke-test-provider-command.yml | 594 --------------- .github/workflows/test-examples.yml | 224 ++++++ Examples.sln | 189 ----- Makefile | 14 +- package.json | 5 - testing-unit-ts/mocha/package.json | 3 + 13 files changed, 416 insertions(+), 2742 deletions(-) create mode 100644 .github/actions/setup/action.yml delete mode 100644 .github/workflows/README.md rename .github/workflows/{command_dispatch.yml => command-dispatch.yml} (86%) delete mode 100644 .github/workflows/cron.yml delete mode 100644 .github/workflows/run-tests-command.yml delete mode 100644 .github/workflows/smoke-test-cli-command.yml delete mode 100644 .github/workflows/smoke-test-provider-command.yml create mode 100644 .github/workflows/test-examples.yml delete mode 100644 Examples.sln delete mode 100644 package.json diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 000000000..77590175c --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,181 @@ +name: Set up the environment +description: Sets up the current environment by installing tools and dependencies and authenticating with cloud providers. + +inputs: + aws-access-key-id: + required: true + + aws-secret-access-key: + required: true + + aws-role-to-assume: + required: true + + aws-region: + default: us-west-2 + + aws-role-duration-seconds: + default: 7200 + + aws-role-session-name: + default: examples@github-actions + + google-service-account-email: + default: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com + + google-project-name: + default: pulumi-ci-gcp-provider + + google-project-number: + default: 895284651812 + + google-workload-identity-pool: + default: pulumi-ci + + google-workload-identity-provider: + default: pulumi-ci + + google-region: + default: us-central1 + + google-zone: + default: us-central1-a + + github-token: + required: true + + node-version: + default: 18 + + python-version: + default: 3.8 + + go-version: + default: 1.21 + + dotnet-version: + default: 6 + + gotestfmt-version: + default: v2.5.0 + + pulumi-version: + default: dev + +outputs: + aws-access-key-id: + value: ${{ steps.aws-auth.outputs.aws-access-key-id }} + + aws-secret-access-key: + value: ${{ steps.aws-auth.outputs.aws-secret-access-key }} + + aws-session-token: + value: ${{ steps.aws-auth.outputs.aws-session-token }} + + aws-region: + value: ${{ inputs.aws-region }} + + google-project-name: + value: ${{ inputs.google-project-name }} + + google-region: + value: ${{ inputs.google-region }} + + google-zone: + value: ${{ inputs.google-zone}} + +runs: + using: composite + steps: + - name: Install .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{inputs.dotnet-version}} + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: ${{inputs.node-version}} + + - name: Install Python + uses: actions/setup-python@v5 + with: + python-version: ${{inputs.python-version}} + + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: ${{inputs.go-version}} + cache-dependency-path: "**/go.sum" + + - name: Install aws-iam-authenticator + run: | + curl https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator -o aws-iam-authenticator + chmod +x ./aws-iam-authenticator + sudo mv aws-iam-authenticator /usr/local/bin + shell: bash + + - 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 + shell: bash + + - name: Install and 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 + shell: bash + + - name: Install testing dependencies + run: make ensure + shell: bash + + - name: Install gotestfmt + uses: GoTestTools/gotestfmt-action@v2 + with: + version: ${{ inputs.gotestfmt-version }} + token: ${{ inputs.github-token }} + + - name: Install Pulumi + uses: pulumi/actions@v5 + with: + pulumi-version: ${{ inputs.pulumi-version }} + + - run: echo "Pulumi $(pulumi version) is installed" + shell: bash + + - name: Authenticate with AWS + id: aws-auth + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ inputs.aws-access-key-id }} + aws-secret-access-key: ${{ inputs.aws-secret-access-key }} + aws-region: ${{ inputs.aws-region }} + role-to-assume: ${{ inputs.aws-role-to-assume }} + role-duration-seconds: ${{ inputs.role-duration-seconds }} + role-session-name: ${{ inputs.role-session-name }} + unset-current-credentials: true + output-credentials: true + + - name: Authenticate with Google Cloud + uses: google-github-actions/auth@v2 + with: + service_account: ${{ inputs.google-service-account-email }} + workload_identity_provider: projects/${{ inputs.google-project-number }}/locations/global/workloadIdentityPools/${{ inputs.google-workload-identity-pool }}/providers/${{ inputs.google-workload-identity-provider }} + + - name: Install gcloud auth + uses: google-github-actions/setup-gcloud@v2 + with: + install_components: gke-gcloud-auth-plugin + + - name: Configure gcloud CLI + run: | + gcloud config set disable_prompts true + shell: bash + + - name: Authenticate with Google Cloud Registry + run: gcloud --quiet auth configure-docker + shell: bash 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 similarity index 86% rename from .github/workflows/command_dispatch.yml rename to .github/workflows/command-dispatch.yml index 123a5108b..96463702c 100644 --- a/.github/workflows/command_dispatch.yml +++ b/.github/workflows/command-dispatch.yml @@ -1,4 +1,4 @@ -name: Command Dispatch for testing +name: Command dispatch for testing on: issue_comment: types: @@ -13,7 +13,7 @@ jobs: - name: Run Build uses: peter-evans/slash-command-dispatch@v2 with: - commands: run-example-tests + commands: run-tests issue-type: pull-request permission: write reaction-token: ${{ secrets.GITHUB_TOKEN }} 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/pr.yml b/.github/workflows/pr.yml index f048f9bed..4341e17fd 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -1,4 +1,4 @@ -name: New Pull request Open +name: New pull request on: pull_request_target: {} jobs: 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 diff --git a/.github/workflows/test-examples.yml b/.github/workflows/test-examples.yml new file mode 100644 index 000000000..eca810f92 --- /dev/null +++ b/.github/workflows/test-examples.yml @@ -0,0 +1,224 @@ +name: Test examples +on: + pull_request: + branches: + - master + schedule: + - cron: 0 9 * * * + repository_dispatch: + types: + - run-tests-command + workflow_dispatch: {} + +jobs: + lint-ts: + runs-on: pulumi-ubuntu-8core + permissions: + id-token: write + contents: read + steps: + - uses: actions/checkout@v4 + + - name: Set up the environment + uses: ./.github/actions/setup + id: setup + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Lint + run: | + tslint -c tslint.json **/*.ts + + unit-ts: + runs-on: pulumi-ubuntu-8core + permissions: + id-token: write + contents: read + steps: + - uses: actions/checkout@v4 + + - name: Set up the environment + uses: ./.github/actions/setup + id: setup + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Run unit tests + run: | + npm install + npm test + working-directory: testing-unit-ts/mocha + + unit-py: + runs-on: pulumi-ubuntu-8core + permissions: + id-token: write + contents: read + steps: + - uses: actions/checkout@v4 + + - name: Set up the environment + uses: ./.github/actions/setup + id: setup + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Run unit tests + run: | + pip install -r requirements.txt + python -m pytest + working-directory: testing-unit-py + + unit-go: + runs-on: pulumi-ubuntu-8core + permissions: + id-token: write + contents: read + steps: + - uses: actions/checkout@v4 + + - name: Set up the environment + uses: ./.github/actions/setup + id: setup + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Run unit tests + run: go test + working-directory: testing-unit-go + + unit-dotnet: + runs-on: pulumi-ubuntu-8core + permissions: + id-token: write + contents: read + steps: + - uses: actions/checkout@v4 + + - name: Set up the environment + uses: ./.github/actions/setup + id: setup + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Run unit tests + run: | + dotnet test + working-directory: ${{ matrix.source-dir }} + + strategy: + fail-fast: false + matrix: + source-dir: + - testing-unit-cs + - testing-unit-cs-mocks + - testing-unit-fs-mocks + + providers: + runs-on: pulumi-ubuntu-8core + permissions: + id-token: write + contents: read + + steps: + - uses: actions/checkout@v4 + + - name: Set up the environment + uses: ./.github/actions/setup + id: setup + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Run ${{ matrix.clouds }}${{ matrix.languages }} Tests + run: make specific_test_set TestSet=${{ matrix.clouds }}${{ matrix.languages }} + env: + AWS_ACCESS_KEY_ID: ${{ steps.setup.outputs.aws-access-key-id }} + AWS_SECRET_ACCESS_KEY: ${{ steps.setup.outputs.aws-secret-access-key }} + AWS_SESSION_TOKEN: ${{ steps.setup.outputs.aws-session-token }} + AWS_REGION: ${{ steps.setup.outputs.aws-region }} + 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 }} + GOOGLE_PROJECT: ${{ steps.setup.outputs.google-project-name }} + GOOGLE_REGION: ${{ steps.setup.outputs.google-region }} + GOOGLE_ZONE: ${{ steps.setup.outputs.google-zone }} + DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }} + PACKET_AUTH_TOKEN: ${{ secrets.PACKET_AUTH_TOKEN }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + + strategy: + fail-fast: false + matrix: + platform: + - pulumi-ubuntu-8core + clouds: + - DigitalOcean + - Aws + - Azure + - Gcp + - Packet + - EquinixMetal + - Cloud + languages: + - Cs + - Js + - Ts + - Py + - Fs + + kubernetes: + runs-on: pulumi-ubuntu-8core + permissions: + id-token: write + contents: read + + steps: + - uses: actions/checkout@v4 + + - name: Set up the environment + uses: ./.github/actions/setup + id: setup + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Run tests + run: | + make setup_test_infra StackName="${{ env.INFRA_STACK_NAME }}" + mkdir -p "$HOME/.kube/" + pulumi stack -s "${{ env.INFRA_STACK_NAME }}" -C misc/scripts/testinfra/ output --show-secrets kubeconfig >~/.kube/config + make specific_test_set TestSet=Kubernetes + make destroy_test_infra StackName="${{ env.INFRA_STACK_NAME }}" + env: + AWS_ACCESS_KEY_ID: ${{ steps.setup.outputs.aws-access-key-id }} + AWS_SECRET_ACCESS_KEY: ${{ steps.setup.outputs.aws-secret-access-key }} + AWS_SESSION_TOKEN: ${{ steps.setup.outputs.aws-session-token }} + AWS_REGION: ${{ steps.setup.outputs.aws-region }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + INFRA_STACK_NAME: ${{ github.sha }}-${{ github.run_number }} diff --git a/Examples.sln b/Examples.sln deleted file mode 100644 index 72dcb2028..000000000 --- a/Examples.sln +++ /dev/null @@ -1,189 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29411.138 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.WebServer", "classic-azure-cs-webserver\Azure.WebServer.csproj", "{0BE49450-B90C-4CC5-BEA5-4D5A74C7C7DE}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.AppService", "azure-cs-appservice\Azure.AppService.csproj", "{80AAC51F-54AE-4344-99D0-E2F2B6A959E8}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.CosmosAppComponent", "classic-azure-cs-cosmosapp-component\Azure.CosmosAppComponent.csproj", "{FA754E4A-319E-4E9A-A3CC-2E35C94115A7}" -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Azure.AppService", "classic-azure-fs-appservice\Azure.AppService.fsproj", "{F420C993-DAE7-49DD-8D4D-C908C6842636}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.Aks", "azure-cs-aks\Azure.Aks.csproj", "{87A11F4D-063D-4374-9D22-156F04C767BE}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.KeyVault", "classic-azure-cs-msi-keyvault-rbac\Azure.KeyVault.csproj", "{79319396-C17A-4DBB-92B2-7291D39E0B70}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.Functions", "azure-cs-functions\Azure.Functions.csproj", "{8C01B8EF-B770-4817-98F2-F7FC6F2B2A74}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aws.WebServer", "aws-cs-webserver\Aws.WebServer.csproj", "{C0F20B39-07D0-4118-A48F-6D3911673424}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Gcp.Functions", "gcp-cs-functions\Gcp.Functions.csproj", "{EAA745CE-CB4E-4F33-B373-051DE1C154B3}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.BotService", "classic-azure-cs-botservice\Azure.BotService.csproj", "{BF0F5532-EDDE-4AD4-8FA2-2D11CDED65D3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Digitalocean.LoadbalancedDroplets", "digitalocean-cs-loadbalanced-droplets\Digitalocean.LoadbalancedDroplets.csproj", "{C21DF417-3E59-45D0-911F-772E3793E0A2}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Digitalocean.K8s", "digitalocean-cs-k8s\Digitalocean.K8s.csproj", "{CA1DB6A6-4B5D-41D7-AED6-43C096F5C7F4}" -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Azure.Aci", "classic-azure-fs-aci\Azure.Aci.fsproj", "{9F646ECF-9CD3-4686-8C4C-FE6AAAD29FEC}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.StaticWebsite", "azure-cs-static-website\Azure.StaticWebsite.csproj", "{4DEEF787-D589-44C5-AAB1-570D2D920043}" -EndProject -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Azure.Aks", "classic-azure-fs-aks\Azure.Aks.fsproj", "{555DED90-15AE-4620-ACEE-B53EC237C62B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aws.Fargate", "aws-cs-fargate\Infra\Aws.Fargate.csproj", "{DCE03BA3-B0AA-4897-85D3-4EFEA7D1054C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aws.Lambda", "aws-cs-lambda\pulumi\Aws.Lambda.csproj", "{82239443-6891-4644-B924-CB37D4FB74A6}" -EndProject -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Aws.LambdaWebServer", "aws-fs-lambda-webserver\pulumi\Aws.LambdaWebServer.fsproj", "{0FBE36F0-3E75-40C9-A619-889EE104335D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gcp.Gke", "gcp-cs-gke\Gcp.Gke.csproj", "{06BFC462-090E-4BC9-B518-CC7BA3B767E1}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kubernetes.Guestbook", "kubernetes-cs-guestbook\simple\Kubernetes.Guestbook.csproj", "{D62CD873-8DCA-459C-A10D-4B022D82174E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kubernetes.Guestbook.Components", "kubernetes-cs-guestbook\components\Kubernetes.Guestbook.Components.csproj", "{8836BAE0-2093-44F0-89E2-3F233CB72CCC}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "testing-unit-cs\UnitTesting.csproj", "{7A9FC7DC-DC35-4033-B4FF-E9EFB3E6EBB8}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.CredentialRotation.OneSet", "azure-cs-credential-rotation-one-set\Azure.CredentialRotation.OneSet.csproj", "{34988495-6782-4AE3-9224-DE26A8FA1C61}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.Aci", "azure-cs-aci\Azure.Aci.csproj", "{2A1D8162-FEB3-44DA-B8AD-BEA9E8C04B65}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.AppService.Docker", "azure-cs-appservice-docker\Azure.AppService.Docker.csproj", "{ACF69586-B1BF-4659-B084-CF57CDD70A68}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.Dotnet5", "azure-cs-net5-aks-webapp\Azure.Dotnet5.csproj", "{515727EA-8AE7-40CC-90CC-7FB209CC16B2}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.Synapse", "azure-cs-synapse\Azure.Synapse.csproj", "{587D3AE3-0DF4-40AC-8452-3ABA8EF1DDCB}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {0BE49450-B90C-4CC5-BEA5-4D5A74C7C7DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0BE49450-B90C-4CC5-BEA5-4D5A74C7C7DE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0BE49450-B90C-4CC5-BEA5-4D5A74C7C7DE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0BE49450-B90C-4CC5-BEA5-4D5A74C7C7DE}.Release|Any CPU.Build.0 = Release|Any CPU - {80AAC51F-54AE-4344-99D0-E2F2B6A959E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {80AAC51F-54AE-4344-99D0-E2F2B6A959E8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {80AAC51F-54AE-4344-99D0-E2F2B6A959E8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {80AAC51F-54AE-4344-99D0-E2F2B6A959E8}.Release|Any CPU.Build.0 = Release|Any CPU - {FA754E4A-319E-4E9A-A3CC-2E35C94115A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FA754E4A-319E-4E9A-A3CC-2E35C94115A7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FA754E4A-319E-4E9A-A3CC-2E35C94115A7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FA754E4A-319E-4E9A-A3CC-2E35C94115A7}.Release|Any CPU.Build.0 = Release|Any CPU - {F420C993-DAE7-49DD-8D4D-C908C6842636}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F420C993-DAE7-49DD-8D4D-C908C6842636}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F420C993-DAE7-49DD-8D4D-C908C6842636}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F420C993-DAE7-49DD-8D4D-C908C6842636}.Release|Any CPU.Build.0 = Release|Any CPU - {87A11F4D-063D-4374-9D22-156F04C767BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {87A11F4D-063D-4374-9D22-156F04C767BE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {87A11F4D-063D-4374-9D22-156F04C767BE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {87A11F4D-063D-4374-9D22-156F04C767BE}.Release|Any CPU.Build.0 = Release|Any CPU - {79319396-C17A-4DBB-92B2-7291D39E0B70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {79319396-C17A-4DBB-92B2-7291D39E0B70}.Debug|Any CPU.Build.0 = Debug|Any CPU - {79319396-C17A-4DBB-92B2-7291D39E0B70}.Release|Any CPU.ActiveCfg = Release|Any CPU - {79319396-C17A-4DBB-92B2-7291D39E0B70}.Release|Any CPU.Build.0 = Release|Any CPU - {8C01B8EF-B770-4817-98F2-F7FC6F2B2A74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8C01B8EF-B770-4817-98F2-F7FC6F2B2A74}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8C01B8EF-B770-4817-98F2-F7FC6F2B2A74}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8C01B8EF-B770-4817-98F2-F7FC6F2B2A74}.Release|Any CPU.Build.0 = Release|Any CPU - {C0F20B39-07D0-4118-A48F-6D3911673424}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C0F20B39-07D0-4118-A48F-6D3911673424}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C0F20B39-07D0-4118-A48F-6D3911673424}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C0F20B39-07D0-4118-A48F-6D3911673424}.Release|Any CPU.Build.0 = Release|Any CPU - {EAA745CE-CB4E-4F33-B373-051DE1C154B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EAA745CE-CB4E-4F33-B373-051DE1C154B3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EAA745CE-CB4E-4F33-B373-051DE1C154B3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EAA745CE-CB4E-4F33-B373-051DE1C154B3}.Release|Any CPU.Build.0 = Release|Any CPU - {BF0F5532-EDDE-4AD4-8FA2-2D11CDED65D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BF0F5532-EDDE-4AD4-8FA2-2D11CDED65D3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BF0F5532-EDDE-4AD4-8FA2-2D11CDED65D3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BF0F5532-EDDE-4AD4-8FA2-2D11CDED65D3}.Release|Any CPU.Build.0 = Release|Any CPU - {C21DF417-3E59-45D0-911F-772E3793E0A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C21DF417-3E59-45D0-911F-772E3793E0A2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C21DF417-3E59-45D0-911F-772E3793E0A2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C21DF417-3E59-45D0-911F-772E3793E0A2}.Release|Any CPU.Build.0 = Release|Any CPU - {CA1DB6A6-4B5D-41D7-AED6-43C096F5C7F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CA1DB6A6-4B5D-41D7-AED6-43C096F5C7F4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CA1DB6A6-4B5D-41D7-AED6-43C096F5C7F4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CA1DB6A6-4B5D-41D7-AED6-43C096F5C7F4}.Release|Any CPU.Build.0 = Release|Any CPU - {9F646ECF-9CD3-4686-8C4C-FE6AAAD29FEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9F646ECF-9CD3-4686-8C4C-FE6AAAD29FEC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9F646ECF-9CD3-4686-8C4C-FE6AAAD29FEC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9F646ECF-9CD3-4686-8C4C-FE6AAAD29FEC}.Release|Any CPU.Build.0 = Release|Any CPU - {23099098-BEE1-4199-B1AB-8864DE7276DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {23099098-BEE1-4199-B1AB-8864DE7276DA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {23099098-BEE1-4199-B1AB-8864DE7276DA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {23099098-BEE1-4199-B1AB-8864DE7276DA}.Release|Any CPU.Build.0 = Release|Any CPU - {4DEEF787-D589-44C5-AAB1-570D2D920043}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4DEEF787-D589-44C5-AAB1-570D2D920043}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4DEEF787-D589-44C5-AAB1-570D2D920043}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4DEEF787-D589-44C5-AAB1-570D2D920043}.Release|Any CPU.Build.0 = Release|Any CPU - {555DED90-15AE-4620-ACEE-B53EC237C62B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {555DED90-15AE-4620-ACEE-B53EC237C62B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {555DED90-15AE-4620-ACEE-B53EC237C62B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {555DED90-15AE-4620-ACEE-B53EC237C62B}.Release|Any CPU.Build.0 = Release|Any CPU - {DCE03BA3-B0AA-4897-85D3-4EFEA7D1054C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DCE03BA3-B0AA-4897-85D3-4EFEA7D1054C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DCE03BA3-B0AA-4897-85D3-4EFEA7D1054C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DCE03BA3-B0AA-4897-85D3-4EFEA7D1054C}.Release|Any CPU.Build.0 = Release|Any CPU - {82239443-6891-4644-B924-CB37D4FB74A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {82239443-6891-4644-B924-CB37D4FB74A6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {82239443-6891-4644-B924-CB37D4FB74A6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {82239443-6891-4644-B924-CB37D4FB74A6}.Release|Any CPU.Build.0 = Release|Any CPU - {0FBE36F0-3E75-40C9-A619-889EE104335D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0FBE36F0-3E75-40C9-A619-889EE104335D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0FBE36F0-3E75-40C9-A619-889EE104335D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0FBE36F0-3E75-40C9-A619-889EE104335D}.Release|Any CPU.Build.0 = Release|Any CPU - {06BFC462-090E-4BC9-B518-CC7BA3B767E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {06BFC462-090E-4BC9-B518-CC7BA3B767E1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {06BFC462-090E-4BC9-B518-CC7BA3B767E1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {06BFC462-090E-4BC9-B518-CC7BA3B767E1}.Release|Any CPU.Build.0 = Release|Any CPU - {D62CD873-8DCA-459C-A10D-4B022D82174E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D62CD873-8DCA-459C-A10D-4B022D82174E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D62CD873-8DCA-459C-A10D-4B022D82174E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D62CD873-8DCA-459C-A10D-4B022D82174E}.Release|Any CPU.Build.0 = Release|Any CPU - {8836BAE0-2093-44F0-89E2-3F233CB72CCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8836BAE0-2093-44F0-89E2-3F233CB72CCC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8836BAE0-2093-44F0-89E2-3F233CB72CCC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8836BAE0-2093-44F0-89E2-3F233CB72CCC}.Release|Any CPU.Build.0 = Release|Any CPU - {7A9FC7DC-DC35-4033-B4FF-E9EFB3E6EBB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7A9FC7DC-DC35-4033-B4FF-E9EFB3E6EBB8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7A9FC7DC-DC35-4033-B4FF-E9EFB3E6EBB8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7A9FC7DC-DC35-4033-B4FF-E9EFB3E6EBB8}.Release|Any CPU.Build.0 = Release|Any CPU - {B3739A06-5343-4990-A48B-E5BEFAC5678A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B3739A06-5343-4990-A48B-E5BEFAC5678A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B3739A06-5343-4990-A48B-E5BEFAC5678A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B3739A06-5343-4990-A48B-E5BEFAC5678A}.Release|Any CPU.Build.0 = Release|Any CPU - {34988495-6782-4AE3-9224-DE26A8FA1C61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {34988495-6782-4AE3-9224-DE26A8FA1C61}.Debug|Any CPU.Build.0 = Debug|Any CPU - {34988495-6782-4AE3-9224-DE26A8FA1C61}.Release|Any CPU.ActiveCfg = Release|Any CPU - {34988495-6782-4AE3-9224-DE26A8FA1C61}.Release|Any CPU.Build.0 = Release|Any CPU - {2A1D8162-FEB3-44DA-B8AD-BEA9E8C04B65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2A1D8162-FEB3-44DA-B8AD-BEA9E8C04B65}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2A1D8162-FEB3-44DA-B8AD-BEA9E8C04B65}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2A1D8162-FEB3-44DA-B8AD-BEA9E8C04B65}.Release|Any CPU.Build.0 = Release|Any CPU - {ACF69586-B1BF-4659-B084-CF57CDD70A68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ACF69586-B1BF-4659-B084-CF57CDD70A68}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ACF69586-B1BF-4659-B084-CF57CDD70A68}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ACF69586-B1BF-4659-B084-CF57CDD70A68}.Release|Any CPU.Build.0 = Release|Any CPU - {515727EA-8AE7-40CC-90CC-7FB209CC16B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {515727EA-8AE7-40CC-90CC-7FB209CC16B2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {515727EA-8AE7-40CC-90CC-7FB209CC16B2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {515727EA-8AE7-40CC-90CC-7FB209CC16B2}.Release|Any CPU.Build.0 = Release|Any CPU - {587D3AE3-0DF4-40AC-8452-3ABA8EF1DDCB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {587D3AE3-0DF4-40AC-8452-3ABA8EF1DDCB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {587D3AE3-0DF4-40AC-8452-3ABA8EF1DDCB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {587D3AE3-0DF4-40AC-8452-3ABA8EF1DDCB}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {CB1A5CC3-967F-4E67-B99F-E7BB80A3C2B5} - EndGlobalSection -EndGlobal diff --git a/Makefile b/Makefile index 1357fd3ea..9201c2616 100644 --- a/Makefile +++ b/Makefile @@ -1,26 +1,22 @@ .PHONY: ensure only_test all -all: install ensure lint only_test - -install: - yarn global add tslint typescript +all: ensure lint only_test ensure: cd misc/test && go mod tidy cd misc/test && go mod download - -lint: - tslint -c tslint.json **/*.ts + npm --prefix testing-unit-ts/mocha install + npm install --global tslint only_test: bash -c 'set -o pipefail && cd misc/test && go test -json ./... --timeout 4h -v -count=1 -short -parallel 40 --tags=all | gotestfmt' specific_test_set: - echo "running $(TestSet) Acceptance Tests" + echo "Running $(TestSet) acceptance tests" bash -c 'set -o pipefail && cd misc/test && go test -json . --timeout 4h -v -count=1 -short -parallel 40 --tags=all --run=TestAcc$(TestSet) | gotestfmt' specific_tag_set: - echo "running $(TagSet)$(TestSet) Acceptance Tests" + echo "Running $(TagSet)$(TestSet) acceptance tests" bash -c 'set -o pipefail && cd misc/test && go test -json . --timeout 4h -v -count=1 -short -parallel 40 --tags=$(TagSet) --run=TestAcc$(TagSet)$(TestSet) | gotestfmt' performance_test_set: diff --git a/package.json b/package.json deleted file mode 100644 index c2689df39..000000000 --- a/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "tslint": "^6.1.3" - } -} diff --git a/testing-unit-ts/mocha/package.json b/testing-unit-ts/mocha/package.json index 28ee80fd8..d64e5fe0c 100644 --- a/testing-unit-ts/mocha/package.json +++ b/testing-unit-ts/mocha/package.json @@ -10,5 +10,8 @@ "@pulumi/pulumi": "^3.119.0", "@types/mocha": "^10.0.6", "@types/node": "^13.1.8" + }, + "scripts": { + "test": "mocha -r ts-node/register ec2tests.ts bucket_pair_test.ts" } }