Skip to content

Repository files navigation

Crafthippie

General Workflow

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.

Prerequisites

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 install

Usage

We 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.

Variables

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)"
EOF

This 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.

Deployment

terraform -chdir=terraform/ init
terraform -chdir=terraform/ plan
terraform -chdir=terraform/ apply

Buildstatus

bundle install
bundle exec scripts/generate-status

Security

If you find a security issue please contact thomas@webhippie.de first.

Contributing

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-commit is managed by mise and will be available after mise 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-feature

After 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.

Authors

License

Apache-2.0

Copyright

Copyright (c) 2024 Thomas Boerger <thomas@webhippie.de>

About

General organization settings and overview

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages