In progress: snapcraft 2.30

Dates

Start of work: 20 April 2017 End of work: 18 May 2017

Feature work

:white_check_mark: New improved and clean CLI @sergiusens :white_check_mark: Snap collaboration UX @sergiusens :white_check_mark: Asset recording @elopio :red_circle: snapcraft whoami @sergiusens :white_check_mark: Per project containers @kalikiana :red_circle: Remote per project containers @kalikiana :red_circle: Cross compile support for go plugin @kalikiana :white_check_mark: support for ‘branches’ in Store responses (release, close, and status) @facundobatista

Bug work

:white_check_mark: Need to increase API request limits for staging LP: #1680066 @elopio :white_check_mark: snapcraft cleanbuild fails in xenial with LXD deb ‘kernel_architecture’ LP:#1689712 @kalikiana :white_check_mark: cleanbuild fails with :ARCH in build/stage-packages LP:#1664857 @kalikiana :white_check_mark: storeapi: improve the error message for the case the Store answers an upload needs manual review @facundobatista

Technical debt

:red_circle: snapcraft snap testing @elopio :white_check_mark: snapcraft UTF-8 general fixes @elopio

Community contributions:

:white_check_mark: init: add a newline at the end of the file LP: #1660880 @roxd :white_check_mark: replace : with _ in file names PR #1262 andyli :white_check_mark: Added link to forums in the Get in touch section PR #1268 @Ads20000 :white_check_mark: sources: add support for 7-zip files PR #1168 @tim.sueberkrueb :white_check_mark: meson plugin: Add plugin for meson build system PR #1294 JulianLiu :white_check_mark: rust snaps can now use source-subdir without failing on pull PR #1296 @roxd :white_check_mark: sources: validate unknown source-type in yaml PR #1297 EduardoVega

Tests

Instructions to test a stable release update: http://elopio.net/blog/test-sru/1

These are the tests that must pass before landing this new release in the -updates pockets of xenial, yakkety and zesty:

Plugins: :white_check_mark: Run the kernel manual tests documented in manual-tests.md. :white_check_mark: Build a snap with that uses meson.

Sources: :white_check_mark: Build a snap with a 7zip source.

Store: :white_check_mark: Run the release, close and status commands in snaps with channels.

Exploratory:

:white_circle: Build snaps with SNAPCRAFT_BUILD_INFO=1 Check that a snap can be build with the resulting snap/prime/snapcraft.yaml. :white_circle: Run all the snapcraft commands in different scenarios including failure conditions. :white_circle: Cleanbuild snaps with local and remote containers.

Release checklist

:white_check_mark: Create SRU bug :arrow_right: LP: #1692102 :white_check_mark: Create changelog branch :arrow_right: PR #1326 :white_check_mark: Run adt for xenial:amd64 :arrow_right: adt log :white_check_mark: Run adt for xenial:armhf :arrow_right: adt log :white_check_mark: Run adt for xenial:arm64 :arrow_right: adt log :white_check_mark: Run adt for yakkety:amd64 :arrow_right: adt log :white_check_mark: Run adt for yakkety:armhf :arrow_right: adt log :white_check_mark: Run adt for yakkety:arm64 :arrow_right: adt log :white_check_mark: Run adt for zesty:amd64 :arrow_right: adt log :white_check_mark: Run adt for zesty:armhf :arrow_right: adt log :white_check_mark: Run adt for zesty:arm64 :arrow_right: adt log :white_check_mark: Merge changelog branch :white_check_mark: Tag the release. :white_check_mark: Write specific manual tests for the SRU :white_check_mark: dput to artful :white_check_mark: dput to zesty :white_check_mark: dput to yakkety :white_check_mark: dput to xenial :white_check_mark: contact release team to accept into -proposed :gear: Run QA over packages in -proposed :white_check_mark: Create release notes :white_circle: contact the release team to release into -updates :white_circle: update the docker image :white_circle: send release update notice

2 Likes

Particularly looking forward to these two items.

Is support for snapcraft build across architectures when classically confined also in consideration for this release? This is something that’s blocking adoption of kubernetes snaps upstream. lp:1674828

This is a bug problem to solve, I thought it was easier when someone asked me about it, but they didn’t mention it was a classic snap.

There are other things you can do if all you need to do is use dump, where is the snapcraft.yaml?

You can find one of the offending snapcraft.yaml files here

There is an easier fix for this, here is an extract

name: ...
architectures: [DEB_ARCH]
version: 'KUBE_VERSION'

and for DEB_ARCH do something similar to what you do for KUBE_VERSION here:

https://github.com/kubernetes/release/pull/293/files#diff-42a71f4b3ea56a983dfd71b43c11fdf1R30

and drop the `--target-arch`.

Is this the equivalent of all_arch? We’re dumping in different architectures each time. Are you saying that we’d just set DEB_ARCH to the arch that we were dumping in?

Yes, set DEB_ARCH to the architecture you are dumping. It is not like the Architectureentry indebian/control`, which hints on where it is supposed to build, the snapcraft one actually sets the resulting architecture of the package to what is set in that field, given the confusion that general distro packagers have is the reason we don’t promote this feature, but it is exactly what you want; that is:

  • dump prebuilts of a specific architecture
  • assemble a snap of that architecture

you are not really cross compiling :slight_smile:

1 Like

@elopio I’ve been looking at libpipeline demo and we may need to consider migrating it to a different branch on launchpad.

@sergiusens tell me more :slight_smile:

It is using lp:~mterry …

While reviewing and polishing PRs, we worked on a few utf-8 issues.

We have this bug:
snapcraft fails if desktop file included “ascii” cannot decode byte

It highlights a few issues:

  • We are not setting utf-8 as the locale in our cleanbuild containers: PR #1304
  • We are not reading and writing the desktop files as utf-8: PR #1309
  • We don’t need our docker container to have en_US locale: PR #1310
1 Like

Wondering if here it shouldn’t be mentioned the work for

Or these won’t be released into 2.30?

Thanks!

Bump, could the top post please be updated with the features Facundo mentioned? they’re commits 9a2b6a7da8 and 85765674a40cb.

Thanks!

  • Daniel

Hey, of course, @facundobatista’s work should be there.
We are just getting used to this new workflow in the forum, and tend to leave stuff only in github.

I will add them, but note that the post is a wiki, you can all touch it.

2 Likes

we have begun the SRUing process. The wiki entry has been updated.

All the adt tests have passed for the changelog branch, I’ve updated them with links to the log, going to merge the branch.

Moved to Snapcraft call for testing