Star Developer Application for jnsgruk

Hey all :wave:

I’d like to apply for Star Developer status :slightly_smiling_face:. I’ve been steadily upping my contribution here over the past few months, not in my capacity as a Canonical employee, but rather my own personal interest. See below for some of my technical activities. My Discourse activity can be seen here, though the below gives the context:

Terraform Snap

I took over maintenance of the Terraform snap around May 2022. At that time it was very far behind in terms of releases with around ~3000 daily active users. Today it’s bang up to date with a smidge under 13,000 daily active users. I implemented a bunch of automated testing and an mechanism to bump the version and automatically release so that the snap is always fresh. I recently transferred the snap to the Snapcrafters org, but will still be the primary maintainer.

Mattermost Desktop

I started helping maintain the Mattermost Desktop snap around Sept 2021. I started with just version bumps, but have since migrated the snap from core18core20core22. I’ve also done work on bugfixes, additional interfaces, and implemented a new command-chain script which is able to migrate between versions of Mattermost’s config file to prevent a common issue upon upgrade. You can see my list of contributions in the history.

Signal Desktop

This one is more recent - I took on the task of converting the snap to build from source such that we could provide an arm64 build. This was done across two commits (1, 2). I’ve subsequently fixed a couple of issues that had been stale, and provided some better automation, outlined below. As part of this work, I also landed patches upstream on Signal Desktop itself.

Snapcrafters CI

I only recently joined the Snapcrafters “formally”. The first thing I tackled after the Signal Desktop arm64 work was a centralised CI setup for the Snapcrafters org that could handle:

  • Automated version bumps
  • Promotion of snaps between channels
  • Automatic build/release across architectures
  • Automated testing with screenshots of desktop applications.
  • Automated call for testing

The resulting repository can be found on Github. It contains 8 re-usable Github Actions that are slowly rolling out across the Snapcrafters projects. For examples of how this is implemented in the real world, see the following:

Parca Snaps

I got involved with the folks at Polar Signals last year, and did the initial implementation of their Parca Snap. They chose to use Goreleaser to build the snap, and I implemented their automated release/promotion mechanism, as well as some basic documentation of the snap’s configuration options. We also integrated this with their existing release flow. You can see my contributions here. Shortly after they took over maintenance and became verified publishers.

I did the same for Parca Agent, you can see the contributions here. This one was actually a little more complex as I also needed to provide a patch for snapd to update an interface.

OpenTofu Snap

When OpenTofu was first announced I helped them add snap support as it was very close (essentially identical) to Terraform. They preferred to use Goreleaser to build, and I guided them through the process of adding an alias and having classic confinement granted. Commits seen here.

Thanks all! Jon

6 Likes

+1 from me - @jnsgruk is clearly a committed and quite prolific snap publisher across many parts of the snap ecosystem, showing a strong level of engagement and leadership within the community as well.

1 Like

+1 from me too! Thank you @jnsgruk for the detailed application

1 Like

Hello everyone,

The request has been fulfilled. @jnsgruk thank you for your efforts!

Najam

1 Like

Thanks all! Much appreciated! :rocket: :grinning:

1 Like