forked from pulumi/examples
-
Notifications
You must be signed in to change notification settings - Fork 0
124 lines (123 loc) · 4.59 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
name: Run Examples Tests
on:
push:
branches:
- master
pull_request:
branches:
- master
# schedule:
# # * is a special character in YAML so you have to quote this string.
# # Run every day at 09:00AM.
# - cron: '0 9 * * *'
env:
PULUMI_TEST_OWNER: ${{ secrets.PULUMI_TEST_OWNER }}
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
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:
tests-set: ["DigitalOcean", "Aws", "Azure", "Gcp", "Packet", "Linode", "Cloud"]
platform: [ubuntu-latest]
go-version: [1.13.x]
node-version: [10.x]
python-version: [3.7]
dotnet-version: ['3.1.100']
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
- name: Install Pulumi CLI
uses: pulumi/action-install-pulumi-cli@releases/v1
- uses: actions/checkout@v2
- name: Install Go dependencies
run: make ensure
- name: Run ${{ matrix.tests-set }} Tests
run: make specific_test_set TestSet=${{ matrix.tests-set }}
lint:
strategy:
matrix:
platform: [ubuntu-latest]
yarn-version: [1.13.0]
node-version: [12.x]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- 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 "::add-path::$HOME/.yarn/bin"
echo "::add-path::$HOME/.config/yarn/global/node_modules/.bin"
- name: setup linting tool
run: make install
- name: Lint typescript files
run: make lint