Skip to content

Commit

Permalink
A few additional improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
dvacca-onfido committed Aug 22, 2024
1 parent 07fbc02 commit 2894add
Showing 1 changed file with 21 additions and 17 deletions.
38 changes: 21 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,15 @@ Repository is open to external contributions. At this end please:

Described below is the procedure on how to deliver new client libraries:

1. Merge all the requested PRs in [onfido-openapi-spec](https://github.com/onfido/onfido-openapi-spec) and wait for all CI workflows completion
2. Draft a new [onfido-openapi-spec](https://github.com/onfido/onfido-openapi-spec/releases) release using as _Release title_ last released version bumped accorginly to the type of change(s) (`vMAJOR.MINOR.PATCH`):
a. _Patch_: changes not involving the OpenAPI spec (e.g. template)
b. _Minor_: backward compatible changes to the OpenAPI spec
c. _Major_: non backward compatible changes to the OpenAPI spec
1. Merge all the requested PRs in [onfido-openapi-spec](https://github.com/onfido/onfido-openapi-spec) and wait for each workflow completion
2. Draft a new [onfido-openapi-spec](https://github.com/onfido/onfido-openapi-spec/releases) release using as _Release title_ last released version bumped accordingly to the type of change(s) (`vMAJOR.MINOR.PATCH`):

| Type | Description |
| ----------- | --------------------------------------------------------------------------------------------------------------------- |
| _Patch_ | changes not involving the OpenAPI spec (e.g. template) |
| _Minor_ | backward compatible changes to the OpenAPI spec |
| _Major_ | non-backward compatible changes to the OpenAPI spec |

3. Use the same _Release title_ (including `v`) to create a tag
4. Review and possibly amend release notes generated by clicking on the appropriate button
5. Enable _Set as a pre-release_ and click on _Publish release_
Expand All @@ -157,21 +161,21 @@ Described below is the procedure on how to deliver new client libraries:
| _Minor_ | backward compatible change to client library interface (e.g. new endpoint, new optional parameters) |
| _Major_ | non-backward compatible change to client library interface (e.g. remove or change endpoint, new mandatory parameters) |

8. Select the language(s) for which library should be refreshed
8. Select the language(s) for which client library(-ies) should be refreshed
9. Press _Run workflow_, a new PR will be created for each library or overridden if already present (steps 6-9 might be repeated)
10. For one client library at the time, check if CI is green or update integration tests as needed (they can't run in parallel)
11. Link any additional change in auto-generated PR's description, merge PR and wait for CI workflows completion
12. Draft a new client library release, by clicking on the _Releases_ button, _Draft a new release_
13. Use the `release` field from `.release.json` file as _Release title_, including the `v` prefix
10. For one client library at the time, check if workflows are green or update tests as needed (they can't run in parallel)
11. Reference any additional change in auto-generated PR's description, merge the PR and wait for each workflow completion
12. Draft a new client library release, by first clicking on the _Releases_ button and _Draft a new release_ afterwards
13. Use the `release` field's value from `.release.json` file as _Release title_, including the `v` prefix
14. Create a tag with same value as the _Release title_ and click on the _Generate release notes_ button
15. Copy and paste release notes `What's changed` section from onfido-openapi-spec's release notes just below the _Refresh onfido-..._ line, by:
a. removing lines that doesn't apply to current library
b. indenting of two spaces each line and replacing the intial asterix (`*`) with dash (`-`)
c. removing `by...` (till the end of the line) for keeping `CHANGELOG.md` file clean
16. Any additional changes manually performed into the library (e.g. tests, etc) needs to be added before the _Refresh onfido-..._ line, indented as usual (but using `-` as a list marker to make line appearing in the `CHANGELOG.md` file).
17. Click on _Publish release_
18. Check that CI has been succesfully executed (by clicking on the _Action_ button)
1. Removing lines that doesn't apply to current library and reference to current language if present
2. Indenting of two spaces each line and replacing the intial asterix (`*`) with dash (`-`)
3. Removing `by...` (till the end of the line) for keeping `CHANGELOG.md` file clean
16. Any additional change manually performed in the library (e.g. updated tests, etc) needs to be added before the _Refresh onfido-..._ line, indented as usual (but using `-` as a list marker to make line appearing in the `CHANGELOG.md` file).
17. Click on _Publish release_ button
18. Check that workflows have been succesfully executed (by clicking on the _Action_ button)
19. Replace `Refresh onfido-...` line in Release notes with the more appropriate `Release based on...` line from `CHANGELOG.md` file
20. Repeat steps 12-19 for each client library to deliver
21. Open onfido-openapi-spec release, untick _Set as a pre-release_ and tick _Set as the latest release_
21. Open onfido-openapi-spec release created a few steps before, untick _Set as a pre-release_, tick _Set as the latest release_ and click on the _Update release_ button to save it
22. If client library is targetting a new API version, update the [documentation](https://developers.onfido.com/guide/api-versioning-policy#client-libraries) with new client libraries version

0 comments on commit 2894add

Please sign in to comment.