Please add build log link when one is available

Bug #1780970 reported by Jamie Strandboge on 2018-07-10
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Snap Store Server
Medium
Maximiliano Bertacchini
Software Center Agent
Medium
Maximiliano Bertacchini

Bug Description

I remember talking about this a number of times but when I looked for a bug, I couldn't find one. Crossposted with the form at: https://forum.snapcraft.io/t/display-provenance-of-snap-when-it-is-available/6330

Knowing the provenance of a snap revision can be a key component in trusting a snap and its publisher. It has always been planned that when we know where a snap came from (eg, an LP build, etc) the store would record the build log link in its database. Once it is in the database:

 * the store could provide a link for the revision of the snap (eg, at https://dashboard.snapcraft.io/snaps/SNAPNAME/revisions/NNN/
 * an API could be exposed so that a user can obtain the build log url
 * snapd could at some point do interesting things with this information such as display the build log url with snap info, offer controls to the user to only allow installs/refreshes if a public build log is available, etc

This is particularly useful for the open source community for all the reasons why Linux distributions make their build logs public (indeed, just today I heard again "if only I could examine the build, I might be able to better trust the snap"). This is somewhat useful as a reviewer (though admittedly, we focus on the publisher, not the contents of the snap) and is one of the steps towards controls for enforcing constraints on the use of classic (https://bugs.launchpad.net/software-center-agent/+bug/1657825).

Daniel Manrique (roadmr) on 2018-07-10
affects: software-center-agent → snapstore
Colin Watson (cjwatson) wrote :

Launchpad has included this information in snaps it builds since late April or thereabouts (https://code.launchpad.net/~cjwatson/launchpad-buildd/snap-image-info/+merge/341806): it's in image-info.build_url in snap/manifest.yaml. The store should be able to pick it up from there.

Natalia Bidart (nataliabidart) wrote :

As Colin mentioned, the store does have indeed this information in the manifest.yaml file, so it should be fairly simple to expose the build_url from the image-info section in the yaml.

In order for snap info to show this information, we should push the build_url to snaprevs, and include it in search/info results when requested explicitly by the client.

Triaging and finding someone that could work on this.

Changed in snapstore:
status: New → Triaged
importance: Undecided → Medium
description: updated
description: updated
Jamie Strandboge (jdstrand) wrote :

Thanks for looking into this! :)

Changed in snapstore:
status: Triaged → In Progress

A link to the build URL for each revision is now shown in the developer dashboard, if available (at https://dashboard.snapcraft.io/snaps/SNAPNAME/revisions/NNN/).

Changed in software-center-agent:
status: New → Fix Released
Changed in snapstore:
status: In Progress → Triaged
Changed in software-center-agent:
importance: Undecided → Medium
Changed in snapstore:
status: Triaged → In Progress
Changed in software-center-agent:
assignee: nobody → Maximiliano Bertacchini (maxiberta)
Changed in snapstore:
assignee: nobody → Maximiliano Bertacchini (maxiberta)
Changed in snapstore:
assignee: Maximiliano Bertacchini (maxiberta) → nobody
status: In Progress → Confirmed
Changed in snapstore:
assignee: nobody → Maximiliano Bertacchini (maxiberta)
Changed in snapstore:
status: Confirmed → In Progress

Needs further discussion of what exactly we want to expose, in what format, and public vs. brand store snaps.

Changed in snapstore:
status: In Progress → Confirmed
William Grant (wgrant) on 2019-03-08
tags: added: feature

Note that the build URL for snap revisions is already available at the "snap revisions" endpoint of the developer API[0] - but it needs authentication and permission to view the snap.
E.g.:

  surl -s production -e <email address hidden> https://dashboard.snapcraft.io/api/v2/snaps/the-snap-name/revisions/1234

Exposing the build URL on public API endpoints, otoh, will first require extending the ACL checks for the search/info API endpoints.

[0] https://dashboard.snapcraft.io/docs/v2/en/snaps.html#snap-revisions

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers