Call for testing: Snapcraft 4.6

Snapcraft 4.6 is on the candidate channel

Full notes are on the Release page
Those release notes are partially reproduced here:

New login mechanism

A new option, --experimental-login can now be used when using
snapcraft login or snapcraft export-login and when signing assertions.

Using this option will trigger a web based authentication flow (Using Candid). To go
back to the previous login method you must first snapcraft logout.

Conda plugin

The conda plugin has been ported to core20. These are the available
plugin options:

  • conda-packages
    (list of strings, default [])
    List of conda packages to install.
  • conda-python-version
    string
    Python version major and minor version (e.g. 3.8).
  • conda-miniconda-version
    string, default latest
    The version of miniconda to initialize.

Package Repositories

The road to making this feature stable is closer, a breaking change
lands with 4.6 for this experimental feature. Keys are now using the
suffix and not prefix of the key id.

Metadata

Snapcraft is now aware of the existence of kernel.yaml for snaps of
type kernel.

The install-mode option for applications is now supported with this release.

Extensions

GNOME 3.38

With this release, the GNOME 3.38 extension, which was previously
marked as unstable and documented at
https://snapcraft.io/docs/gnome-3-38-extension is now marked as
stable.

KDE Neon

The KDE Neon extension now supports core20 as an experimental
extension, the documentation on
https://snapcraft.io/docs/kde-neon-extension has been updated to
reflect this.

Flutter

New flutter variants of the extension for stable and beta are now
available. The same documentation applies as for the master and dev
variant https://snapcraft.io/docs/flutter-extension.

1 Like

I have tested the GNOME 3-38 extension which worked great, thanks!

I also tried the experimental login feature. It’s nice, but I’m a little confused as to why snapcraft login --experimental-login throws me through a charmcraft api site. Is there a plan to make a snapcraft api site when this is no longer experimental?

2 Likes

Weird issue once I have used --experimental-login, I can’t upload:

alan@robot:~/Source/popey/spot$ snapcraft  login --experimental-login
Opening an authorization web page in your browser.
If it does not open, please open this URL:
 https://api.jujucharms.com/identity/login?did=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 


Login successful.
alan@robot:~/Source/popey/spot$ snapcraft whoami
Opening an authorization web page in your browser.
If it does not open, please open this URL:
 https://api.jujucharms.com/identity/login?did=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

Error fetching account information from store: The request is missing an Authorization header field containing a valid macaroon
alan@robot:~/Source/popey/spot$ snapcraft version
snapcraft, version 4.6
alan@robot:~/Source/popey/spot$ snapcraft upload spot_0.1.12_amd64.snap --release=candidate
Preparing to upload 'spot_0.1.12_amd64.snap'.
After uploading, the resulting snap revision will be released to 'candidate' when it passes the Snap Store review.
Running the review tools before pushing this snap to the Snap Store.
Review Tools did not fully pass for this snap.
Specific measures might need to be taken on the Snap Store before this snap can be fully accepted.

Opening an authorization web page in your browser.
If it does not open, please open this URL:
 https://api.jujucharms.com/identity/login?did=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

Received:
- macaroon-authorization-required: The request is missing an Authorization header field containing a valid macaroon

I may be that this login method only really works end to end using the Staging environment of the Snap Store. Maybe @natalia can confirm.

1 Like

I’ve tested this on a number of projects using the gnome-3-38, gnome-3-34 and gnome-3-28 extension and all works as expected. I also tested the flutter extension, they all worked with the exception of flutter-stable however currently the stable channel fails to build anything. This will be fixed in flutter soon, we should go ahead and release it with flutter-stable as an option.

1 Like

Snapcraft 4.6 is now on the latest/stable channel