Skip to content
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

Merged
merged 4 commits into from
Jan 20, 2025
Merged

Docs CI CD #1785

merged 4 commits into from
Jan 20, 2025

Conversation

f1sh1918
Copy link
Contributor

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

  • add documentation for ci/cd
  • rename productions setup to manual release and remove some deprecated information
  • rename workflows to have a common syntax

Side effects

  • some workflows may not be triggered, since some renamings were wrong. Check the parameters in each workflow and @common.yml

@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

…ease, adjust workflow names to have same syntax.
Copy link
Member

@ztefanie ztefanie left a 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 👍 💯

.circleci/src/@common.yml Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated
| 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 | - |
Copy link
Member

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thx for the hint @ztefanie
Is there any documentation about the gpg encryption. I think i didn't do a manual release after you created a general jks file and encrypted it. Maybe you can add sth to the app-credentials repo or give me some input :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The password for this is in passbolt. The usage of this is simple with command line tools, e.g.
keytool -v -list -keystore /path/to/keystore for listing all keys in a jks, but you can also use UI tools like "keystore explorer", but they sometimes lack the support of multiple keys with different passwords. Check out this PR for discussion or my thoughts of restructung this: https://github.com/digitalfabrik/app-credentials/pull/1

The command (simply using the gpg comand line tool for this) for encrypting and decrypting can be can be found in the passbold note of these passwords or in the android/Fastfile: gpg --verbose --passphrase #{CREDENTIALS_KEYSTORE_PASSWORD} --pinentry-mode loopback -o ~/#{KEYSTORE_PATH} -d #{CREDENTIALS_KEYSTORE_PATH}"

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this information should be added to the docs.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@connium yes but i think it should be in the app-credentials repo. i will update the readme there

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/manual-release.md Outdated Show resolved Hide resolved
docs/manual-release.md Outdated Show resolved Hide resolved
Copy link
Member

@steffenkleinle steffenkleinle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the doc!

.circleci/src/@common.yml Show resolved Hide resolved
.circleci/src/@common.yml Show resolved Hide resolved
@@ -14,7 +14,9 @@

## Documentation

* [Production Setup](./docs/production-setup.md)
* [Manual Releases](./docs/manual-release)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 Not sure if we should use manual here, this implies that there are also other kinds of releases (which there are not)

Suggested change
* [Manual Releases](./docs/manual-release)
* [Releases](./docs/releases)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm but we have releases via ci pipeline and there is some additional effort to them manually, thats why i pointed this out f.e. if pipeline doesn't work you can still follow these steps @steffenkleinle

docs/troubleshooting.md Show resolved Hide resolved
docs/manual-release.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
docs/cicd.md Outdated Show resolved Hide resolved
Copy link
Contributor

@seluianova seluianova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not very familiar with the release process, so my review is pretty superficial.
Thanks for the nice documentation, lgtm :)

@f1sh1918 f1sh1918 merged commit d2927d1 into main Jan 20, 2025
2 checks passed
@f1sh1918 f1sh1918 deleted the docs-ci-cd branch January 20, 2025 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants