Skip to content

Harden release/CI pipeline #10

Description

@dalberola

Gaps in the release/CI pipeline (mostly [verified]).

  • commitlint.sh compares against masterscripts/commitlint.sh:7 runs npx commitlint --from=master, but the default branch is main, so it errors. Use origin/main or derive dynamically. [verified]
  • publish-npm.yml has no quality gate.github/workflows/publish-npm.yml runs yarn install then npm publish with no build/test/smoke. A broken build can be published. Add needs: on the test workflow, or run build && test && test:smoke first. [verified]
  • Smoke tests run in no CI workflowtest:smoke exists in both packages but isn't gated anywhere (only dredd --version in the docker publish). Wire it in, especially given the rename just broke it. [verified]
  • No engines on root package.json and no .nvmrc — packages require node>=22; add both for local/CI consistency. [verified]
  • dredd-transactions/scripts/smoke.sh uses a hardcoded ~/test-temp path + bash shopt instead of mktemp like dredd/scripts/smoke.sh; fails in constrained CI. [verified]

Tasks

  • Fix commitlint.sh to use origin/main.
  • Gate publish-npm.yml on passing build/test/smoke.
  • Add a smoke-test job (or fold into run-test.yml).
  • Add root engines.node >=22 and a .nvmrc.
  • Make dredd-transactions/scripts/smoke.sh use mktemp and clean up on exit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions