Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: plural up tests #574

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
259 commits
Select commit Hold shift + click to select a range
1d9333f
retry adding plural to path
maciaszczykm Nov 20, 2024
b9fb0ee
fix make targets name conflict
maciaszczykm Nov 20, 2024
39c3902
upsert domain if workspace.yml already exists
zreigz Nov 21, 2024
0a54265
ensure branch
zreigz Nov 21, 2024
f19ae73
ensure branch
zreigz Nov 21, 2024
faad8d9
use template-branch for bootstrap
zreigz Nov 21, 2024
9b216f5
template new dir
zreigz Nov 21, 2024
2f40389
setup gcloud in workflow
maciaszczykm Nov 21, 2024
0411c37
add jobs for all providers
maciaszczykm Nov 21, 2024
80b0d7e
simplify workflow
maciaszczykm Nov 21, 2024
6948dde
use built-in terraform binary
maciaszczykm Nov 21, 2024
1c24c57
add gcloud setup/teardown
floreks Nov 21, 2024
23f2cc7
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 21, 2024
722be64
azure support
maciaszczykm Nov 21, 2024
91fd1f7
add crypto init and readme
zreigz Nov 21, 2024
6c03e01
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
zreigz Nov 21, 2024
a06aa6c
azure teardown
maciaszczykm Nov 21, 2024
744cc72
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 21, 2024
a3ee8ef
git teardown
maciaszczykm Nov 21, 2024
19cdd5d
update makefile
maciaszczykm Nov 21, 2024
bc05dbf
add required arg check to test
floreks Nov 21, 2024
2964db6
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 21, 2024
c42698f
update makefile
Nov 22, 2024
7595187
azure login
maciaszczykm Nov 22, 2024
8caff44
azure login auth type
maciaszczykm Nov 22, 2024
429aedb
update makefile
maciaszczykm Nov 22, 2024
da90477
setup venom
maciaszczykm Nov 22, 2024
7ccc958
update action
maciaszczykm Nov 22, 2024
f9ce08e
setup venom
maciaszczykm Nov 22, 2024
4d3f2fe
add plural key variable
floreks Nov 22, 2024
2c363d6
initial test setup
maciaszczykm Nov 22, 2024
9a7e054
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 22, 2024
1e922e6
get timestamp
maciaszczykm Nov 22, 2024
05a839e
add docs to variables
floreks Nov 22, 2024
a6f8aa9
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 22, 2024
5471a76
get timestamp
maciaszczykm Nov 22, 2024
895a707
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 22, 2024
3309229
get timestamp
maciaszczykm Nov 22, 2024
e491700
get timestamp
maciaszczykm Nov 22, 2024
b6f687f
get timestamp
maciaszczykm Nov 22, 2024
736a697
get timestamp
maciaszczykm Nov 22, 2024
94ebaa3
get timestamp
maciaszczykm Nov 22, 2024
96b9421
update venom args
maciaszczykm Nov 22, 2024
e08a751
use common env vars where possible
maciaszczykm Nov 22, 2024
3148c37
fix plural up and improve required checks
floreks Nov 22, 2024
ba70368
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 22, 2024
bdc6d3e
fix skip
maciaszczykm Nov 22, 2024
fa0b0cf
fix provider skip
floreks Nov 22, 2024
c2b2cb0
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 22, 2024
96aaac9
fix skip
maciaszczykm Nov 22, 2024
af1320c
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 22, 2024
0720bc9
update azure region
maciaszczykm Nov 22, 2024
4f815fa
add commit message to plural up
floreks Nov 22, 2024
e7c6f77
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 22, 2024
50377d9
decode private key into a file
maciaszczykm Nov 22, 2024
ed8f712
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 22, 2024
01d40cf
retry azure auth
maciaszczykm Nov 22, 2024
efcaf32
run tests in ci
maciaszczykm Nov 25, 2024
8dbc56f
update testout path
maciaszczykm Nov 25, 2024
86a7de8
bump venom version
maciaszczykm Nov 25, 2024
7e3fcf1
update decode
maciaszczykm Nov 25, 2024
e468b36
upload log
maciaszczykm Nov 25, 2024
8f234d1
run in debug mode
maciaszczykm Nov 25, 2024
17e7885
test
maciaszczykm Nov 25, 2024
9aa1acf
chmod
maciaszczykm Nov 25, 2024
a04f940
update actions
maciaszczykm Nov 25, 2024
dbc20e0
add workflow_dispatch to action
maciaszczykm Nov 25, 2024
a233552
rename privateKeyPath to gitRepoPrivateKeyPath
maciaszczykm Nov 25, 2024
e0aebb1
update gcp env vars
maciaszczykm Nov 25, 2024
a39d73c
remove unused env var
maciaszczykm Nov 25, 2024
1cb8e3d
fix private key embedding into context.yaml
floreks Nov 25, 2024
77141b6
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 25, 2024
7c1664c
replace default git key
maciaszczykm Nov 25, 2024
6411365
fix ssh key setup
maciaszczykm Nov 26, 2024
b0bac18
fix ssh key setup
maciaszczykm Nov 26, 2024
736b5ae
fix git teardown
maciaszczykm Nov 26, 2024
bbd4321
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 26, 2024
3372183
fix git teardown
maciaszczykm Nov 26, 2024
ca11410
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 26, 2024
1b83485
start ssh-agent
maciaszczykm Nov 26, 2024
d7d534f
fix typo
maciaszczykm Nov 26, 2024
3c78e81
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 26, 2024
ad23a39
create plural dir
maciaszczykm Nov 26, 2024
b537758
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 26, 2024
5a83030
create plural dir
maciaszczykm Nov 26, 2024
05b3e3e
fix artifact upload
maciaszczykm Nov 26, 2024
69af990
use custom step failure handling in tests
floreks Nov 26, 2024
06e4491
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 26, 2024
0ac7990
do not stop on all failures
maciaszczykm Nov 26, 2024
5e8e457
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 26, 2024
957f98d
fix exit code assertion configuration
floreks Nov 26, 2024
8641923
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 26, 2024
c3e319f
refactor
maciaszczykm Nov 26, 2024
c9db6f4
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 26, 2024
7d71eaf
refactor
maciaszczykm Nov 26, 2024
4188d7c
update make e2e
floreks Nov 26, 2024
16b8d0f
do not ask for confirmation when deleting resource group
maciaszczykm Nov 26, 2024
b3b226a
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 26, 2024
338c178
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 26, 2024
ca28541
do not ask for confirmation when deleting resource group
maciaszczykm Nov 26, 2024
cd988ed
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 26, 2024
a73f6da
rename key
maciaszczykm Nov 26, 2024
29cb2b1
artifact upload
maciaszczykm Nov 26, 2024
24de0c0
fix azure storage account var
floreks Nov 26, 2024
f9e5fb5
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 26, 2024
247ca91
refactor action
maciaszczykm Nov 26, 2024
c636fbb
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 26, 2024
a212672
update agent command
maciaszczykm Nov 26, 2024
c4de45f
update step name
maciaszczykm Nov 26, 2024
4ea4c2d
update tf creds
maciaszczykm Nov 26, 2024
48e4ce5
update gcp e2e ci
floreks Nov 26, 2024
dda867b
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 26, 2024
030a621
update tf creds
maciaszczykm Nov 26, 2024
12605ab
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 26, 2024
7c00378
disable tenant id
maciaszczykm Nov 26, 2024
2e53c8a
retry with msi
maciaszczykm Nov 26, 2024
4f7b5f2
test tf
maciaszczykm Nov 26, 2024
38e5e69
test tf
maciaszczykm Nov 26, 2024
9a20919
test tf
maciaszczykm Nov 26, 2024
08d20b1
test tf
maciaszczykm Nov 26, 2024
c3e0fc3
test tf
maciaszczykm Nov 26, 2024
098994a
test tf
maciaszczykm Nov 26, 2024
69ff19b
test tf
maciaszczykm Nov 26, 2024
34be7a4
bump aks module version
maciaszczykm Nov 26, 2024
bfe7b23
bump azidentity
maciaszczykm Nov 26, 2024
b51523e
setup slack ci action
floreks Nov 27, 2024
40a3bf6
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
50b5eb5
update slack configuration
floreks Nov 27, 2024
4b795ea
retest tf
maciaszczykm Nov 27, 2024
ec2949c
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
3755d05
update slack configuration
floreks Nov 27, 2024
c4ad898
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
61ab4ed
retest tf
maciaszczykm Nov 27, 2024
f9b63c8
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
e9e6c4e
retest tf
maciaszczykm Nov 27, 2024
d5efbbc
retest tf
maciaszczykm Nov 27, 2024
a0db640
retest tf
maciaszczykm Nov 27, 2024
596d80c
update slack configuration
floreks Nov 27, 2024
f697e20
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
2b69a27
retest tf
maciaszczykm Nov 27, 2024
9e9cdba
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
53589a5
add az-test bin
zreigz Nov 27, 2024
8403acd
retest tf
maciaszczykm Nov 27, 2024
edc27d5
retest tf
maciaszczykm Nov 27, 2024
9e11f93
add debug
zreigz Nov 27, 2024
c752967
update slack configuration
floreks Nov 27, 2024
610af77
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
472d1da
retest tf
maciaszczykm Nov 27, 2024
65ebbd5
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
f7d0829
decrease venom log lvl for gcp
floreks Nov 27, 2024
b71df73
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
ac0613a
retest tf
maciaszczykm Nov 27, 2024
8c85e9c
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
a7112bd
retest tf
maciaszczykm Nov 27, 2024
4c2860a
add gcloud auth step
floreks Nov 27, 2024
bffe08d
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
3d71d56
retest tf
maciaszczykm Nov 27, 2024
60e31b5
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
ecd4e7c
fix gcp auth
floreks Nov 27, 2024
0e03a79
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
aeacc59
remove debug
zreigz Nov 27, 2024
4ca7ef3
fix gcp auth
floreks Nov 27, 2024
b78f089
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
445050c
use google federated credentials
floreks Nov 27, 2024
6ab02bb
use google federated credentials
floreks Nov 27, 2024
c617d47
use google federated credentials
floreks Nov 27, 2024
96dec7c
retest tf
maciaszczykm Nov 27, 2024
faec50f
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
2c7bb19
cleanup gcp venom setup
floreks Nov 27, 2024
ba35122
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
fdcdc09
upload only html report
maciaszczykm Nov 27, 2024
fa1e138
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
cdb23be
post status only on slack
maciaszczykm Nov 27, 2024
6e6e52e
debug gcp e2e
floreks Nov 27, 2024
49701f9
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
16ec892
debug gcp e2e
floreks Nov 27, 2024
c0d5749
skip azure
floreks Nov 27, 2024
19f9351
skip azure
floreks Nov 27, 2024
b620d25
enable gcp
floreks Nov 27, 2024
53e2177
enable gcp
floreks Nov 27, 2024
f78aa6c
fix gcp e2e
floreks Nov 27, 2024
37f65b1
update slack status
maciaszczykm Nov 27, 2024
0ef7231
reenable slack upload for gcp
floreks Nov 27, 2024
bd5c058
update slack status
maciaszczykm Nov 27, 2024
c0a17eb
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
94d3130
update slack status
maciaszczykm Nov 27, 2024
51c7f5d
add timestamp
maciaszczykm Nov 27, 2024
40bf4d9
add timestamp
maciaszczykm Nov 27, 2024
7d1e501
remove secrets block from venom
floreks Nov 27, 2024
cf05298
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
b19a3ff
remove actor
maciaszczykm Nov 27, 2024
ea3144f
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
3173fd6
enable azure
maciaszczykm Nov 27, 2024
21030d4
hide az outputs
maciaszczykm Nov 27, 2024
acd3a29
restore log
maciaszczykm Nov 27, 2024
875bb28
attempt to fix azapi auth
maciaszczykm Nov 27, 2024
7f7bb9e
add plural key secret to venom
floreks Nov 27, 2024
38e9b8a
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
b38df09
attempt to fix azapi auth
maciaszczykm Nov 27, 2024
31ee2e5
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Nov 27, 2024
5dcfe0b
attempt to fix azapi auth
maciaszczykm Nov 27, 2024
c55afa0
update slack file handling
floreks Nov 27, 2024
f0507a4
Merge branch 'sebastian/prod-2721-think-up-a-test-strategy-for-plural…
floreks Nov 27, 2024
98f50d2
add export kubeconfig command
zreigz Nov 28, 2024
7ff45f1
add test for deployment services
zreigz Nov 28, 2024
d65d223
Merge branch 'main' into sebastian/prod-2721-think-up-a-test-strategy…
zreigz Nov 28, 2024
f7eb925
export CONSOLE_ACCESS_TOKEN
zreigz Nov 28, 2024
484221e
fix plural cd login
zreigz Nov 28, 2024
57e2f64
fix plural cd login
zreigz Nov 28, 2024
0ea21f2
improve get kubeconfig
zreigz Nov 28, 2024
1c0f91a
improve plural cd login
zreigz Nov 28, 2024
6c63cb7
add kubeconfig dir
zreigz Nov 28, 2024
1f6d8c1
create only kube dir
zreigz Nov 28, 2024
1f58a88
check kubeconfig command
zreigz Nov 29, 2024
2c9a441
install gke-gcloud-auth-plugin
zreigz Nov 29, 2024
b59701d
check az get-credentials
zreigz Nov 29, 2024
996fc7d
run all tests
zreigz Nov 29, 2024
f5a5984
add provider's kubeconfigs
zreigz Nov 29, 2024
cce5b57
fix nit
zreigz Nov 29, 2024
061f24b
add retry for services
zreigz Nov 29, 2024
dd35b73
add aws workspace
zreigz Nov 29, 2024
44cfad8
fix checking services
zreigz Nov 29, 2024
d0917d1
add service tests
Dec 3, 2024
17196af
increase retry
Dec 3, 2024
13c97f2
increase retry and delay
Dec 3, 2024
dcf209c
gen mocks, fix linter
Dec 3, 2024
e92a360
check service condition
Dec 3, 2024
fb7d3ad
add aws-nuke config
Dec 4, 2024
d0b5482
add github job and test aws
Dec 5, 2024
dda8cc2
remove login aws
Dec 5, 2024
fca68a2
add aws login
Dec 5, 2024
f86946d
add aws login
Dec 5, 2024
52caf8b
create and use profile
Dec 5, 2024
91f0f4e
tune aws-nuke
Dec 5, 2024
c0ef9c2
add plural down step
maciaszczykm Dec 5, 2024
d92a349
ignore os file
maciaszczykm Dec 5, 2024
ffa7b8a
Merge remote-tracking branch 'refs/remotes/origin/sebastian/prod-2721…
maciaszczykm Dec 5, 2024
f408154
tune aws-nuke
Dec 5, 2024
3f9ae59
run plural down only for azure
maciaszczykm Dec 5, 2024
baace7c
Merge remote-tracking branch 'origin/sebastian/prod-2721-think-up-a-t…
maciaszczykm Dec 5, 2024
e3a0ec0
tune aws-nuke
Dec 5, 2024
8ebb6f2
tune aws-nuke
Dec 5, 2024
cd8258f
tune aws-nuke
Dec 5, 2024
43edbfe
add profile
Dec 5, 2024
80bc7f4
enable all providers
Dec 5, 2024
41cf975
Merge remote-tracking branch 'origin/main' into sebastian/prod-2721-t…
maciaszczykm Dec 19, 2024
7b3824e
post-merge fix
maciaszczykm Dec 19, 2024
85b6e8a
final adjustments
maciaszczykm Dec 19, 2024
aa3615d
rerun gcp e2e
floreks Dec 19, 2024
6173253
set plural up to main branch by default
floreks Dec 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
354 changes: 354 additions & 0 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,354 @@
name: E2E
on:
schedule:
- cron: 0 0 * * 1-5 # At 00:00 on every day-of-week from Monday through Friday
workflow_dispatch:
permissions:
id-token: write
contents: read
env:
GOPATH: /home/runner/go/
GOBIN: /home/runner/go/bin
PLURAL_LOGIN_AFFIRM_CURRENT_USER: true
PLURAL_UP_AFFIRM_DEPLOY: true
PLURAL_DOWN_AFFIRM_DESTROY: true
TESTOUT_PATH: /home/runner/testout
SSH_PATH: /home/runner/.ssh
VENOM_PATH: /usr/local/bin/venom
AWS_NUKE_PATH: /usr/local/bin/aws-nuke
VENOM_VAR_pluralHome: /home/runner/.plural
VENOM_VAR_directory: /home/runner/testout/azure
VENOM_VAR_gitRepo: [email protected]:pluralsh/plural-cli-e2e.git
VENOM_VAR_gitRepoPrivateKeyPath: /home/runner/.ssh/id_rsa
VENOM_VAR_pluralKey: ${{ secrets.E2E_PLURAL_PRIVATE_KEY }}
jobs:
plural-up-aws:
name: plural up / AWS
permissions:
contents: 'read'
id-token: 'write'
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: eu-west-1
role-to-assume: arn:aws:iam::911167907168:role/GitHubAction-AssumeRoleWithAction
role-session-name: GitHub_to_AWS_via_FederatedOIDC
- uses: mcblair/[email protected]
with:
role-arn: arn:aws:iam::911167907168:role/GitHubAction-AssumeRoleWithAction
profile-name: aws-nuke
- name: Store test timestamp
run: echo "TIMESTAMP=$(date +'%s')" >> $GITHUB_ENV
- name: Setup test repository SSH key
run: |
mkdir -p ${{ env.SSH_PATH }}
(base64 -d <<< ${{ secrets.E2E_REPO_PRIVATE_KEY }}) > ${{ env.VENOM_VAR_gitRepoPrivateKeyPath }}
chmod 600 ${{ env.VENOM_VAR_gitRepoPrivateKeyPath }}
eval "$(ssh-agent -s)"
ssh-add ${{ env.VENOM_VAR_gitRepoPrivateKeyPath }}
- name: Install aws-nuke
run: |
wget -c https://github.com/ekristen/aws-nuke/releases/download/v3.34.0/aws-nuke-v3.34.0-linux-amd64.tar.gz -O - | tar -xz -C /usr/local/bin
chmod +x ${{ env.AWS_NUKE_PATH }}
aws-nuke version
- name: Setup Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Add GOBIN to PATH
run: echo $GOBIN >> $GITHUB_PATH
- name: Setup Venom
run: |
curl https://github.com/ovh/venom/releases/download/v1.2.0/venom.linux-amd64 -L -o ${{ env.VENOM_PATH }}
chmod +x ${{ env.VENOM_PATH }}
venom version
- name: Setup Plural CLI
run: |
make install-cli
mkdir -p ${{ env.VENOM_VAR_pluralHome }}
plural version
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
- name: Print AWS CLI version
run: aws --version
- name: Create kube directory
run: |
mkdir -p $HOME/.kube
touch $HOME/.kube/config
chmod 755 $HOME/.kube/config
- name: Run tests
env:
VENOM_VAR_provider: aws
VENOM_VAR_region: eu-west-1
VENOM_VAR_awsZoneA: eu-west-1a
VENOM_VAR_awsZoneB: eu-west-1b
VENOM_VAR_awsZoneC: eu-west-1c
VENOM_VAR_awsProject: ${{ secrets.E2E_AWS_PROJECT_ID }}
VENOM_VAR_awsBucket: e2e-tf-state-${{ env.TIMESTAMP }}
VENOM_VAR_project: ${{ secrets.E2E_AWS_PROJECT_ID }}
VENOM_VAR_branch: e2e-${{ env.TIMESTAMP }}-aws
VENOM_VAR_username: ${{ secrets.E2E_AWS_SA_USERNAME }}
VENOM_VAR_email: ${{ secrets.E2E_AWS_SA_EMAIL }}
VENOM_VAR_token: ${{ secrets.E2E_AWS_SA_TOKEN }}
TF_VAR_deletion_protection: false
AWS_PROFILE: aws-nuke
run: venom run -vv --html-report --format=json --output-dir ${{ env.TESTOUT_PATH }} test/plural
- name: Post status on Slack
id: slack_message
if: always()
uses: slackapi/[email protected]
with:
webhook-type: incoming-webhook
webhook: ${{ secrets.SLACK_WEBHOOK }}
payload: |
blocks:
- type: section
text:
type: mrkdwn
text: "${{ github.workflow }} workflow finished."
- type: section
fields:
- type: mrkdwn
text: "*Repository*\n<https://github.com/${{ github.repository }}|${{ github.repository }}>"
- type: mrkdwn
text: "*Job*\n`${{ github.job }}`"
- type: mrkdwn
text: "*Status*\n`${{ job.status }}`"
- type: mrkdwn
text: "*Pull request*\n<${{ github.event.pull_request.html_url }}|${{ github.event.pull_request.title }}>"
- name: Upload artifacts to Slack on failure
if: failure()
uses: slackapi/[email protected]
with:
method: files.uploadV2
token: ${{ secrets.SLACK_BOT_TOKEN }}
payload: |
channel_id: ${{ secrets.SLACK_CHANNEL_ID }}
thread_ts: "${{ steps.slack_message.outputs.ts }}"
file_uploads:
- file: ${{ env.TESTOUT_PATH }}/venom.log
filename: venom.log
- file: ${{ env.TESTOUT_PATH }}/test_results.html
filename: rest_results.html
plural-up-gcp:
name: plural up / GCP
permissions:
contents: 'read'
id-token: 'write'
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Store test timestamp
run: echo "TIMESTAMP=$(date +'%s')" >> $GITHUB_ENV
- name: Setup test repository SSH key
run: |
mkdir -p ${{ env.SSH_PATH }}
(base64 -d <<< ${{ secrets.E2E_REPO_PRIVATE_KEY }}) > ${{ env.VENOM_VAR_gitRepoPrivateKeyPath }}
chmod 600 ${{ env.VENOM_VAR_gitRepoPrivateKeyPath }}
eval "$(ssh-agent -s)"
ssh-add ${{ env.VENOM_VAR_gitRepoPrivateKeyPath }}
- name: GCloud Auth
uses: google-github-actions/auth@v2
with:
service_account: ${{ secrets.E2E_GCP_EMAIL }}
workload_identity_provider: projects/657418122889/locations/global/workloadIdentityPools/github/providers/github
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
version: '>= 363.0.0'
- name: Setup Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Add GOBIN to PATH
run: echo $GOBIN >> $GITHUB_PATH
- name: Setup Venom
run: |
curl https://github.com/ovh/venom/releases/download/v1.2.0/venom.linux-amd64 -L -o ${{ env.VENOM_PATH }}
chmod +x ${{ env.VENOM_PATH }}
venom version
- name: Setup Plural CLI
run: |
make install-cli
mkdir -p ${{ env.VENOM_VAR_pluralHome }}
plural version
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
- name: Print Google Cloud CLI version
run: gcloud --version
- name: Create kube directory
run: |
mkdir -p $HOME/.kube
touch $HOME/.kube/config
chmod 755 $HOME/.kube/config
- name: Run tests
env:
VENOM_VAR_provider: gcp
VENOM_VAR_region: us-central1
VENOM_VAR_gcpOrgID: ${{ secrets.E2E_GCP_ORG_ID }}
VENOM_VAR_gcpBillingID: ${{ secrets.E2E_GCP_BILLING_ID }}
VENOM_VAR_project: e2e-${{ env.TIMESTAMP }}
VENOM_VAR_branch: e2e-${{ env.TIMESTAMP }}-gcp
VENOM_VAR_username: ${{ secrets.E2E_GCP_SA_USERNAME }}
VENOM_VAR_email: ${{ secrets.E2E_GCP_SA_EMAIL }}
VENOM_VAR_token: ${{ secrets.E2E_GCP_SA_TOKEN }}
TF_VAR_network: plural-e2e-network-${{ env.TIMESTAMP }}
TF_VAR_subnetwork: plural-e2e-subnet-${{ env.TIMESTAMP }}
run: venom run -vv --html-report --format=json --output-dir ${{ env.TESTOUT_PATH }} test/plural
- name: Post status on Slack
id: slack_message
if: always()
uses: slackapi/[email protected]
with:
webhook-type: incoming-webhook
webhook: ${{ secrets.SLACK_WEBHOOK }}
payload: |
blocks:
- type: section
text:
type: mrkdwn
text: "${{ github.workflow }} workflow finished."
- type: section
fields:
- type: mrkdwn
text: "*Repository*\n<https://github.com/${{ github.repository }}|${{ github.repository }}>"
- type: mrkdwn
text: "*Job*\n`${{ github.job }}`"
- type: mrkdwn
text: "*Status*\n`${{ job.status }}`"
- type: mrkdwn
text: "*Pull request*\n<${{ github.event.pull_request.html_url }}|${{ github.event.pull_request.title }}>"
- name: Upload artifacts to Slack on failure
if: failure()
uses: slackapi/[email protected]
with:
method: files.uploadV2
token: ${{ secrets.SLACK_BOT_TOKEN }}
payload: |
channel_id: ${{ secrets.SLACK_CHANNEL_ID }}
thread_ts: "${{ steps.slack_message.outputs.ts }}"
file_uploads:
- file: ${{ env.TESTOUT_PATH }}/venom.log
filename: venom.log
- file: ${{ env.TESTOUT_PATH }}/test_results.html
filename: rest_results.html
plural-up-azure:
name: plural up / Azure
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Store test timestamp
run: echo "TIMESTAMP=$(date +'%s')" >> $GITHUB_ENV
- name: Setup test repository SSH key
run: |
mkdir -p ${{ env.SSH_PATH }}
(base64 -d <<< ${{ secrets.E2E_REPO_PRIVATE_KEY }}) >> ${{ env.VENOM_VAR_gitRepoPrivateKeyPath }}
chmod 600 ${{ env.VENOM_VAR_gitRepoPrivateKeyPath }}
eval "$(ssh-agent -s)"
ssh-add ${{ env.VENOM_VAR_gitRepoPrivateKeyPath }}
- name: Setup Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Add GOBIN to PATH
run: echo $GOBIN >> $GITHUB_PATH
- name: Setup Venom
run: |
curl https://github.com/ovh/venom/releases/download/v1.2.0/venom.linux-amd64 -L -o ${{ env.VENOM_PATH }}
chmod +x ${{ env.VENOM_PATH }}
venom version
- name: Setup Plural CLI
run: |
make install-cli
mkdir -p ${{ env.VENOM_VAR_pluralHome }}
plural version
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
- name: Print Azure CLI version
run: az --version
- name: Create kube directory
run: |
mkdir -p $HOME/.kube
touch $HOME/.kube/config
chmod 755 $HOME/.kube/config
- name: Login to Azure
uses: azure/login@v2
with:
client-id: ${{ secrets.E2E_AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.E2E_AZURE_TENANT_ID }}
subscription-id: ${{ secrets.E2E_AZURE_SUBSCRIPTION_ID }}
- name: Run tests
env:
ARM_USE_AKS_WORKLOAD_IDENTITY: true
ARM_SUBSCRIPTION_ID: ${{ secrets.E2E_AZURE_SUBSCRIPTION_ID }}
ARM_CLIENT_ID: ${{ secrets.E2E_AZURE_CLIENT_ID }}
ARM_TENANT_ID: ${{ secrets.E2E_AZURE_TENANT_ID }}
VENOM_VAR_provider: azure
VENOM_VAR_region: polandcentral
VENOM_VAR_azureTenantId: ${{ secrets.E2E_AZURE_TENANT_ID }}
VENOM_VAR_azureSubscriptionId: ${{ secrets.E2E_AZURE_SUBSCRIPTION_ID }}
VENOM_VAR_azureStorageAccount: e2e${{ env.TIMESTAMP }}
VENOM_VAR_project: e2e-${{ env.TIMESTAMP }}
VENOM_VAR_branch: e2e-${{ env.TIMESTAMP }}-azure
VENOM_VAR_username: ${{ secrets.E2E_AZURE_SA_USERNAME }}
VENOM_VAR_email: ${{ secrets.E2E_AZURE_SA_EMAIL }}
VENOM_VAR_token: ${{ secrets.E2E_AZURE_SA_TOKEN }}
run: |
# Create resource group and storage account
az group create --name ${{ env.VENOM_VAR_project }} --location ${{ env.VENOM_VAR_region }} --output none
az storage account create --name ${{ env.VENOM_VAR_azureStorageAccount }} --resource-group ${{ env.VENOM_VAR_project }} --location ${{ env.VENOM_VAR_region }} --sku Standard_LRS --kind StorageV2 --output none

