-
Notifications
You must be signed in to change notification settings - Fork 48
feat(workflows): Schedule release workflow, use terraform-modules-vmseries-ci-workflows, execute Terratest for examples (plan for PR, deploy for release workflow) #328
Conversation
Only failed actions are for legacy examples, for which Makefiles were not created. After merging #327, this PR will be updated and all actions will succeeded. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the comments below do not affect the overall: 👍🏻 👍 👍
Co-authored-by: Łukasz Pawlęga <[email protected]>
…orkflows/pr_ci.yml Co-authored-by: Łukasz Pawlęga <[email protected]>
…orkflows/release_ci.yml
Co-authored-by: Łukasz Pawlęga <[email protected]>
The root cause for most failing actions is new certificates issued by GitHuh, which impact on OIDC integration and missing new thumbprint in AWS IAM settings for identity provider as described in issue 327. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍🏻
…e is an issue with tag v1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
however I did not test the code, but the PR should be introduced to create the baseline for future development in our CI apply approach.
The assumptions was checked, already discussed and approved.
Great work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work 🚀
…eries-ci-workflows, execute Terratest for examples (plan for PR, deploy for release workflow) (#328)
Prerequisites
Before merging this PR, legacy examples needs to be removed in #327 (this PR is not createing Makefiles for legacy examples).
Description
PR delivers:
After merging that PR:
terraform plan
without deploying infrastructure into cloudDetails
.github/actions/plan_apply/action.yml
, which is doingmake test
, notmake plan & apply
.github/workflows/ci.yml
and added.github/workflows/pr_ci.yml
.github/workflows/release.yml
and added.github/workflows/release_ci.yml
makefile.sh
with actionsvalidate
andtest
(noplan
,apply
,idempotence
as for Azure VM-Series modules)Makefile
for every examplemain_test.go
with Terratest for every examplemain_test.go
for examples do apply when environment variableDO_APPLY
istrue
Makefile
for every moduleprovider
inmodules/transit_gateway_peering/versions.tf
examples/combined_design_autoscale/example.tfvars
by copyingexamples/combined_design_autoscale/example-no-natgw-lambda-no-vpc.tfvars
and settingdesired_cap
andmin_size
to 0examples/standalone_vmseries_with_userdata_bootstrap/
e.g. added missing NACL, added missing name prefix (this one example was not yet refactored and adjusted as other examples for reference architectures)examples/combined_design_autoscale
, which were found while running tests e.g. scaling tagsexamples/isolated_design
, which were found while running tests e.g. VPC peeringgithub.com/PaloAltoNetworks/terraform-aws-vmseries-modules/tests/internal/
intogithub.com/PaloAltoNetworks/vm-series-gh-actions-aws/go/
in test filestests/internal/testskeleton
andtests/internal/helpers
intogo/testskeleton
andgo/helpers
go/testskeleton
Next steps (proposition)
Before merging this PR:
.github/workflows/release_ci.yml
, line23
)In later stages in new PRs:
terraform-modules-vmseries-tests-skeleton
with test skeleton (files currently ingo\testskeleton
andgo\helpers
(as test skeleton is going to be used for VM-Series modules for all clouds, not only AWS)tests
), which are working only withterraform plan
(this kind of tests are going to be executed for PR CI)tests
), which are deploying every module (this kind of tests are going to be executed for Release CI)tests
for PR CI (only plan) and for Release CI (with apply)AWS_REGION
in repository settings -> secrets and variables -> variables and remove temporary solution from.github/actions/plan_apply/action.yml
, lines46:47
Motivation and Context
In issue #86 there was a need to execute Terratest for modules and examples. In order to automate the process, GitHub actions and workflows needs to be extended.
How Has This Been Tested?
Code was tested on internal clone as described in PaloAltoNetworks/terraform-modules-swfw-ci-workflows#37.
Types of changes
Checklist