Generally this repository is used for a centrally defines Renovate configuration and it also provides the Github profile page. Besides that there is some Terraform code to manage the members of the organization and the repositories.
We use mise to manage all required tools and their versions. Install it
by following the official installation instructions, then run
the following commands inside the repository to activate mise and install all
tools defined in mise.toml:
mise trust
mise installWe are using Terraform to provision all related parts. Every change have to be submitted via pull requests, after merging the pull request the changes are getting applied automatically by our CI system. It is possible to execute everything from a workstation, but it's encouraged to keep it in the hands of our CI system.
To get access to the secrets you got to install the 1Password CLI, you can
choose on your own if you export the OP_SERVICE_ACCOUNT_TOKEN environment
variable or simply execute op signin.
cat << EOF > mise.local.toml
[env]
GITHUB_TOKEN = "$(op read op://Webhippie/Github/token)"
AWS_ACCESS_KEY_ID = "$(op read op://Webhippie/Terraform/username)"
AWS_SECRET_ACCESS_KEY = "$(op read op://Webhippie/Terraform/password)"
EOFThis writes the environment variables into mise.local.toml which is ignored
by Git and only active for your workstation. Run mise trust first if you
haven't already done so for this repository.
terraform -chdir=terraform/ init
terraform -chdir=terraform/ plan
terraform -chdir=terraform/ applybundle install
bundle exec scripts/generate-statusIf you find a security issue please contact thomas@webhippie.de first.
Generally we are following conventional commits when we apply changes. That way we are able to generate proper changelogs for every release. Please use always pull requests to integrate new functionalities or to fix issues.
For the release process we are following semantic versioning which clearly indicates if a new version just resolves bugs, includes new features or even includes breaking changes.
After installing the tools via mise install as described above set up the
pre-commit hooks so they run automatically on every commit:
pre-commit install --hook-type pre-commit --hook-type commit-msg
pre-commitis managed by mise and will be available aftermise install.
If you have changed something on the source you should simply commit following the mentioned conventions:
git checkout -b feat/new-feature
git add --all
git commit -m 'feat: added awesome new feature'
git push --set-upstream origin feat/new-featureAfter pushing your changes into the Git repository you should create a pull request on GitHub. If the pull request have been merged and everything built fine it will also create automatically a new release at least once a week.
Apache-2.0
Copyright (c) 2024 Thomas Boerger <thomas@webhippie.de>