Deployment - ecamp/ecamp3 GitHub Wiki

We use branches that point to a commit which should be deployed. Currently we have the following branches, which point to environments:

Devel is automatically deployed every 30 minutes, if there has been any change on the devel branch. To deploy a new version to the staging or prod environments, we create a PR from devel to staging, or from staging to prod. After the checks ran through and the required approvals are given, we use the fast-forward.yml action by adding a comment with the content: '/fast-forward'.

For the fast-forward action to work, we need the repository secret FAST_FORWARD_TOKEN which contains a "Fine grained personal access token" which is attached to a person (currently @BacLuc).
This token can be revoked by the organization here: https://github.com/organizations/ecamp/settings/personal-access-tokens-onboarding
For this token we need to set an expiry date, the lifespan maximum is 1 year.
The current token will expire at 2025-11-03.
You can create such a token here: https://github.com/settings/tokens?type=beta, and the organization needs to approve the token then here: https://github.com/organizations/ecamp/settings/personal-access-tokens-onboarding.

For auto-generating the description of the staging or prod deployment PRs, you can use the following command:

echo 'Includes the following non-renovate PRs:' && git log origin/prod..origin/devel --merges --first-parent --perl-regexp --grep='from ecamp/renovate/' --invert-grep | grep "Merge pull request" | awk '{print "- "$4}' | tac

Observability

We have a grafana instance running at https://prod-grafana.ecamp3.ch with GitHub login. Grafana login is in the KeePass file.