Micro-service workflow

  1. Add new feature to service A.
  2. Wait for GitHub Actions to run tests and linting.
  3. Fix inevitable linting error that wasn't picked up by by the awful linting in VSCode.
  4. git commit -m "chore: fix rubocop offences"
  5. Wait for GitHub Actions to run tests and linting.
  6. Tag a new version of service A.
  7. Wait for GitHub Actions to create the image.
  8. Deploy changes to service A.
  9. Update service A's client library to include new feature.
  10. Wait for GitHub Action to run tests and linting,
  11. Tag a new version of the client library for service A.
  12. Wait for GitHub Actions to create and publish the package.
  13. Update dependency in service B to use the new version of service A.
  14. Realise you didn't add everything you needed to the client library.
  15. Update client library.
  16. Wait for GitHub Actions to run tests and linting.
  17. Release a new version of the package.
  18. Update dependency in service B to use the new version of service A.
  19. Use feature for a little while in service B.
  20. Realise you need a new feature in service A. Back to step 1. Rinse and repeat.