-
Notifications
You must be signed in to change notification settings - Fork 1
First draft of CD workflow #108
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
Conversation
d9abc71
to
d7b02d2
Compare
d7b02d2
to
4ee95ec
Compare
4ee95ec
to
6b2736b
Compare
6b2736b
to
3f1502d
Compare
3f1502d
to
db82446
Compare
db82446
to
dd21b1a
Compare
dd21b1a
to
effbe70
Compare
effbe70
to
d17633b
Compare
d17633b
to
7fd059b
Compare
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.
These latest changes make sense to me - we're using the raw helm
command so it's acting equivalently to our dev environments
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.
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
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.
Seems sensible. Is the plan to use helm
for development as well as production eventually?
.github/workflows/deploy.yml
Outdated
-f ${{ vars.CHART_OVERRIDE_PATH }} \ | ||
-n invenio --install --create-namespace \ | ||
--set invenio.secret_key="${{ secrets.INVENIO_SECRET_KEY }}" \ | ||
--set invenio.security_login_salt="${{ secrets.INVENIO_SECURITY_LOGIN_SALT }}" \ | ||
--set invenio.csrf_secret_salt="${{ secrets.INVENIO_CSRF_SECRET_SALT }}" \ | ||
--set invenio.extraConfig.ICL_OAUTH_CLIENT_ID=${{ vars.ICL_OAUTH_CLIENT_ID }} \ | ||
--set invenio.extraConfig.ICL_OAUTH_CLIENT_SECRET="${{ secrets.ICL_OAUTH_CLIENT_SECRET }}" \ | ||
--set invenio.extraConfig.ICL_OAUTH_WELL_KNOWN_URL=${{ vars.ICL_OAUTH_WELL_KNOWN_URL }} \ | ||
--set rabbitmq.auth.password="${{ secrets.RABBITMQ_AUTH_PASSWORD }}" \ | ||
--set postgresql.auth.password="${{ secrets.POSTGRESQL_AUTH_PASSWORD }}" \ | ||
--set invenio.hostname=${{ vars.HOSTNAME }} \ | ||
--set web.image=${{ inputs.image_tag_with_sha }} \ | ||
--set worker.image=${{ inputs.image_tag_with_sha }} \ | ||
--set invenio.datacite.password="${{ secrets.DATACITE_PASSWORD }}" \ | ||
--set invenio.datacite.username=${{ vars.DATACITE_USERNAME }} \ | ||
--set invenio.extraConfig.INVENIO_DATACITE_PREFIX=${{ vars.DATACITE_PREFIX }} \ | ||
--set-string invenio.extraConfig.INVENIO_DATACITE_TEST_MODE=True \ | ||
--set invenio.extraConfig.INVENIO_MAIL_USERNAME=${{ vars.EMAIL_USERNAME }} \ | ||
--set invenio.extraConfig.INVENIO_MAIL_PASSWORD="${{ secrets.MAIL_PASSWORD }}" \ | ||
--set persistence.size=${{ vars.FILES_STORAGE_SIZE }} \ | ||
--set-string invenio.extraConfig.INVENIO_MAIL_USE_TLS=True \ | ||
--set-string invenio.extraConfig.INVENIO_MAIL_DEFAULT_SENDER=${{ vars.EMAIL_USERNAME }} |
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.
How about some more indentation for readability:
-f ${{ vars.CHART_OVERRIDE_PATH }} \ | |
-n invenio --install --create-namespace \ | |
--set invenio.secret_key="${{ secrets.INVENIO_SECRET_KEY }}" \ | |
--set invenio.security_login_salt="${{ secrets.INVENIO_SECURITY_LOGIN_SALT }}" \ | |
--set invenio.csrf_secret_salt="${{ secrets.INVENIO_CSRF_SECRET_SALT }}" \ | |
--set invenio.extraConfig.ICL_OAUTH_CLIENT_ID=${{ vars.ICL_OAUTH_CLIENT_ID }} \ | |
--set invenio.extraConfig.ICL_OAUTH_CLIENT_SECRET="${{ secrets.ICL_OAUTH_CLIENT_SECRET }}" \ | |
--set invenio.extraConfig.ICL_OAUTH_WELL_KNOWN_URL=${{ vars.ICL_OAUTH_WELL_KNOWN_URL }} \ | |
--set rabbitmq.auth.password="${{ secrets.RABBITMQ_AUTH_PASSWORD }}" \ | |
--set postgresql.auth.password="${{ secrets.POSTGRESQL_AUTH_PASSWORD }}" \ | |
--set invenio.hostname=${{ vars.HOSTNAME }} \ | |
--set web.image=${{ inputs.image_tag_with_sha }} \ | |
--set worker.image=${{ inputs.image_tag_with_sha }} \ | |
--set invenio.datacite.password="${{ secrets.DATACITE_PASSWORD }}" \ | |
--set invenio.datacite.username=${{ vars.DATACITE_USERNAME }} \ | |
--set invenio.extraConfig.INVENIO_DATACITE_PREFIX=${{ vars.DATACITE_PREFIX }} \ | |
--set-string invenio.extraConfig.INVENIO_DATACITE_TEST_MODE=True \ | |
--set invenio.extraConfig.INVENIO_MAIL_USERNAME=${{ vars.EMAIL_USERNAME }} \ | |
--set invenio.extraConfig.INVENIO_MAIL_PASSWORD="${{ secrets.MAIL_PASSWORD }}" \ | |
--set persistence.size=${{ vars.FILES_STORAGE_SIZE }} \ | |
--set-string invenio.extraConfig.INVENIO_MAIL_USE_TLS=True \ | |
--set-string invenio.extraConfig.INVENIO_MAIL_DEFAULT_SENDER=${{ vars.EMAIL_USERNAME }} | |
-f ${{ vars.CHART_OVERRIDE_PATH }} \ | |
-n invenio --install --create-namespace \ | |
--set invenio.secret_key="${{ secrets.INVENIO_SECRET_KEY }}" \ | |
--set invenio.security_login_salt="${{ secrets.INVENIO_SECURITY_LOGIN_SALT }}" \ | |
--set invenio.csrf_secret_salt="${{ secrets.INVENIO_CSRF_SECRET_SALT }}" \ | |
--set invenio.extraConfig.ICL_OAUTH_CLIENT_ID=${{ vars.ICL_OAUTH_CLIENT_ID }} \ | |
--set invenio.extraConfig.ICL_OAUTH_CLIENT_SECRET="${{ secrets.ICL_OAUTH_CLIENT_SECRET }}" \ | |
--set invenio.extraConfig.ICL_OAUTH_WELL_KNOWN_URL=${{ vars.ICL_OAUTH_WELL_KNOWN_URL }} \ | |
--set rabbitmq.auth.password="${{ secrets.RABBITMQ_AUTH_PASSWORD }}" \ | |
--set postgresql.auth.password="${{ secrets.POSTGRESQL_AUTH_PASSWORD }}" \ | |
--set invenio.hostname=${{ vars.HOSTNAME }} \ | |
--set web.image=${{ inputs.image_tag_with_sha }} \ | |
--set worker.image=${{ inputs.image_tag_with_sha }} \ | |
--set invenio.datacite.password="${{ secrets.DATACITE_PASSWORD }}" \ | |
--set invenio.datacite.username=${{ vars.DATACITE_USERNAME }} \ | |
--set invenio.extraConfig.INVENIO_DATACITE_PREFIX=${{ vars.DATACITE_PREFIX }} \ | |
--set-string invenio.extraConfig.INVENIO_DATACITE_TEST_MODE=True \ | |
--set invenio.extraConfig.INVENIO_MAIL_USERNAME=${{ vars.EMAIL_USERNAME }} \ | |
--set invenio.extraConfig.INVENIO_MAIL_PASSWORD="${{ secrets.MAIL_PASSWORD }}" \ | |
--set persistence.size=${{ vars.FILES_STORAGE_SIZE }} \ | |
--set-string invenio.extraConfig.INVENIO_MAIL_USE_TLS=True \ | |
--set-string invenio.extraConfig.INVENIO_MAIL_DEFAULT_SENDER=${{ vars.EMAIL_USERNAME }} |
@@ -8,7 +8,7 @@ jobs: | |||
qa: | |||
runs-on: ubuntu-latest | |||
steps: | |||
- uses: actions/checkout@v3 | |||
- uses: actions/checkout@v4 |
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 was thinking dependabot normally does these... but it seems we don't actually have dependabot enabled for this repo. Do we want to add it?
8aeedc0
to
d2bafb6
Compare
Would be great if you could take a look when you get the chance @Steven-Eardley |
--set persistence.size=${{ vars.FILES_STORAGE_SIZE }} \ | ||
--set-string invenio.extraConfig.INVENIO_MAIL_USE_TLS=True \ | ||
--set-string invenio.extraConfig.INVENIO_MAIL_DEFAULT_SENDER=${{ vars.EMAIL_USERNAME }} \ | ||
--set worker.resources.requests.cpu=${{ vars.WORKER_REQUESTS_CPU }} \ |
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 understand this is what Trevor asked for - my approach would probably be to set these in the values.override and not necessarily bring them all the way out to helm upgrade
just because of the verbosity of this approach. But since it was a request, let's carry on
@@ -9,6 +9,8 @@ on: | |||
jobs: | |||
build-and-publish: | |||
runs-on: ubuntu-latest | |||
outputs: | |||
image_tag_with_sha: ${{ steps.export-data.outputs.image_tag_with_sha }} |
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.
handy for a proper rolling upgrade
copilot spellcheck Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
9aa2293
to
8628a8d
Compare
A deployment pipeline intended for use with the Beta launch:
Features:
develop
andmain
. In order to pass the sha of the published docker image the deployment is run is called from thepublish
workflow with the image tag being passed as an input argument.develop
andmain
branches but different values are provided for the secrets and environment variables via Github Actions environments. For manual deployments the environment is provided as an input value.Developer Checklist
Developers should review and confirm each of these items before requesting review
Reviewer Checklist
Reviewers should review and confirm each of these items before approval
If there are multiple reviewers, this section can be duplicated for each reviewer
Testing
List user test scripts that need to be run
List any non-unit test scripts that need to be run