code: func (Pipe) Run(ctx *context.Context) error {
  	var g = semerrgroup.New(ctx.Parallelism)
  	for _, archive := range ctx.Config.Archives {
  		archive := archive
  		var filtered = ctx.Artifacts.Filter(
  			artifact.And(
  				artifact.ByType(artifact.Binary),
  				artifact.ByIDs(archive.Builds...),
  			),
  		)
  		for group, artifacts := range filtered.GroupByPlatform() {
  			log.Debugf("group %s has %d binaries", group, len(artifacts))
  			artifacts := artifacts
  			g.Go(func() error {
  				if packageFormat(archive, artifacts[0].Goos) == "binary" {
  					return skip(ctx, archive, artifacts)
  				}
  				return create(ctx, archive, artifacts)
  			})
  		}
  	}
  	return g.Wait()
  }
docs: // Run the pipe