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

Update semantic_versioning.md #2842

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Update semantic_versioning.md #2842

wants to merge 6 commits into from

Conversation

pinin4fjords
Copy link
Member

@pinin4fjords pinin4fjords commented Nov 6, 2024

Better outline semantic versioning, and try to persuade users to bump major versions when they should.

@netlify /docs/guidelines/pipelines/requirements/semantic_versioning

Copy link

netlify bot commented Nov 6, 2024

Deploy Preview for nf-core-docs ready!

Name Link
🔨 Latest commit 61e6972
🔍 Latest deploy log https://app.netlify.com/sites/nf-core-docs/deploys/672cb19753928f0008b5c112
😎 Deploy Preview https://deploy-preview-2842--nf-core-docs.netlify.app/docs/guidelines/pipelines/requirements/semantic_versioning
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

netlify bot commented Nov 6, 2024

Deploy Preview for nf-core-main-site ready!

Name Link
🔨 Latest commit 61e6972
🔍 Latest deploy log https://app.netlify.com/sites/nf-core-main-site/deploys/672cb19729aaa600086daf8c
😎 Deploy Preview https://deploy-preview-2842--nf-core-main-site.netlify.app/docs/guidelines/pipelines/requirements/semantic_versioning
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Member

@jfy133 jfy133 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make it clearer and more extendable for the future.

I might be beiong opinionated though!

@jfy133
Copy link
Member

jfy133 commented Nov 6, 2024

Can you link to this page on the release docs too @pinin4fjords ?

@pinin4fjords
Copy link
Member Author

@nf-core-bot fix linting

Copy link
Member

@mahesh-panchal mahesh-panchal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this. I also asked Seqera AI and here's what it gave:



    Patch Release (1.4.4):
        Fixing a typo in the pipeline documentation or help messages
        Updating a dependency to patch a security vulnerability without changing functionality
        Correcting a minor bug in result reporting that doesn't affect the actual analysis results
        Optimizing a process to use less memory or run faster without changing its inputs or outputs
        Fixing a minor issue in the pipeline's error handling or logging

    Minor Release (1.5):
        Adding support for a new input file format without changing existing format support
        Introducing a new optional quality control step that doesn't affect the main analysis
        Adding a new visualization option for existing results
        Implementing a new caching strategy that improves performance but doesn't change results
        Adding support for a new cloud computing platform without affecting existing platform support

    Major Release (2.0):
        Changing the default behavior of a core analysis step
        Removing support for an outdated file format or tool
        Restructuring the pipeline's output directory organization
        Implementing a new parallelization strategy that requires users to specify different resource allocations
        Changing the pipeline's command-line interface structure
        Modifying how configuration files are structured and processed
        Upgrading to a new major version of Nextflow that requires changes in how users interact with the pipeline

@jfy133
Copy link
Member

jfy133 commented Nov 7, 2024

I like this. I also asked Seqera AI and here's what it gave:



    Patch Release (1.4.4):
        Fixing a typo in the pipeline documentation or help messages
        Updating a dependency to patch a security vulnerability without changing functionality
        Correcting a minor bug in result reporting that doesn't affect the actual analysis results
        Optimizing a process to use less memory or run faster without changing its inputs or outputs
        Fixing a minor issue in the pipeline's error handling or logging

    Minor Release (1.5):
        Adding support for a new input file format without changing existing format support
        Introducing a new optional quality control step that doesn't affect the main analysis
        Adding a new visualization option for existing results
        Implementing a new caching strategy that improves performance but doesn't change results
        Adding support for a new cloud computing platform without affecting existing platform support

    Major Release (2.0):
        Changing the default behavior of a core analysis step
        Removing support for an outdated file format or tool
        Restructuring the pipeline's output directory organization
        Implementing a new parallelization strategy that requires users to specify different resource allocations
        Changing the pipeline's command-line interface structure
        Modifying how configuration files are structured and processed
        Upgrading to a new major version of Nextflow that requires changes in how users interact with the pipeline

This is good for extra examples, but IMO some the examples are maybe too generic: e.g.

    Changing the pipeline's command-line interface structure

I think we should make it more explitily/modular using our language (like as I've suggested) as it'll be more likely be picked up by a developer when skimming the text.

Sort of like 'Have you changed a parameter name?' is going to be more eye catching 'yes I did that' than just 'did an interface change'.

What do others think?

@@ -26,7 +26,7 @@ If this is your first release, make sure to follow the [first release tutorial](
- [ ] For example, `1.0.0dev` becomes `1.0.0`
- [ ] Use the `nf-core pipelines bump-version` command to make the changes, eg: navigate to the pipeline directory and run `nf-core pipelines bump-version 1.0.0`
- [ ] Please make sure to use strictly numeric release numbers
- [ ] Use [Semantic Versioning](https://semver.org/)
- [ ] Use [Semantic Versioning](https://semver.org/) - see the [nf-core semantic versioning guidelines](docs/guidelines/pipelines/requirements/semantic_versioning.md) to decide if you need a patch, minor, or major release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfeck 👍

@mahesh-panchal
Copy link
Member

Having it more tuned to our use case is definitely going to help. It's not an easy task though because words can mean different things to different people resulting in some being confused and others going "yeah, that's clear as day - I did that".

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

Successfully merging this pull request may close these issues.

5 participants