Skip to content
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

Peer review Architecture #8

Open
6 tasks
FlatBallFlyer opened this issue Jan 1, 2024 · 2 comments
Open
6 tasks

Peer review Architecture #8

FlatBallFlyer opened this issue Jan 1, 2024 · 2 comments
Assignees

Comments

@FlatBallFlyer
Copy link
Contributor

FlatBallFlyer commented Jan 1, 2024

Please Review:

  • Architecture principle, diagrams (and issues).
  • 2-stage docker builds
  • GitHub Actions templates in this repo
  • GitHub Acrions in the mongodb, person-api, and person-ui repositories.
  • Use and configuration for GitHub Container Registry
  • Review Versioning approach for API & UI
    • Determine if git commit hash the best patch value
    • Requirement - find code based on version reported in /config and /admin
    • Should we have CI create a "release" in the repository?

Please create issues for any recommended changes.

@charlie-r
Copy link

Would it make sense to automatically generate a version number in the build system vs reading in /config or /admin (or are there auto-generated version numbers in those places already?)
I think your suggestion for having CI move builds/containers all the way through "release" makes sense. Generally I find that removing the human from the loop on the path to release leads to more reliable software in the long run and less engineering low value work.

@FlatBallFlyer
Copy link
Contributor Author

FlatBallFlyer commented Jan 17, 2024

The version approach uses a developer maintained semantic Major.Minor, and then the patch level is automatically generated by the Docker Build when the CI runs. It currently uses branch-commit-hash for the patch level. See the template 2-stage builds in the docker-configurations folder. I've considered using the GitHub API to create a "release" and use that info in the patch position, or possibly a date-time stamp. I'm open to other ideas.

I've updated the CICD documentation with this summary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants