Update deps to aws v6 #529
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run Acceptance Tests from PR | |
on: | |
repository_dispatch: | |
types: [run-acceptance-tests-command] | |
pull_request: | |
branches: | |
- master | |
- feature/1.x | |
env: | |
ALT_AWS_ACCESS_KEY_ID: ${{ secrets.ALT_AWS_ACCESS_KEY_ID }} | |
ALT_AWS_SECRET_ACCESS_KEY: ${{ secrets.ALT_AWS_SECRET_ACCESS_KEY }} | |
ALT_AWS_PROFILE: ${{ secrets.ALT_AWS_PROFILE }} | |
AWS_REGION: us-west-2 | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
PROVIDER: eks | |
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} | |
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} | |
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} | |
PULUMI_API: https://api.pulumi-staging.io | |
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }} | |
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} | |
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} | |
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} | |
PULUMI_ENABLE_RESOURCE_REFERENCES: 1 | |
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget | |
GOVERSION: "1.19.x" | |
DOTNETVERSION: "6.x" | |
PYTHONVERSION: "3.8" | |
NODEVERSION: "18.x" | |
JAVAVERSION: "11" | |
jobs: | |
comment-notification: | |
if: github.event_name == 'repository_dispatch' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Create URL to the run output | |
id: vars | |
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@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
repository: ${{ github.event.client_payload.github.payload.repository.full_name }} | |
issue-number: ${{ github.event.client_payload.github.payload.issue.number }} | |
body: | | |
Please view the PR build - ${{ steps.vars.outputs.run-url }} | |
lint: | |
name: lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
- name: Unshallow clone for tags | |
run: git fetch --prune --unshallow --tags | |
- name: Install pulumictl | |
uses: jaxxstorm/[email protected] | |
with: | |
repo: pulumi/pulumictl | |
- name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ env.NODEVERSION }} | |
registry-url: https://registry.npmjs.org | |
- name: Install Yarn | |
run: curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0 | |
- name: Update PATH for Yarn | |
run: | | |
echo "$HOME/.yarn/bin" >> $GITHUB_PATH | |
echo "$HOME/.config/yarn/global/node_modules/.bin" >> $GITHUB_PATH | |
- name: Run lint | |
run: make lint | |
prerequisites: | |
name: prerequisites | |
runs-on: ubuntu-latest | |
if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
- name: Checkout Scripts Repo | |
uses: actions/checkout@v2 | |
with: | |
path: ci-scripts | |
repository: pulumi/scripts | |
- name: Unshallow clone for tags | |
run: git fetch --prune --unshallow --tags | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GOVERSION }} | |
- name: Install pulumictl | |
uses: jaxxstorm/[email protected] | |
with: | |
repo: pulumi/pulumictl | |
- name: Install Schema Tools | |
uses: jaxxstorm/[email protected] | |
with: | |
repo: mikhailshilkov/schema-tools | |
- name: Install Pulumi CLI | |
uses: pulumi/[email protected] | |
- name: Build provider binary + schema | |
run: make schema provider | |
- name: Check Schema is Valid | |
run: | | |
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV | |
schema-tools compare ${{ env.PROVIDER }} master --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV | |
echo 'EOF' >> $GITHUB_ENV | |
- if: github.event_name == 'pull_request' | |
name: Comment on PR with Details of Schema Check | |
uses: thollander/[email protected] | |
with: | |
message: | | |
### Does the PR have any schema changes? | |
${{ env.SCHEMA_CHANGES }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Check worktree clean | |
run: ./ci-scripts/ci/check-worktree-is-clean | |
- name: Tar provider binaries | |
run: | |
tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace | |
}}/bin/ pulumi-resource-${{ env.PROVIDER }} | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ env.PROVIDER }}-provider.tar.gz | |
path: ${{ github.workspace }}/bin/provider.tar.gz | |
strategy: | |
fail-fast: true | |
build_sdk: | |
name: Build ${{ matrix.language }} SDK | |
runs-on: ubuntu-latest | |
needs: prerequisites | |
if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ env.PR_COMMIT_SHA }} | |
- name: Checkout Scripts Repo | |
uses: actions/checkout@v2 | |
with: | |
path: ci-scripts | |
repository: pulumi/scripts | |
- name: Unshallow clone for tags | |
run: git fetch --prune --unshallow --tags | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GOVERSION }} | |
- name: Install pulumictl | |
uses: jaxxstorm/[email protected] | |
with: | |
repo: pulumi/pulumictl | |
- name: Install Pulumi CLI | |
uses: pulumi/[email protected] | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ env.PYTHONVERSION }} | |
- name: Setup DotNet | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: ${{ env.DOTNETVERSION }} | |
- name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ env.NODEVERSION }} | |
registry-url: https://registry.npmjs.org | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
cache: gradle | |
distribution: temurin | |
java-version: ${{ env.JAVAVERSION }} | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
with: | |
gradle-version: "7.6" | |
- name: Install Yarn | |
run: curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0 | |
- name: Update PATH for Yarn | |
run: | | |
echo "$HOME/.yarn/bin" >> $GITHUB_PATH | |
echo "$HOME/.config/yarn/global/node_modules/.bin" >> $GITHUB_PATH | |
- name: Build SDK | |
run: make build_${{ matrix.language }} | |
- name: Check worktree clean | |
run: ./ci-scripts/ci/check-worktree-is-clean | |
- name: Compress NodeJS SDK folder | |
if: matrix.language == 'nodejs' | |
run: tar -zcf ${{ matrix.language }}.tar.gz -C ${{ matrix.language }}/ . | |
- name: Upload NodeJS artifacts | |
if: matrix.language == 'nodejs' | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ matrix.language }}-sdk.tar.gz | |
path: ${{ github.workspace}}/${{ matrix.language }}.tar.gz | |
- name: Compress Other Lang SDK folder | |
if: matrix.language != 'nodejs' | |
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }}/ . | |
- name: Upload Other Lang artifacts | |
if: matrix.language != 'nodejs' | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ matrix.language }}-sdk.tar.gz | |
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz | |
strategy: | |
fail-fast: true | |
matrix: | |
language: | |
- nodejs | |
- python | |
- dotnet | |
- go | |
- java | |
test-nodejs: | |
name: Run NodeJS Tests | |
needs: build_sdk | |
runs-on: ubuntu-latest | |
if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ env.PR_COMMIT_SHA }} | |
- name: Checkout Scripts Repo | |
uses: actions/checkout@v2 | |
with: | |
path: ci-scripts | |
repository: pulumi/scripts | |
- name: Unshallow clone for tags | |
run: git fetch --prune --unshallow --tags | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GOVERSION }} | |
- 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: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ env.PYTHONVERSION }} | |
- name: Install awscli | |
run: | | |
python -m pip install --upgrade pip | |
pip install awscli --upgrade | |
- name: Install pulumictl | |
uses: jaxxstorm/[email protected] | |
with: | |
repo: pulumi/pulumictl | |
- name: Install Pulumi CLI | |
uses: pulumi/[email protected] | |
- name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ env.NODEVERSION }} | |
registry-url: https://registry.npmjs.org | |
- name: Download provider binary | |
uses: actions/download-artifact@v2 | |
with: | |
name: ${{ env.PROVIDER }}-provider.tar.gz | |
path: ${{ github.workspace }}/bin | |
- name: Untar provider binaries | |
run: | |
tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace | |
}}/bin | |
- name: Restore binary perms | |
run: | |
find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print | |
-exec chmod +x {} \; | |
- name: Update path | |
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
- name: Download SDK | |
uses: actions/download-artifact@v2 | |
with: | |
name: nodejs-sdk.tar.gz | |
path: ${{ github.workspace}} | |
- name: Uncompress SDK folder | |
run: tar -zxf ${{ github.workspace}}/nodejs.tar.gz -C ${{github.workspace}}/nodejs | |
- name: Install dependencies | |
run: make install_nodejs_sdk | |
- name: Install gotestfmt | |
uses: GoTestTools/gotestfmt-action@v2 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
version: v2.4.0 | |
- 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: 3600 | |
role-session-name: ${{ env.PROVIDER }}@githubActions | |
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} | |
- name: Configure AWS CLI | |
run: | | |
aws configure set default.aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws configure set default.aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws configure set aws_access_key_id ${{ secrets.ALT_AWS_ACCESS_KEY_ID }} --profile ${{ secrets.ALT_AWS_PROFILE }} | |
aws configure set aws_secret_access_key ${{ secrets.ALT_AWS_SECRET_ACCESS_KEY }} --profile ${{ secrets.ALT_AWS_PROFILE }} | |
- name: Link nodejs binary for testing | |
run: | | |
cd ${{ github.workspace }}/bin | |
yarn install && yarn link @pulumi/eks | |
- name: Run tests | |
run: make specific_test TestName=${{ matrix.test-name }} LanguageTags=nodejs | |
strategy: | |
fail-fast: false | |
matrix: | |
test-name: | |
- AwsProfile | |
- Cluster | |
- EncryptionProvider | |
- ExtraSecurityGroups | |
- Fargate | |
- ImportDefaultEksSecgroup | |
- KubernetesServiceIPv4RangeForCluster | |
- ManagedNodeGroup | |
- MigrateNodeGroups | |
- MNG_withMissingRole | |
- MNG_withAwsAuth | |
- NodeGroup | |
- NodegroupOptions | |
- OidcIam | |
- ReplaceClusterAddSubnets | |
- ReplaceSecGroup | |
- ScopedKubeconfig | |
- StorageClasses | |
- Tags | |
- TagInputTypes | |
- VpcSubnetTags | |
test-python: | |
name: Run Python Tests | |
needs: build_sdk | |
runs-on: ubuntu-latest | |
if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
- name: Checkout Scripts Repo | |
uses: actions/checkout@v2 | |
with: | |
path: ci-scripts | |
repository: pulumi/scripts | |
- name: Unshallow clone for tags | |
run: git fetch --prune --unshallow --tags | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GOVERSION }} | |
- name: Install pulumictl | |
uses: jaxxstorm/[email protected] | |
with: | |
repo: pulumi/pulumictl | |
- name: Install Pulumi CLI | |
uses: pulumi/[email protected] | |
- name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ env.NODEVERSION }} | |
registry-url: https://registry.npmjs.org | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ env.PYTHONVERSION }} | |
- name: Install awscli | |
run: | | |
python -m pip install --upgrade pip | |
pip install awscli --upgrade | |
- name: Install Python deps | |
run: |- | |
pip3 install virtualenv==20.0.23 | |
pip3 install pipenv | |
- name: Download provider binary | |
uses: actions/download-artifact@v2 | |
with: | |
name: ${{ env.PROVIDER }}-provider.tar.gz | |
path: ${{ github.workspace }}/bin | |
- name: Untar provider binaries | |
run: | |
tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace | |
}}/bin | |
- name: Restore binary perms | |
run: | |
find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print | |
-exec chmod +x {} \; | |
- name: Update path | |
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
- name: Download NodeJS SDK | |
uses: actions/download-artifact@v2 | |
with: | |
name: nodejs-sdk.tar.gz | |
path: ${{ github.workspace}} | |
- name: Uncompress NodeJS SDK folder | |
run: tar -zxf ${{ github.workspace}}/nodejs.tar.gz -C ${{github.workspace}}/nodejs | |
- name: Install NodeJS SDK | |
run: make install_nodejs_sdk | |
- name: Install gotestfmt | |
uses: GoTestTools/gotestfmt-action@v2 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
version: v2.4.0 | |
- name: Download Python SDK | |
uses: actions/download-artifact@v2 | |
with: | |
name: python-sdk.tar.gz | |
path: ${{ github.workspace}}/sdk/ | |
- name: Uncompress Python SDK folder | |
run: tar -zxf ${{ github.workspace}}/sdk/python.tar.gz -C ${{github.workspace}}/sdk/python | |
- name: Install dependencies | |
run: make install_python_sdk | |
- 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: 3600 | |
role-session-name: ${{ env.PROVIDER }}@githubActions | |
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} | |
- name: Configure AWS CLI | |
run: | | |
aws configure set default.aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws configure set default.aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws configure set aws_access_key_id ${{ secrets.ALT_AWS_ACCESS_KEY_ID }} --profile ${{ secrets.ALT_AWS_PROFILE }} | |
aws configure set aws_secret_access_key ${{ secrets.ALT_AWS_SECRET_ACCESS_KEY }} --profile ${{ secrets.ALT_AWS_PROFILE }} | |
- name: Link nodejs binary for testing | |
run: | | |
cd ${{ github.workspace }}/bin | |
yarn install && yarn link @pulumi/eks | |
- name: Run tests | |
run: make specific_test TestName=${{ matrix.test-name }} LanguageTags=python | |
strategy: | |
fail-fast: false | |
matrix: | |
test-name: | |
- AwsProfilePy | |
- AwsProfileRolePy | |
- ClusterPy | |
- FargatePy | |
- NodeGroupPy | |
- ManagedNodeGroupPy | |
test-dotnet: | |
name: Run DotNet Tests | |
needs: build_sdk | |
runs-on: ubuntu-latest | |
if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
- name: Checkout Scripts Repo | |
uses: actions/checkout@v2 | |
with: | |
path: ci-scripts | |
repository: pulumi/scripts | |
- name: Unshallow clone for tags | |
run: git fetch --prune --unshallow --tags | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GOVERSION }} | |
- name: Install pulumictl | |
uses: jaxxstorm/[email protected] | |
with: | |
repo: pulumi/pulumictl | |
- name: Install Pulumi CLI | |
uses: pulumi/[email protected] | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ env.PYTHONVERSION }} | |
- name: Install awscli | |
run: | | |
python -m pip install --upgrade pip | |
pip install awscli --upgrade | |
- name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ env.NODEVERSION }} | |
registry-url: https://registry.npmjs.org | |
- name: Setup DotNet | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: ${{ env.DOTNETVERSION }} | |
- name: Download provider binary | |
uses: actions/download-artifact@v2 | |
with: | |
name: ${{ env.PROVIDER }}-provider.tar.gz | |
path: ${{ github.workspace }}/bin | |
- name: Untar provider binaries | |
run: | |
tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace | |
}}/bin | |
- name: Restore binary perms | |
run: | |
find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print | |
-exec chmod +x {} \; | |
- name: Update path | |
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
- name: Download NodeJS SDK | |
uses: actions/download-artifact@v2 | |
with: | |
name: nodejs-sdk.tar.gz | |
path: ${{ github.workspace}} | |
- name: Uncompress NodeJS SDK folder | |
run: tar -zxf ${{ github.workspace}}/nodejs.tar.gz -C ${{github.workspace}}/nodejs | |
- name: Install NodeJS SDK | |
run: make install_nodejs_sdk | |
- name: Install gotestfmt | |
uses: GoTestTools/gotestfmt-action@v2 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
version: v2.4.0 | |
- name: Download DotNet SDK | |
uses: actions/download-artifact@v2 | |
with: | |
name: dotnet-sdk.tar.gz | |
path: ${{ github.workspace}}/sdk/ | |
- name: Uncompress DotNet SDK folder | |
run: tar -zxf ${{ github.workspace}}/sdk/dotnet.tar.gz -C ${{github.workspace}}/sdk/dotnet | |
- name: Install dependencies | |
run: make install_dotnet_sdk | |
- run: dotnet nuget add source ${{ github.workspace }}/nuget | |
- 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: 3600 | |
role-session-name: ${{ env.PROVIDER }}@githubActions | |
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} | |
- name: Configure AWS CLI | |
run: | | |
aws configure set default.aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws configure set default.aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws configure set aws_access_key_id ${{ secrets.ALT_AWS_ACCESS_KEY_ID }} --profile ${{ secrets.ALT_AWS_PROFILE }} | |
aws configure set aws_secret_access_key ${{ secrets.ALT_AWS_SECRET_ACCESS_KEY }} --profile ${{ secrets.ALT_AWS_PROFILE }} | |
- name: Link nodejs binary for testing | |
run: | | |
cd ${{ github.workspace }}/bin | |
yarn install && yarn link @pulumi/eks | |
- name: Run tests | |
run: make specific_test TestName=${{ matrix.test-name }} LanguageTags=dotnet | |
strategy: | |
fail-fast: false | |
matrix: | |
test-name: | |
- ClusterCs | |
test-go: | |
name: Run Go Tests | |
needs: build_sdk | |
runs-on: ubuntu-latest | |
if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
- name: Checkout Scripts Repo | |
uses: actions/checkout@v2 | |
with: | |
path: ci-scripts | |
repository: pulumi/scripts | |
- name: Unshallow clone for tags | |
run: git fetch --prune --unshallow --tags | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GOVERSION }} | |
- name: Install pulumictl | |
uses: jaxxstorm/[email protected] | |
with: | |
repo: pulumi/pulumictl | |
- name: Install Pulumi CLI | |
uses: pulumi/[email protected] | |
- name: Setup Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ env.NODEVERSION }} | |
registry-url: https://registry.npmjs.org | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ env.PYTHONVERSION }} | |
- name: Install awscli | |
run: | | |
python -m pip install --upgrade pip | |
pip install awscli --upgrade | |
- name: Setup DotNet | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: ${{ env.DOTNETVERSION }} | |
- name: Download provider binary | |
uses: actions/download-artifact@v2 | |
with: | |
name: ${{ env.PROVIDER }}-provider.tar.gz | |
path: ${{ github.workspace }}/bin | |
- name: Untar provider binaries | |
run: | |
tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace | |
}}/bin | |
- name: Restore binary perms | |
run: | |
find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print | |
-exec chmod +x {} \; | |
- name: Update path | |
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH | |
- name: Download NodeJS SDK | |
uses: actions/download-artifact@v2 | |
with: | |
name: nodejs-sdk.tar.gz | |
path: ${{ github.workspace}} | |
- name: Uncompress NodeJS SDK folder | |
run: tar -zxf ${{ github.workspace}}/nodejs.tar.gz -C ${{github.workspace}}/nodejs | |
- name: Install NodeJS SDK | |
run: make install_nodejs_sdk | |
- name: Install gotestfmt | |
uses: GoTestTools/gotestfmt-action@v2 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
version: v2.4.0 | |
- name: Download Go SDK | |
uses: actions/download-artifact@v2 | |
with: | |
name: go-sdk.tar.gz | |
path: ${{ github.workspace}}/sdk/ | |
- name: Uncompress Go SDK folder | |
run: tar -zxf ${{ github.workspace}}/sdk/go.tar.gz -C ${{github.workspace}}/sdk/go | |
- 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: 3600 | |
role-session-name: ${{ env.PROVIDER }}@githubActions | |
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} | |
- name: Configure AWS CLI | |
run: | | |
aws configure set default.aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws configure set default.aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws configure set aws_access_key_id ${{ secrets.ALT_AWS_ACCESS_KEY_ID }} --profile ${{ secrets.ALT_AWS_PROFILE }} | |
aws configure set aws_secret_access_key ${{ secrets.ALT_AWS_SECRET_ACCESS_KEY }} --profile ${{ secrets.ALT_AWS_PROFILE }} | |
- name: Link nodejs binary for testing | |
run: | | |
cd ${{ github.workspace }}/bin | |
yarn install && yarn link @pulumi/eks | |
- name: Run tests | |
run: make specific_test TestName=${{ matrix.test-name }} LanguageTags=go | |
strategy: | |
fail-fast: false | |
matrix: | |
test-name: | |
- ClusterGo |