-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docs CI CD #1785
base: main
Are you sure you want to change the base?
Docs CI CD #1785
Conversation
…ease, adjust workflow names to have same syntax.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding documentation 👍 💯
@@ -12,10 +12,10 @@ parameters: | |||
default: "run_if_on_main" | |||
type: enum | |||
enum: ["run_if_on_main", "run", "skip"] | |||
run_deliver_beta_backend_administration: | |||
run_delivery_beta_backend_administration: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Previously all workflows were named consistently:
run_[verb]_[beta/prodcution]_[plattform]
Now you changed the ´deliver´ to delivery
and it is the only workflow that has inconsistent naming. I suggest to undo this change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not all workflows were named consistently.
There were deliver and delivery
For integreat we also use delivery, so i thought we may also use it here. I think run(verb) and delivery (noun) is also valid tbh
| Workflow | Schedule/Trigger | Checks | native delivery | backend_administration delivery | Version bump | | ||
|--------------------------------------------|------------------|--------------------|-----------------|---------------------------------|--------------------| | ||
| commit | commits of PRs | :heavy_check_mark: | :x: | :x: | :x: | | ||
| commit_main | commits on main | :x: | :x: | :x: | :x: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Checks are executed both on commit and commit_main
| commit | commits of PRs | :heavy_check_mark: | :x: | :x: | :x: | | ||
| commit_main | commits on main | :x: | :x: | :x: | :x: | | ||
| delivery_beta_all | script | :heavy_check_mark: | beta | beta | :heavy_check_mark: | | ||
| promote_all | script | :x: | promotion | promotion | :x: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"script" is a misleading wording here, suggesting somewhere scripts are starting these workflows. I would just write "manual" as the trigger?
- TypeScript checks | ||
- Unit testing with jest | ||
- Building the app | ||
- Backend health |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That needs to be adjusted. checks that are executed are everything that happens in these
- check
- check_backend
- check_administration
- check_frontend
including e.g. ktlint, backend unit tests, checking circleci config, dart formatting...
|
||
Steps executed if _Version bump_ is checked :heavy_check_mark:: | ||
|
||
- Bump version: Bump the version(s) and create a tag and release on github |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would only reference to the app-toolbelt repository here and not document behavior from another repository, which makes it annoying to maintain.
| CREDENTIALS_KEYSTORE_PATH | Path to the OpenSSL AES256-CBC encrypted Java Keystore file | - | /home/circleci/credentials/<secret>.enc | Look for the `openssl enc` command in the Android Fastlane file for more information | | ||
| KEYSTORE_PATH | Path to the decrypted Java Keystore file | - | /home/circleci/keystore.jks | - | | ||
| CREDENTIALS_KEYSTORE_PASSWORD | Password for decrypting the keystore using OpenSSL | | password | - | | ||
| KEYSTORE_KEY_ALIAS | Alias of the key within the Java Keystore | You should look in the JKS file using `keytool -list -v -keystore <jks>` | my-key | - | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is specific per project and the env variables are called this:
KEYSTORE_KEY_ALIAS_BAYERN
KEYSTORE_KEY_ALIAS_NUERNBERG
KEYSTORE_KEY_ALIAS_KOBLENZ
KEYSTORE_KEY_PASSWORD_BAYERN
KEYSTORE_KEY_PASSWORD_NUERNBERG
'KEYSTORE_KEY_PASSWORD_KOBLENZ
|
||
## Hints and Quirks | ||
|
||
### CPU count aka. \$TOTAL_CPUS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do not do this in entitlementcard, it is Integreat specific
|
||
## Troubleshooting | ||
|
||
This section lists some commands that may help you to find and solve issues in a new deployment on staging or production server. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice thanks for adding these instructions. Please move them to a separate file as this is not CICD releated.
- Set a new tag with `<version>` | ||
- Generate release notes and update CHANGELOG.md | ||
- Update version in `/administration/package.json` and `frontend/pubspec.yaml` | ||
- Create a release branch on current main: `release-<version> f.e. "release-2024.11.1` (check out the `version.json` in root folder and increment it) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe you can link here to the "how to get the version section" you wrote in the cicd.md
- Create PR to main branch | ||
- Trigger `delivery_beta_all` workflow or `delivery_beta_natve` or `delivery_beta_backend_administration` if you just want to create a release artifact for a particular platform |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add a hint delivery_beta_natve
or delivery_beta_backend_administration
is not recommended.
Short description
I added some docs for ci/cd because we mostly finished that milestone.
I copied the structure from integreat and adjusted and added some parts.
Proposed changes
Side effects
@ztefanie and @steffenkleinle maybe you could double check variables and dependencies section. I probably forgot sth or did not adjust properly
I hope that helps you to trigger release and make troubleshooting