GitHub Actions¶
The allez repo tests itself on a real tenant. Its copy of the sample in fabric/ deploys through two workflows, with allez installed from the checkout. The promotion a team runs, through test and prod behind reviewers, is in allez-example (example usage).
Branches¶
| Branch | Role | What runs |
|---|---|---|
sample/main |
The commit under test, fast-forwarded from main: git push origin main:sample/main. |
sample-deploy.yml |
sample/feature/<name> |
A branch workspace per branch. | sample-provision.yml, once, when the branch is created |
Branches under sample/ are reserved for the maintainer: a ruleset limits them to administrators, and the workflows run only from them. A contributor never pushes to them, and a pull request from a fork never triggers a deploy. The maintainer runs the rig before a release.
Workflows¶
| Workflow | Trigger | Runs |
|---|---|---|
| sample-provision.yml | a sample/feature/* branch is created |
allez provision fabric --env feature, then allez deploy fabric --env feature --branch-workspace --commit-to-git |
| sample-deploy.yml | a push to sample/main, or by hand |
allez deploy fabric --env dev, then allez teardown fabric --orphans |
Two composite actions under .github/actions/ hold the shared steps: fab-setup installs allez from the checkout and signs in, and fab-deploy runs allez deploy and uploads the log.