Skip to content
Snippets Groups Projects
build-snap-release.rst 2.64 KiB
Newer Older
  • Learn to ignore specific revisions
  • Automatic builds (snap)
    ~~~~~~~~~~~~~~~~~~~~~~~
    
    When properly configured (TBD), launchpad does up 4 daily builds if code is
    modified in bitmask-dev repo. We're building for amd64 and i386. They are
    pushed to beta channel in the snap store.  If you need to force a build,
    trigger it by editing the version string in the snapcraft.yaml file.
    
    Releasing snaps
    ----------------
    
    From the snap dashboard, you can see the revisions that are built.
    By default, we have riseupvpn-builds configured to upload builds to beta and
    edge channels. If you are going to be pushing to edge manually regularly,
    please configure the automated builds to push just to beta for some time and
    push your builds to edge channel.
    
    To publish a snap, click on "release" from the dashboard, and assign a channel to them.
    
    By convention, if you release to a channel, please release the revision to all
    the lower channels too.  (For example, if you release a particular revision to
    "candidate", release it also to "beta" and "edge"). 
    
    Do note that the automated builds for different architectures do have different revision
    numbers, so when releasing you have to repeat the steps for each platform that
    we're building for.
    
    From the command line:
    
      snapcraft login
      snapcraft status riseup-vpn
    
      # if we've built a release manually, we have to push it first. it gives us a
      # revision number that we use in the next step.
    
    
      snapcraft upload riseup-vpn_0.10.6+git_amd64.snap 
    
      Preparing to push '/home/kali/leap/bitmask-dev/riseup-vpn_0.10.6+git_amd64.snap' to the store.
      Found cached source snap /home/kali/.cache/snapcraft/projects/riseup-vpn/snap_hashes/amd64/b5e9d106c823e3c83fce1ef81ad95d68c33fcada859eeb98233fc766863d39205c192fe5ee53def71c43886e40d3ab5b.
      Generating xdelta3 delta for riseup-vpn_0.10.6+git_amd64.snap.
      Pushing delta /home/kali/leap/bitmask-dev/riseup-vpn_0.10.6+git_amd64.snap.xdelta3.
      Pushing riseup-vpn_0.10.6+git_amd64.snap.xdelta3 [=================================================] 100%
      Processing...|                                                                                                                                                                 
      Ready to release!
      Revision 20 of 'riseup-vpn' created.
    
      # otherwise I assume that you're just trying to release something
      # that was already built and automatically uploaded.
    
      # let's publish amd64 to candidate channel and the channels below
      snapcraft release riseup-vpn 20 candidate
      snapcraft release riseup-vpn 20 beta
      snapcraft release riseup-vpn 20 edge
    
      # and now the i386 build
      snapcraft release riseup-vpn 19 candidate
      snapcraft release riseup-vpn 19 beta
      snapcraft release riseup-vpn 19 edge