- Add new feature to service A.
- Wait for GitHub Actions to run tests and linting.
- Fix inevitable linting error that wasn't picked up by by the awful linting in VSCode.
- git commit -m "chore: fix rubocop offences"
- Wait for GitHub Actions to run tests and linting.
- Tag a new version of service A.
- Wait for GitHub Actions to create the image.
- Deploy changes to service A.
- Update service A's client library to include new feature.
- Wait for GitHub Action to run tests and linting,
- Tag a new version of the client library for service A.
- Wait for GitHub Actions to create and publish the package.
- Update dependency in service B to use the new version of service A.
- Realise you didn't add everything you needed to the client library.
- Update client library.
- Wait for GitHub Actions to run tests and linting.
- Release a new version of the package.
- Update dependency in service B to use the new version of service A.
- Use feature for a little while in service B.
- Realise you need a new feature in service A. Back to step 1. Rinse and repeat.