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

snap: transition to v1 #3872

Closed
8 tasks done
casperdcl opened this issue May 25, 2020 · 3 comments
Closed
8 tasks done

snap: transition to v1 #3872

casperdcl opened this issue May 25, 2020 · 3 comments
Assignees
Labels
build Issues/features related to building dvc install packages. discussion requires active participation to reach a conclusion enhancement Enhances DVC p2-medium Medium priority, should be done, but less important ui user interface / interaction
Milestone

Comments

@casperdcl
Copy link
Contributor

casperdcl commented May 25, 2020

Anyone arriving here getting this message:

image

Running:

  • snap refresh --channel=latest/beta dvc (to upgrade now), or
  • snap refresh --channel=v0/stable dvc (to never upgrade)

makes the message go away.

Otherwise (if you ignore the message) you'll be upgraded from v0 to v1 automatically in a few days.

See https://dvc.org/blog/june-20-community-gems for some notes on upgrading to v1 (it's simple!)


Maintainer notes:

Snap packages automatically update to the most recent version in a channel.

The default channel is --latest/stable (with the slash, yes; not my design choice) and normally we push tagged releases to it.

During breaking transitions (v0 to v1), though, we need a transition phase.

  • snap: v0: build fixes & updates #3999 push the last 0.x to a new --v0/stable channel
  • snap: build fixes #3990 push the current 1.x to --v1/beta and --latest/beta
  • push a new 0.x-final to --latest/stable
    • snap: v0: build fixes & updates #3999 this issues a warning in the update available and error messages. This warning will state the 2 options for the user:
      • snap refresh --channel=v0/stable to stick to the old version
      • snap refresh --channel=latest/beta & use new API/syntax
      • snap refresh --channel=v1/beta & use new API/syntax. This would stop them getting warnings about --v2 in future. Probably bizarre ("I wanna upgrade now but never again") and not worth mentioning this option.

After the transition period (say 30 days?) we go back to normalcy:

  • close the --v1/beta channel. Users on it will automatically get shifted to --v1/stable.
  • regularly push 1.x updates to --v1/stable and --latest/stable

Some people will be be hit by errors at this stage, but serves them right for ignoring the transition warning messages we tried our best.

I'm not happy with the channel naming conventions either but such is life: https://snapcraft.io/docs/channels. In fact we have to manually request --v0, --v1 etc.

@casperdcl casperdcl added enhancement Enhances DVC p0-critical Critical issue. Needs to be fixed ASAP. ui user interface / interaction build Issues/features related to building dvc install packages. discussion requires active participation to reach a conclusion labels May 25, 2020
@casperdcl casperdcl self-assigned this May 25, 2020
@casperdcl
Copy link
Contributor Author

casperdcl commented Jun 8, 2020

Got approval so could tick off a few items 🎊

channels:
  latest/stable:    0.94.0               2020-05-23 (388) 104MB classic
  latest/beta:      1.0.0a10             2020-06-08 (483) 107MB classic
  latest/edge:      1.0.0a10-5-g215ea494 2020-06-08 (487) 107MB classic
  v1/stable:        --
  v1/beta:          1.0.0a10             2020-06-08 (483) 107MB classic
  v1/edge:          1.0.0a10-5-g215ea494 2020-06-09 (487) 107MB classic
  v0/stable:        0.94.0               2020-06-08 (388) 104MB classic
  v0/beta:          ^
  v0/edge:          ^

casperdcl added a commit to casperdcl/dvc that referenced this issue Jun 9, 2020
@casperdcl casperdcl mentioned this issue Jun 9, 2020
4 tasks
efiop pushed a commit that referenced this issue Jun 9, 2020
* snap: drop sudo

Fixes #3989

* snap: ci: fix builds

* snap: ci: developer notifications

* snap: minimise size

* debug commit

* Revert "snap: minimise size"

This reverts commit 77b41a9.

* fix image info

* Revert "debug commit"

This reverts commit 232baf0.

* snap: v1 channels

Related: #3872
casperdcl added a commit to casperdcl/dvc that referenced this issue Jun 9, 2020
efiop pushed a commit that referenced this issue Jun 13, 2020
* snap: drop sudo

Fixes #3989

* snap: ci: fix builds

* snap: ci: developer notifications

* snap: minimise size

* debug commit

* Revert "snap: minimise size"

This reverts commit 77b41a9.

* fix image info

* Revert "debug commit"

This reverts commit 232baf0.

* snap: v1 channels

Related: #3872

* snap: v0 channels

Related #3990
Related #3989

* snap: auto-version (major) detect

* ci: fetch --tags explanation & error checking

* snap: update warning framework

* hardocde warning

* add deprecation dev comment

* remove warning on explicit v0 channel

* tidy comment

* fix py2
@casperdcl casperdcl added this to the 1.0 milestone Jun 19, 2020
@casperdcl
Copy link
Contributor Author

casperdcl commented Jun 25, 2020

v1/beta closed now due to the official release of dvc==1.0.0. Currently:

channels:
  latest/stable:    0.94.1            2020-06-25 (572) 101MB classic
  latest/beta:      1.0.2             2020-06-25 (569) 103MB classic
  latest/edge:      1.0.2-1-g64c1321c 2020-06-25 (570) 105MB classic
  v1/stable:        1.0.2             2020-06-25 (569) 103MB classic
  v1/beta:          
  v1/edge:          1.0.2-1-g64c1321c 2020-06-25 (570) 105MB classic
  v0/stable:        0.94.1            2020-06-25 (572) 101MB classic
  v0/beta:          
  v0/edge:          

The only remaining item is - a few days from now - push v1/stable to latest/stable.

@efiop efiop added p2-medium Medium priority, should be done, but less important and removed p0-critical Critical issue. Needs to be fixed ASAP. labels Jun 25, 2020
@casperdcl
Copy link
Contributor Author

casperdcl commented Jul 6, 2020

OK all done (the current master branch is also a release hence edge == stable at the moment):

channels:
  latest/stable:    1.1.7  2020-07-06 (608) 104MB classic
  latest/candidate: 
  latest/beta:      
  latest/edge:      1.1.7  2020-07-05 (608) 104MB classic
  v1/stable:        1.1.7  2020-07-06 (608) 104MB classic
  v1/candidate:     
  v1/beta:          
  v1/edge:          1.1.7  2020-07-06 (608) 104MB classic
  v0/stable:        0.94.1 2020-06-25 (572) 101MB classic
  v0/candidate:     
  v0/beta:          
  v0/edge:          

casperdcl added a commit to casperdcl/dvc that referenced this issue Jul 6, 2020
Don't push v0 to default tracks.
Fixes iterative#3872
efiop pushed a commit that referenced this issue Jul 6, 2020
Don't push v0 to default tracks.
Fixes #3872
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues/features related to building dvc install packages. discussion requires active participation to reach a conclusion enhancement Enhances DVC p2-medium Medium priority, should be done, but less important ui user interface / interaction
Projects
None yet
Development

No branches or pull requests

2 participants