-
Notifications
You must be signed in to change notification settings - Fork 0
Setup
Important
If you are planning to create something that you want to release publicly:
🛑 STOP - Talk to the corresponding people (e.g. AB-xdev) BEFORE you start coding a single line!
Publicly available components need to full-fill some important criteria, e.g. modularity, extensability, code style, maintenance planning, etc.
If you want to use this template do the following:
- Clone the addon-template repository locally into a new (temporary) folder
- Create a new (empty - with no content) GitHub repository
- Change the origin of the cloned repo so that it points to the newly created empty GitHub repo (this might be helpful) and push it
- The newly created GitHub repo should now contain the contents of this template, you can remove the temporary folder now
- Replace
template-placeholderwith the repository name- Exception: Do not replace it inside
update-from-template.yml!
- Exception: Do not replace it inside
- Check the Readme
Some settings may require a public repository
- Disable wikis (they are not used by us because the lack versioning and accessibility)
- Disable discussions (issues are sufficient)
- Disable projects (we have a "super"-project that already takes care of that - we don't need a separate project per repo)
- Enable "Automatically delete head branches" (so that there are no "dead"-PR branches)
- Enable "Limit how many branches and tags can be updated in a single push" (Up to 5)
- Add the corresponding Team with role
Admin - Add the
Dependency Updates-Team with roleWrite(if you want dependency updates, which is highly recommended)
- Default branch:
develop - Create and enable branch protection for
-
develop(Development-Branch) -
master("Current Release"-Branch)
-
- Workflow permissions: "Read repository contents permission"
- Enable "Allow GitHub Actions to create and approve pull requests"
- Source:
Deploy from a branch - Branch:
gh-pagesFolder:/(root)
This is now managed organization wide and no longer has to be configured manually
These need to be added by an organization administrator
- Required for releasing Maven
SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAMESONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN-
PACKAGES_CENTRAL_TOKEN- The PAT belongs to https://github.com/xdev-gh-bot MAVEN_GPG_PASSPHRASEMAVEN_GPG_PRIVATE_KEY
- Required for updates from the template
-
UPDATE_FROM_TEMPLATE_PAT- The PAT belongs to https://github.com/xdev-gh-bot
-
Change the Repository Details/About
- Add a description
- Add some Topics/Labels, e.g.
api-client,<Productname>-client, ...
Once in a week a GitHub action is executed that tries to sync the changes from the template.
If changes are found a PR is created.
Check the PR changes from time to time and merge them into the develop.