code: func callArchiveHook(lambdaArchive *zip.Writer,
  	ctx *workflowContext) error {
  
  	if ctx.userdata.workflowHooks == nil {
  		return nil
  	}
  	archiveHooks := ctx.userdata.workflowHooks.Archives
  	if ctx.userdata.workflowHooks.Archive != nil {
  		ctx.logger.Warn("DEPRECATED: Single ArchiveHook hook superseded by ArchiveHooks slice")
  		archiveHooks = append(archiveHooks,
  			ArchiveHookFunc(ctx.userdata.workflowHooks.Archive))
  	}
  	for _, eachArchiveHook := range archiveHooks {
  		// Run the hook
  		ctx.logger.WithFields(logrus.Fields{
  			"WorkflowHookContext": ctx.context.workflowHooksContext,
  		}).Info("Calling ArchiveHook")
  		hookErr := eachArchiveHook.DecorateArchive(ctx.context.workflowHooksContext,
  			ctx.userdata.serviceName,
  			lambdaArchive,
  			ctx.context.awsSession,
  			ctx.userdata.noop,
  			ctx.logger)
  		if hookErr != nil {
  			return errors.Wrapf(hookErr, "DecorateArchive returned an error")
  		}
  	}
  	return nil
  }
docs: // Encapsulate calling the archive hooks