arcade icon indicating copy to clipboard operation
arcade copied to clipboard

Arcade publishing overhaul for efficiency, maintainability and compliance

Open mmitche opened this issue 11 months ago • 0 comments

This Epic covers clean-up and changes to arcade publishing, potentially across all versions of .NET, to improve the maintainability of the system and improve its efficiency. The big points right now:

  • We use BuildArtifacts instead of PipelineArtifacts. They are significantly slower, and cannot take advantage of some other efficiency gains in 1ESPT, like incremental SDL. They are mutable. We should not use them.
  • We use logging commands, which don't end up getting scanned by 1ESPT at all.
  • Our publishing infra has too many old half-removed implementations and broken scenarios. For instance, DotNetPublishUsingPipelines is basically a required parameter. Yet it defaults to false. It should be removed altogether
  • Our publishing infra has too many manifests and metadata sources. The merged manifest should be the sole source of metadata for publishing inputs. For instance, we have nice descriptions of packages and blobs, yet PDB artifacts is a side-car data source, and there is a separate list of PDBs not to publish. This all should just go into the manifest. The ReleaseConfigurations should NOT be a thing.

The end result of this work should not be another switch enabling a new version of publishing. If switches for updated behavior are needed, they should be removed in the end.

mmitche avatar Feb 13 '25 20:02 mmitche