Skip to content

Improve the release script #2419

@markus-walther

Description

@markus-walther

Currently, npm run release runs into a number of stumbling blocks, as follows:

  1. Commands lerna and cross-env apparently need to be globally installed to be found by the script. This should not be necessary, and currently leads to silent failure of the release process.
  2. As it stands, it is not possible to enter the required 6-digit OTP token to satisfy npm two-factor authentication in the lerna publish sub-step.
  3. Releasing is restricted to the release branch, but no upfront check to determine such branch exists both locally and remotely is performed, with informative error messages on what to do and why this restriction is in-place.
  4. In case a release is botched for whatever reason, a subsequent attempt may fail due to the git tags issued by the lerna version sub-step already existing. The release script should force these git tags even if they exist, to facilitate robust re-releasing in the face of failures.
  5. The use of prepublishOnly and postpublish scripts in each Pattern-Library component's package.json is very brittle and has repeatedly led to failure, because these scripts edit the package.json file on disk but are not done transactionally, i.e. it is not the case that either both or none of these scripts are guaranteed to be executed. A better release process must not edit package.jsons.

Make the release script robust by removing the above stumbling blocks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    AcceptedA feature request or issue is accepted and will be implementedFeature-request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions