code: func (Pipe) Publish(ctx *context.Context) error {
  	snaps := ctx.Artifacts.Filter(artifact.ByType(artifact.PublishableSnapcraft)).List()
  	var g = semerrgroup.New(ctx.Parallelism)
  	for _, snap := range snaps {
  		snap := snap
  		g.Go(func() error {
  			return push(ctx, snap)
  		})
  	}
  	return g.Wait()
  }
docs: // Publish packages