Deployment
The STRV Website is deployed on Vercel, project strvcom/strv-web
.
Environments
- Production: used on
production
andmain
branch - Preview: used by all other branches and PRs
The main difference is the enabling of some development tools, and connection to staging sources if available.
Production Deployment
The process consists of a couple of mandatory steps:
Step 1: Create a Pull Request targeting the
main
branch (the default)- Follow contributing guidelines
Step 2: Execute the Release: create workflow manually. This action will:
- Update the CHANGELOG
- Create a new tag
- Push the tag
- Create a new release using this new tag and the changelog updates
Step 3: Publish the release using GitHub release editing UI.
On Step 2 above, you will be prompted to type
yes
orno
for production publishing. Inputingyes
is a shortcut to perform Step 3 subsequently after Step 2 creates the release.
Both Step 2 and Step 3 above will execute git related actions using the dedicated GitHub App STRV Website Actions. This is needed so that no specific user has a token attached to the process, and to enforce subsequent actions rul automatically (see this community issue)
References
Some references that lead to the current solution:
- Release creation with Standard Version
- Checkout whole tree for chanlog/versioning purposes
- The Ultimate Guide to GitHub Actions authentication
Emergency workflow 🚨 🔥 💩
The production environment is connected directly to the production
branch – which should NOT be manually pushed to
under ordinary circunstances. It is only configured this way so that urgent changes can get to production as fast as
a git push. However, only Frontend Leads are allowed to perform
direct push to production
branch. In case someone else is in need to perform the push, either contact the team
leads, or, if you have admin privileges on the repository, temporarily modify the branch's protection rules