adding the work to include the travis cron jobs
ADD
.github/workflows/cron.yml
+name: Run Cron Matrix
+on:
+ schedule:
+ # Run every day at 09:00AM.
+ - cron: '0 9 * * *'
+
+env:
+ PULUMI_TEST_OWNER: ${{ secrets.PULUMI_TEST_OWNER }}
+ PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
+ AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ AWS_REGION: "us-west-2"
+ 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 }}
+ ARM_ENVIRONMENT: "public"
+ ARM_LOCATION: "westus"
+ DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
+ CLOUDSDK_CORE_DISABLE_PROMPTS: 1
+ GOOGLE_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS }}
+ GOOGLE_PROJECT: ${{ secrets.GCP_PROJECT_ID }}
+ GOOGLE_REGION: "us-central1"
+ GOOGLE_ZONE: "us-central1-a"
+ PACKET_AUTH_TOKEN: ${{ secrets.PACKET_AUTH_TOKEN }}
+ LINODE_API_TOKEN: ${{ secrets.LINODE_API_TOKEN }}
+jobs:
+ released:
+ strategy:
+ fail-fast: false
+ matrix:
+ clouds: ["DigitalOcean", "Aws", "Azure", "Gcp", "Packet", "Linode", "Cloud"]
+ languages: ["Go", "Cs", "Js", "Ts", "Py", "Fs"]
+ platform: [ubuntu-latest]
+ go-version: [1.13.x]
+ node-version: [10.x]
+ python-version: [3.7]
+ dotnet-version: ['3.1.100']
+ examples-test-matrix: ['--no-latest-cli', '--no-latest-packages']
+ runs-on: ${{ matrix.platform }}
+ steps:
+ - name: Install DotNet ${{ matrix.dotnet-version }}
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: ${{ matrix.dotnet-version }}
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - name: Set up Go ${{ matrix.go-version }}
+ uses: actions/setup-go@v1
+ with:
+ go-version: ${{ matrix.go-version }}
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v1
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Install Python Deps
+ run: |
+ pip3 install pipenv
+ - 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
+ - uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
+ with:
+ version: '285.0.0'
+ project_id: ${{ secrets.GCP_PROJECT_ID }}
+ service_account_email: ${{ secrets.GCP_SA_EMAIL }}
+ service_account_key: ${{ secrets.GCP_SA_KEY }}
+ - name: Install helm
+ run: |
+ curl -o- -L https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
+ - name: Configure helm
+ run: |
+ helm init -c
+ helm repo add bitnami https://charts.bitnami.com/bitnami
+ - name: Set Azure DNS
+ run: |
+ echo "$(getent hosts $ARM_LOCATION.management.azure.com | awk '{ print $1 }') management.azure.com" | sudo tee --append /etc/hosts
+ - name: Login to Google Cloud Registry
+ run: |
+ gcloud --quiet auth configure-docker
+ - uses: actions/checkout@v2
+ - name: Checkout Scripts Repo
+ uses: actions/checkout@v2
+ with:
+ path: ci-scripts
+ repository: pulumi/scripts
+ - name: scripts/run-at-head ${{ matrix.examples-test-matrix }}
+ - name: Install Go dependencies
+ run: make ensure
+ - name: Run ${{ matrix.clouds }}${{ matrix.languages }} Tests
+ run: make specific_test_set TestSet=${{ matrix.clouds }}${{ matrix.languages }}
+ - if: 'failure()'
+ name: Notify Slack
+ uses: 8398a7/action-slack@v3
+ with:
+ author_name: Failure in ${{ matrix.clouds }}${{ matrix.languages }} Tests
+ fields: repo,commit,author,action
+ status: ${{ job.status }}

MODIFY
.gitignore
.gitignore
@@ -19,6 +19,8 @@ obj/
vendor
Gopkg.lock
+**/ci-scripts
+
# Java app
.gradle/
.settings/

DELETE
.travis.yml
-if: branch = master
-language: go
-go: 1.13.x
-sudo: true
-git:
- depth: false
-cache:
- directories:
- - "$HOME/google-cloud-sdk/"
-before_install:
- - openssl aes-256-cbc -K $encrypted_9f72dfef7328_key -iv $encrypted_9f72dfef7328_iv -in gcp-credentials.json.enc -out gcp-credentials.json -d
- - git clone https://github.com/pulumi/scripts ${GOPATH}/src/github.com/pulumi/scripts
- - source ${GOPATH}/src/github.com/pulumi/scripts/ci/prepare-environment.sh
- - source ${PULUMI_SCRIPTS}/ci/keep-failed-tests.sh
- - sudo apt-get update && sudo apt-get install -y apt-transport-https
-install:
- - source ${PULUMI_SCRIPTS}/ci/install-common-toolchain.sh
- - curl -L https://get.pulumi.com/ | bash
- - export PATH=$HOME/.pulumi/bin:$PATH
- - if [ ! -d $HOME/google-cloud-sdk ]; then curl https://sdk.cloud.google.com | bash; fi
- - export PATH=$PATH:$HOME/google-cloud-sdk/bin
- - export CLOUDSDK_CORE_DISABLE_PROMPTS=1
- - export GOOGLE_CREDENTIALS=$(cat gcp-credentials.json)
- - CLOUDSDK_PYTHON=/usr/bin/python gcloud auth activate-service-account --key-file gcp-credentials.json
- - 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
- # Install aws-iam-authenticator
- # See: https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html)
- - 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
- # Install kubectl
- - 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
- # Enable docker to access Google Cloud Registry
- - cat gcp-credentials.json | docker login -u _json_key --password-stdin gcr.io
-before_script:
- - "${PULUMI_SCRIPTS}/ci/ensure-dependencies"
- # Attempt to work around issues with cross-region replication of resource group state in Azure.
- # See https://github.com/pulumi/pulumi-azure/issues/373#issuecomment-545158789.
- - echo "$(getent hosts $ARM_LOCATION.management.azure.com | awk '{ print $1 }') management.azure.com" | sudo tee --append /etc/hosts
-jobs:
- include:
- - script: "${GOPATH}/src/github.com/pulumi/scripts/ci/run-at-head"
- name: latest-all
- if: type = cron
- - script: "${GOPATH}/src/github.com/pulumi/scripts/ci/run-at-head --no-latest-packages"
- name: latest-cli
- if: type = cron
- - script: "${GOPATH}/src/github.com/pulumi/scripts/ci/run-at-head --no-latest-cli"
- name: latest-packages
- if: type = cron
- - script: "${GOPATH}/src/github.com/pulumi/scripts/ci/run-at-head --version=feature-2.0"
- name: feature-2.0
- if: type = cron
-after_failure:
- - "${PULUMI_SCRIPTS}/ci/upload-failed-tests"
-notifications:
- webhooks: https://zlmgkhmhjc.execute-api.us-west-2.amazonaws.com/stage/travis

adding the work to include the travis cron jobs