Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. Feb 27, 2024
    • Chris Kay's avatar
      build(npm): update Node.js and all packages · c7080f67
      Chris Kay authored
      
      This change updates the Node Version Manager version file to the latest
      long-term release version of Node.js, v20.11.1, and the Node.js Package
      Manager package file to require Node.js version v20 or later.
      
      Additionally, all Node.js modules have been updated, as some packages
      required additional accommodations to be made compatible with this
      version of Node.js.
      
      As part of this, the `.commitlintrc.js` has been rewritten from CommonJS
      to ECMAScript. There should be no impact on the behaviour of Commitlint,
      but this was was a requirement to allow Commitlint to continue using it
      for configuration.
      
      Change-Id: I7043faabc516c58edda9e58848b0569e2158b271
      Signed-off-by: default avatarChris Kay <chris.kay@arm.com>
      c7080f67
  2. May 03, 2022
    • Sandrine Bailleux's avatar
      build(commitlint): make the scope optional · 9a13b07f
      Sandrine Bailleux authored
      
      In all TF-A commit messages, the first line must comply to the
      following format:
      
        type(scope): description
      
      Although the conventional commits specification says that the scope
      above is optional, we have made it mandatory in TF-A and the following
      error message is printed if no scope is provided:
      
        scope may not be empty [scope-empty]
      
      However, this can be too restrictive for some types of commits. For
      example, it is typically hard to choose a scope for documentation
      patches which modify several documents of different natures.
      
      Lift this restriction in the tools and leave it up to the developer to
      decide whether a scope is needed or not.
      
      Change-Id: I9d35e7790fc3fa74651794216fe8db265ad09982
      Signed-off-by: default avatarSandrine Bailleux <sandrine.bailleux@arm.com>
      9a13b07f
  3. Jan 24, 2022
    • Chris Kay's avatar
      refactor(hooks): replace cz-conventional-changelog with cz-commitlint · f64c5582
      Chris Kay authored
      
      This change replaces cz-conventional-changelog with cz-commitlint, which
      automatically configures Commitizen using our commitlint configuration
      file. Currently, we use some manual Javascript magic to load our
      Commitizen configuration into commitlint (the opposite of what's
      introduced by this change), which can be removed.
      
      With this change, we also move our commitlint configuration into a
      new `changelog.yaml` file. This file holds the same data as `.cz.json`
      previously did.
      
      Change-Id: I14ff2308f1a0b2b293c2128b28ca2df578ce9c1c
      Signed-off-by: default avatarChris Kay <chris.kay@arm.com>
      f64c5582
  4. Jan 10, 2022
  5. Nov 30, 2021
  6. Nov 17, 2021
    • Chris Kay's avatar
      build(docs): introduce release script · c4e8edab
      Chris Kay authored
      This change introduces a new NPM run script to automatically generate
      the release changelog, as well as bump version numbers across the
      code-base and create the release tag.
      
      This script runs [Standard Version] to execute this, which is a tool
      designed around automating substantial parts of the release process.
      This can be done by running:
      
          npm run release -- [<standard-version args>]
      
      Standard Version expects the project to adhere to the [Semantic
      Versioning] convention which TF-A does not, so you may need to specify
      the version manually, e.g.:
      
          npm run release -- --release-as 2.6.0
      
      Individual steps of the release process may also be skipped at-will,
      which may be necessary when, for example, tweaking the changelog:
      
          npm run release -- --skip.commit --skip.tag
      
      Standard Version is configured by the `.versionrc.js` file, which
      contains information about the Conventional Commits types and scopes
      used by the project, and how they map to the changelog.
      
      To maintain continuity with the existing changelog style - at least to
      the extent possible in the move from manual to automatic creation - a
      customized changelog template has been introduced, based on the
      Conventional Commits template provided by Standard Version.
      
      This template package extends the Conventional Commits template package
      by introducing support for parsing the Conventional Commits scopes into
      changelog sections, similarly to how they were previously organized.
      
      [Standard Version]:
      https://github.com/conventional-changelog/standard-version
      [Semantic Versioning]: https://semver.org
      
      
      
      Change-Id: I5bafa512daedc631baae951651c38c1c62046b0a
      Signed-off-by: default avatarChris Kay <chris.kay@arm.com>
      c4e8edab
    • Chris Kay's avatar
      build(hooks): add commitlint checks for trailers · fa3a1382
      Chris Kay authored
      
      This change adds checks for the `Change-Id` and `Signed-off-by`
      trailers. These are already required by Gerrit, so they have been
      configured as warnings as an early heads-up after committing without
      needing to push.
      
      This also renames the commitlint configuration file to align it with
      the style used by Standard Version when it's eventually introduced:
      
          `commitlint.config.js` -> `.commitlintrc.js`
      
      Change-Id: I4e3c158e6b3a5407fabd873360d5efce86ebd19e
      Signed-off-by: default avatarChris Kay <chris.kay@arm.com>
      fa3a1382