Skip to main content

Deployment

The STRV Website is deployed on Vercel, project strvcom/strv-web.

Environments

  • Production: used on production and main 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)

  • 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 or no for production publishing. Inputing yes 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:

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