Skip to content

Commit 17e9221

Browse files
chore(actions): Add release stack and tests on tag event (#2904)
Signed-off-by: Viacheslav Kudinov <viacheslav@kudinov.tech>
1 parent b691d8f commit 17e9221

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed

.github/workflows/release.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,63 @@ permissions:
1414
contents: write
1515

1616
jobs:
17+
pre-release-tests:
18+
name: Run tests before release
19+
runs-on: ubuntu-latest
20+
env:
21+
test_stacks_directory: test_tf_stacks # root directory for test stacks
22+
pre_release_tests: provider_only # directory name for pre-release tests
23+
permissions:
24+
contents: read
25+
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
29+
30+
- name: Setup Go
31+
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
32+
with:
33+
go-version-file: go.mod
34+
cache: true
35+
36+
- name: Build provider
37+
run: go build -o terraform-provider-github
38+
39+
- name: Setup dev overrides
40+
run: |
41+
ROOT_DIR=$(pwd)
42+
cat > ~/.terraformrc << EOF
43+
provider_installation {
44+
dev_overrides {
45+
"integrations/github" = "${ROOT_DIR}"
46+
}
47+
direct {}
48+
}
49+
EOF
50+
51+
- name: Verify dev overrides setup
52+
run: cat ~/.terraformrc
53+
54+
- name: Setup Terraform
55+
uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
56+
with:
57+
terraform_version: 1.x
58+
59+
- name: Check Terraform version
60+
run: terraform version
61+
62+
- name: Terraform init
63+
continue-on-error: true # continue even if init fails
64+
run: terraform -chdir=./${{ env.test_stacks_directory }}/${{ env.pre_release_tests }} init
65+
66+
- name: Terraform validate
67+
run: terraform -chdir=./${{ env.test_stacks_directory }}/${{ env.pre_release_tests }} validate
68+
69+
- name: Clean up
70+
run: rm -f ~/.terraformrc terraform-provider-github
71+
1772
goreleaser:
73+
needs: [ pre-release-tests ] # runs only if pre-release tests pass
1874
runs-on: ubuntu-latest
1975
steps:
2076
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
terraform {
2+
required_providers {
3+
github = {
4+
source = "integrations/github"
5+
}
6+
}
7+
}
8+
9+
provider "github" {
10+
token = "fake_token_for_validation"
11+
}

0 commit comments

Comments
 (0)