ModuleSync is used to keep configuration files of all of our different projects up to date and in sync.
It works by compiling the .erb
templates in the moduleroot
folder using variables from config_defaults.yml
and project-specific ones from .sync.yml
(in the respective project repository).
A pull request is then be opened for each project in managed_modules.yml
affected by these changes.
To check which changes will be affecting our projects, you can dry run a comparison locally.
Create a personal GitHub access tokenTo check out the code of the projects, you will need to set up a GitHub access token.
Go to GitHub user settings and create a personal access token with the following settings:
RegioHelden ModuleSync
RegioHelden
Public repositories
GITHUB_TOKEN=<YOUR_TOKEN_FROM_ABOVE>
To see the updates on the target projects that would result from your changes
Each project can have a .sync.yml
file, which will overwrite settings from the global config (see config_defaults.yml
)
An example .sync.yml
file will look like this one
--- :global: python_min_version: "3.11" module_rootname: "django_library" module_description: "This lib does awesome things to your Django app" module_keywords: ["django", "awesome"] .devcontainer/devcontainer.json: run_services: ["app", "db"]
It's also possible to mark files as unmanaged in .sync.yml
compose.yaml: unmanaged: true
Make sure branches are deleted after merge so that modulesync always starts clean
Pull requests
sectionAutomatically delete head branches
Set proper values for GIT_AUTHOR_NAME
, GIT_COMMITTER_NAME
, GIT_AUTHOR_EMAIL
and GIT_COMMITTER_EMAIL
in .github/workflows/update.yaml
GIT_AUTHOR_NAME
and GIT_COMMITTER_NAME
GIT_AUTHOR_EMAIL
and GIT_COMMITTER_EMAIL
Settings
Access
select Emails
Primary email address
, your anonymous committer email is listed in the explanation textSet up SSH key
ssh-keygen -t ed25519
MODULESYNC_SSH_PRIVATE_KEY
on this repository
Security
, open Secrets and variables
and select Actions
New repository secret
MODULESYNC_SSH_PRIVATE_KEY
as Name
Secret
Settings
Developer Settings
Access
, select SSH and GPG keys
New SSH key
ModuleSync commit key
as Title
Authentication Key
as Key type
Key
Settings
Developer Settings
Access
, select SSH and GPG keys
New SSH key
ModuleSync signing key
as Title
Signing Key
as Key type
Key
Create a personal access token and make it available as secret MODULESYNC_PERSONAL_ACCESS_TOKEN
on this repository
Settings
Developer Settings
Personal acccess tokens
and select Fine grained tokens
Generate new token
Resource owner
All repositories
for Repository access
Repository permissions
Metadata
read onlyPull requests
read and writeSecurity
, open Secrets and variables
and select Actions
New repository secret
MODULESYNC_PERSONAL_ACCESS_TOKEN
as Name
Secret
Commit the changes to a pull request on this repo. The build pipeline will first do a dry run for the reviewer to be able to check the changes.
When this PR is merged into the main branch, another pipeline job will create the PRs on the target projects.
See https://github.com/voxpupuli/modulesync for more details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4