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 CI in if-plugins and if-unofficial-plugins to match if #669

Closed
4 tasks done
Tracked by #651
Assignees

Comments

@jmcook1186
Copy link
Contributor

jmcook1186 commented Apr 25, 2024

What
Replicate this in if-plugins and if-unofficial-plugins

Why
These changes to the CI make it easier to create a new release because they remove some fiddly manual steps and enable the creation of beta releases for testing. This will make the releases faster and less error prone.

Context
We have experienced our release process being slow and quite frustrating, especially because it has to be repeated across multiple IF repositories. It is quite brittle, and we don't currently know that a release was successful until after it is already published and this has led to some late-night rapid re-releasing on two occasions. These CI changes make the process more robust and easy to test, providing the core team with a smoother process and the community with a more reliable release schedule.

Prerequisites/resources
none

SoW (scope of work)

  • In .github/workflows, nodejs-ci.yml, npm-publish.yml, release-commit.yml and release-publish.yml should be created/upodated to match the equivalent files in if. In the top level directory, .commitlintrc.js, .release-it./json and package.json should be created/updated to match their equivalents in if.

Acceptance criteria

  • Given (Setup): a core team member creates a tagged release in the Github UI
    When (Action): The CI triggers an automated relkease commitand updates the version numbers and poushes directly to main
    Then: no additional manual steps are required before main can merge into release

  • Given a core team member merges main into release
    When the CI triggers a release to be created automatically on npm
    Then no further manual actions are required in order to download and test the latest release

  • Given a core team member wants to create a test release
    When they include beta in the release name
    Then an interim beta release is created that can be used for testing. The subsequent release has the same version numbers as the beta release but no beta tag.

@jmcook1186 jmcook1186 added this to the Sprint 11 / QA1 milestone Apr 25, 2024
@jmcook1186 jmcook1186 added this to IF Apr 25, 2024
@jmcook1186 jmcook1186 moved this to Ready in IF Apr 25, 2024
@zanete zanete moved this from Ready to In Progress in IF May 16, 2024
@narekhovhannisyan narekhovhannisyan moved this from In Progress to Pending Review in IF May 17, 2024
@zanete zanete moved this from Pending Review to Testing in IF May 20, 2024
@zanete
Copy link

zanete commented May 20, 2024

@manushak please review the PRs

@manushak
Copy link
Contributor

@manushak please review the PRs

done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment