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

week2: demo proposal #2371

Merged
merged 1 commit into from
Aug 31, 2024
Merged

week2: demo proposal #2371

merged 1 commit into from
Aug 31, 2024

Conversation

hampfh
Copy link
Contributor

@hampfh hampfh commented Aug 28, 2024

Assignment Proposal

Title

Enforcing version consistency between identical package dependencies in monorepos

Names and KTH ID

Deadline

  • Week 2

Category

  • Demo

Description

We intend to demonstrate how to enforce version consistency for identical package dependencies in a monorepository, highlighting the benefits and detailing the corresponding implementation. In this demonstration, we will set up three simple web-apps using npm, with overlapping dependencies. We will then create a CI script that performs a tree search across the entire monorepository to compare package versions among the projects. If a mismatch is detected, the CI pipeline will fail, prompting the user to align the version with the rest of the repository. We intend to use a "majority rules" approach, meaning that the version used by most projects will be considered as the correct one, and any attempt to introduce a different version will trigger a failure or warning.

Relevance

When working with monorepositories, which store multiple projects in a single repository, one has to be cautious with overlapping dependencies between those projects. These overlaps can cause inconsistencies and conflicts in how different parts of the repository use shared libraries. To avoid these problems, it's important to ensure that all projects within the monorepository use the same version of shared dependencies. This approach maintains consistency throughout the codebase, simplifies dependency management, and ensures that there are no conflicting version of the same dependency.

@DD2485-bot
Copy link

Missing student registration :hampfh

If not from your group, fetch the upstream.

@javierron
Copy link
Collaborator

@hampfh Thanks for the proposal. The directory for the contribution should contain your KTH handles, and not the GitHub handles.

Regarding the proposal, I'm not convinced if it is difficult or original enough. I recommend picking just one of the three tools and present it in depth, including advanced features.

@einbergisak
Copy link
Contributor

@javierron We have now changed our project proposal, to one which we regard as both more interesting and complex.
Thanks!

@javierron
Copy link
Collaborator

@hampfh Thanks for updating the proposal. I believe this is a better direction.

Can you provide a bit of detail about the CI script? What is the stack you will use to write and deploy it?

@javierron javierron self-requested a review August 30, 2024 19:34
@javierron javierron added proposal A task proposal demo One of the task categories listed in README.md labels Aug 30, 2024
@javierron javierron self-assigned this Aug 30, 2024
@javierron javierron removed their request for review August 30, 2024 20:12
@hampfh
Copy link
Contributor Author

hampfh commented Aug 30, 2024

@hampfh Thanks for updating the proposal. I believe this is a better direction.

Can you provide a bit of detail about the CI script? What is the stack you will use to write and deploy it?

Stack: NodeJS (we are specifically targeting package.json files)
Our sample projects will be simple web applications probably built with vite.js. The applications will just be shells for demonstration purposes.

The script will do a tree search throughout the project, searching for package.json files. We are thinking of writing the script in javascript too and trigger it on every pull-request via Github actions.

@DD2485-bot
Copy link

Missing student registration :hampfh

If not from your group, fetch the upstream.

1 similar comment
@DD2485-bot
Copy link

Missing student registration :hampfh

If not from your group, fetch the upstream.

Co-authored-by: Isak Einberg <[email protected]>
@hampfh
Copy link
Contributor Author

hampfh commented Aug 31, 2024

@javierron I seem to have accidentally closed this, I just noticed and opened the PR again

@javierron
Copy link
Collaborator

@hampfh Ok, thanks for clarifying. Looking forward to the demo.

@javierron javierron merged commit a5d7cf1 into KTH:2024 Aug 31, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
demo One of the task categories listed in README.md proposal A task proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants