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

changes to the release process #1326

Closed
sbourdeauducq opened this issue May 21, 2019 · 7 comments
Closed

changes to the release process #1326

sbourdeauducq opened this issue May 21, 2019 · 7 comments
Milestone

Comments

@sbourdeauducq
Copy link
Member

sbourdeauducq commented May 21, 2019

Starting with ARTIQ-5 I would like to see changes to the release process (which are already partially implemented):

  • Call "development" versions "beta" versions. This is mostly to avoid confusion with development environments; for example, some people thought that the artiq-dev package was the development version of ARTIQ.
  • Move to a rolling release process. Enough of this tedious and error-prone tagging/rebuilding that causes delays for users to see bugfixes, and causes frustrating issues for us such a FPGA bitstreams passing timing with the candidate version but not after the version string has changed after tagging.
  • The latest stable version is the latest commit that passed tests on the stable branch. Ditto with the beta branch. The output from each branch goes in separate channels on the build server.
  • The beta branch is master, and the current stable branch is a branch defined in nix-scripts.
  • This makes cutting a new release very easy (create a branch, update the master major version, and update nix-scripts to point to the new stable branch), as opposed to the current process.
  • We can also introduce prerelease builds: an optional third channel that would be set to the new stable branch so that we can keep working on it and get CI, before updating the stable channel for users.
  • The version numbers are formatted as <major version>.<distance to root commit>.<short git hash>[.beta]
@sbourdeauducq sbourdeauducq added this to the 5.0 milestone May 21, 2019
@dhslichter
Copy link
Contributor

Sounds reasonable to me. I haven't followed the nix-scripts shift but it appears that this handles conda builds as well as nix builds, correct?

@sbourdeauducq
Copy link
Member Author

It also generates the conda packages, yes.

@sbourdeauducq
Copy link
Member Author

Add another oldstable channel so that the current stable builds do not disappear immediately when a new release is made.

@drewrisinger
Copy link
Contributor

It also generates the conda packages, yes.

FWIW, the M-Labs Conda channel hasn't been updated with new files in 6 months: https://anaconda.org/m-labs/artiq/files. Or is there a new place where these conda packages live now?

@sbourdeauducq
Copy link
Member Author

@sbourdeauducq
Copy link
Member Author

Though if you are looking for build information then check https://nixbld.m-labs.hk/

jbroz11 pushed a commit to HaeffnerLab/artiq that referenced this issue Feb 25, 2020
jbroz11 pushed a commit to HaeffnerLab/artiq that referenced this issue Feb 25, 2020
jbroz11 pushed a commit to HaeffnerLab/artiq that referenced this issue Feb 25, 2020
@sbourdeauducq
Copy link
Member Author

Also add a tag where stable rolling releases start.

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

3 participants