Upgrade to Linode v4 package #979
Workflow file for this run
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 Tests on a PR of the Templates repo | |
on: | |
pull_request: | |
branches: | |
- master | |
repository_dispatch: | |
types: [run-templates-command] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
PULUMI_TEST_OWNER: "moolumi" | |
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} | |
AWS_REGION: "us-west-2" | |
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: [email protected] | |
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci | |
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci | |
GOOGLE_PROJECT: pulumi-ci-gcp-provider | |
GOOGLE_PROJECT_NUMBER: 895284651812 | |
LINODE_TOKEN: ${{ secrets.LINODE_TOKEN }} | |
SKIPPED_TESTS: "alicloud,digitalocean,kubernetes,openstack,equinix-metal,civo,aiven,auth0,github,oci,java-jbang,java-gradle,azuredevops,container,vm-azure-yaml" | |
PULUMI_API: https://api.pulumi-staging.io | |
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} | |
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} | |
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }} | |
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }} | |
AZURE_LOCATION: westus | |
TESTPARALLELISM: 10 | |
PULUMI_TEMPLATE_LOCATION: ${{ github.workspace}} | |
jobs: | |
sentinel: | |
if: github.event_name == 'repository_dispatch' || | |
github.event.pull_request.head.repo.full_name == github.repository | |
name: sentinel | |
needs: | |
- test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Is workflow a success | |
run: echo yes | |
test: | |
if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-latest, macOS-latest, windows-8core-2022] | |
go-version: [1.20.x] | |
node-version: [16.x] | |
python-version: [3.7] | |
dotnet: [6.0.x] | |
runs-on: ${{ matrix.platform }} | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Install Java 11 (temurin) | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11' | |
- name: Install DotNet ${{ matrix.dotnet }} | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: ${{ matrix.dotnet }} | |
- if: contains(matrix.platform, 'ubuntu') || contains(matrix.platform, 'windows') | |
name: DotNet clean on windows and ubuntu | |
run: | | |
dotnet nuget locals all --clear | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Set up Go ${{ matrix.go-version }} | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- run: go env | |
- name: Install Pulumi CLI | |
uses: pulumi/actions@v4 | |
with: | |
pulumi-version: ${{ env.PULUMI_VERSION != '' && format('v{0}', env.PULUMI_VERSION) || null }} | |
- run: pulumi version | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python Deps | |
run: | | |
pip3 install pyenv-win | |
pip3 install pipenv | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.REPO_ACCESS_TOKEN }} | |
repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }} | |
ref: ${{ github.event.client_payload.pull_request.head.sha }} | |
- name: Unshallow clone for tags | |
run: git fetch --prune --unshallow --tags | |
- 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: 14400 # 4 hours | |
role-session-name: templates@githubActions | |
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }} | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v0 | |
with: | |
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER }}/locations/global/workloadIdentityPools/${{ env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{ env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }} | |
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }} | |
- name: Setup gcloud auth | |
uses: google-github-actions/setup-gcloud@v0 | |
with: | |
install_components: gke-gcloud-auth-plugin | |
- name: Install gotestfmt | |
uses: jaxxstorm/[email protected] | |
with: | |
repo: gotesttools/gotestfmt | |
- name: Get dependencies | |
run: make ensure | |
- if: contains(matrix.platform, 'windows') | |
name: Running Windows tests | |
shell: bash | |
run: | | |
set -euo pipefail | |
cd tests && go test -v -json -count=1 -cover -timeout 6h -parallel ${{ env.TESTPARALLELISM }} . 2>&1 | gotestfmt | |
env: | |
PULUMI_PYTHON_CMD: python | |
TESTPARALLELISM: 3 | |
SKIPPED_TESTS: "alicloud,digitalocean,kubernetes,openstack,equinix-metal,civo,aiven,auth0,github,oci,java-jbang,java-gradle,azuredevops,container,vm-azure-yaml,fsharp,gcp-visualbasic,azure-classic-visualbasic" | |
- if: contains(matrix.platform, 'macOS') | |
name: Running macOS tests | |
run: | | |
set -euo pipefail | |
cd tests && go test -v -json -count=1 -cover -timeout 6h -parallel ${{ env.TESTPARALLELISM }} . 2>&1 | gotestfmt | |
- if: contains(matrix.platform, 'ubuntu') | |
name: Running Linux tests | |
run: | | |
set -euo pipefail | |
cd tests && go test -v -json -count=1 -cover -timeout 6h -parallel ${{ env.TESTPARALLELISM }} . 2>&1 | gotestfmt |