# Export access key that is required to authenticate to Terraform azurerm backend
export ARM_ACCESS_KEY=$(az storage account keys list --resource-group ${{ env.VENOM_VAR_project }} --account-name ${{ env.VENOM_VAR_azureStorageAccount }} --query '[0].value' -o tsv)

# Run tests
venom run -vv --html-report --format=json --output-dir ${{ env.TESTOUT_PATH }} test/plural
- name: Post status on Slack
if: always()
uses: slackapi/[email protected]
with:
webhook-type: incoming-webhook
webhook: ${{ secrets.SLACK_WEBHOOK }}
payload: |
blocks:
- type: section
text:
type: mrkdwn
text: "${{ github.workflow }} workflow finished."
- type: section
fields:
- type: mrkdwn
text: "*Repository*\n<https://github.com/${{ github.repository }}|${{ github.repository }}>"
- type: mrkdwn
text: "*Job*\n`${{ github.job }}`"
- type: mrkdwn
text: "*Status*\n`${{ job.status }}`"
- type: mrkdwn
text: "*Pull request*\n<${{ github.event.pull_request.html_url }}|${{ github.event.pull_request.title }}>"
- name: Upload artifacts to Slack on failure
id: slack_message
if: failure()
uses: slackapi/[email protected]
with:
method: files.uploadV2
token: ${{ secrets.SLACK_BOT_TOKEN }}
payload: |
channel_id: ${{ secrets.SLACK_CHANNEL_ID }}
thread_ts: "${{ steps.slack_message.outputs.ts }}"
file_uploads:
- file: ${{ env.TESTOUT_PATH }}/venom.log
filename: venom.log
- file: ${{ env.TESTOUT_PATH }}/test_results.html
filename: rest_results.html
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@
.idea/
.vscode/

# OS files
.DS_Store

# Testing files
context.yaml
workspace.yaml

# Build files and binaries
dist/
build/
testout/
*.exe
*.exe~
*.dll
Expand Down
Loading
Loading