Skip to content

Conversation

pcapriotti
Copy link
Contributor

This PR simplifies the PR checklist and moves most of the content into a dedicated document containing guidelines to be followed by PR authors.

Checklist

  • The PR Title explains the impact of the change.
  • The PR description provides context as to why the change should occur and what the code contributes to that effect. This could also be a link to a JIRA ticket or a Github issue, if there is one.

@smatting smatting self-requested a review August 23, 2022 13:41
@pcapriotti pcapriotti force-pushed the pcapriotti/new-checklist branch from b349c05 to 665eb52 Compare August 23, 2022 13:44
@pcapriotti pcapriotti temporarily deployed to cachix August 23, 2022 13:44 Inactive
@pcapriotti pcapriotti temporarily deployed to cachix August 23, 2022 13:44 Inactive
@zebot zebot added the ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist label Aug 23, 2022
@smatting smatting added the not-ok-to-test Not approved for running tests in CI, this label is ignored if ok-to-test also exists on a PR label Aug 23, 2022
@pcapriotti pcapriotti temporarily deployed to cachix August 23, 2022 13:45 Inactive
@pcapriotti pcapriotti temporarily deployed to cachix August 23, 2022 13:45 Inactive
Copy link
Contributor

@fisx fisx left a comment

Choose a reason for hiding this comment

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

i would prefer to leave empty files pointing to the new place rather than fully deleting them, but i'll leave it to you.

otherwise i like these changes!

- [ ] If a data migration (not schema migration) introduced: measures to be taken by on-premise instance operators.
- [ ] If public end-points have been changed or added: does nginz need un upgrade?
- [ ] If internal end-points have been added or changed: which services have to be deployed in a specific order?
- [ ] Add a new entry in a appropriate subdirectory of `changelog.d`
Copy link
Contributor

Choose a reason for hiding this comment

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

this is also covered by the next point, but i guess it's good for me that i'll have it here because i forget every single time, still. :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

True, but we decided to add it anyway because it's needed by essentially all PRs. The idea is that the PR author would take relevant checklists from the guidelines document and add them to the PR description, and this one item will basically always be there anyway.

@pcapriotti pcapriotti temporarily deployed to cachix August 24, 2022 06:43 Inactive
@pcapriotti pcapriotti temporarily deployed to cachix August 24, 2022 06:43 Inactive
@pcapriotti
Copy link
Contributor Author

i would prefer to leave empty files pointing to the new place rather than fully deleting them, but i'll leave it to you.

Those files where created very recently. I don't think anyone is going to be looking for them.

@pcapriotti pcapriotti temporarily deployed to cachix August 24, 2022 06:51 Inactive
@pcapriotti pcapriotti temporarily deployed to cachix August 24, 2022 06:51 Inactive
Copy link
Contributor

@fisx fisx left a comment

Choose a reason for hiding this comment

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

#2622 has landed, please move docs/developer/pr-guidelines.md to docs/src/developer/developer/pr-guidelines.md and add an entry in docs/src/developer/index.rst.

@pcapriotti pcapriotti force-pushed the pcapriotti/new-checklist branch from 9fcdafc to facadd0 Compare August 25, 2022 07:29
@pcapriotti pcapriotti temporarily deployed to cachix August 25, 2022 07:29 Inactive
@pcapriotti pcapriotti temporarily deployed to cachix August 25, 2022 07:29 Inactive
@pcapriotti
Copy link
Contributor Author

#2622 has landed, please move docs/developer/pr-guidelines.md to docs/src/developer/developer/pr-guidelines.md and add an entry in docs/src/developer/index.rst.

Not sure what I should add to docs/src/developer/index.rst.

@smatting
Copy link
Contributor

I just checked: it gets indexed automatically, there is a :glob: option with a * wildcard in the .toctree

- [ ] If HTTP endpoint paths have been added or renamed, check [docs/developer/adding-api-endpoints](https://github.com/wireapp/wire-server/blob/develop/docs/legacy/developer/adding-api-endpoints.md) and follow the steps there.
- [ ] If configuration options have been added or removed, check [docs/developer/adding-config-options](https://github.com/wireapp/wire-server/blob/develop/docs/legacy/developer/adding-config-options.md) and follow the steps there.
- [ ] If a cassandra schema migration has been added, I ran **`make git-add-cassandra-schema`** to update the cassandra schema documentation.
- [ ] I swear that if I have changed internal end-points, I do not implicitly rely on deployment ordering (brig needing to be deployed before galley), i.e. I have **not** introduced a new internal endpoint in brig and already make use of if in galley, as I'm aware old deployed galleys would throw 500s until all new version have been rolled out and I do not want a few minutes of downtime. Instead, I have thought how to merge brig an galley codebases.
Copy link
Contributor

@smatting smatting Aug 25, 2022

Choose a reason for hiding this comment

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

I swear that if I have changed internal end-points ...

This might be worth dicussing, because it has been removed. If we were to keep it in this would mean that we couldn't introduce or change any internal endpoints anymore (in any non-backwards compatible way).

Even such a strategy as making the change in release X and then only start using it in relase X+1 doesn't work, because customers might skip releases when upgrading.

I think there is nothing but to accept 500s during the deployment process for now

/cc @jschaul

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The only real solution would be to start using a versioning system for internal APIs. It seems a bit impractical, but it could be done, potentially.

@smatting smatting removed the ok-to-test Approved for running tests in CI, overrides not-ok-to-test if both labels exist label Aug 25, 2022
@pcapriotti pcapriotti temporarily deployed to cachix August 31, 2022 08:34 Inactive
@pcapriotti pcapriotti temporarily deployed to cachix August 31, 2022 08:34 Inactive
@pcapriotti pcapriotti merged commit 137811e into develop Aug 31, 2022
@pcapriotti pcapriotti deleted the pcapriotti/new-checklist branch August 31, 2022 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
not-ok-to-test Not approved for running tests in CI, this label is ignored if ok-to-test also exists on a PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants