Skip to content

chore: declare npm publication defaults #148

chore: declare npm publication defaults

chore: declare npm publication defaults #148

name: Published consumer
on:
push:
branches: [main]
paths:
- .github/workflows/published-consumer.yml
- .stackblitzrc
- consumers/chat-room/**
- examples/chat-room/**
- package.json
- consumers/test-adoption/**
- scripts/run-chat-room-consumer.mjs
- scripts/run-clean-adoption.mjs
- scripts/published-consumer-version.mjs
- scripts/published-consumer-version.test.ts
- docs/published-consumer-policy.md
pull_request:
paths:
- .github/workflows/published-consumer.yml
- .stackblitzrc
- consumers/chat-room/**
- examples/chat-room/**
- package.json
- consumers/test-adoption/**
- scripts/run-chat-room-consumer.mjs
- scripts/run-clean-adoption.mjs
- scripts/published-consumer-version.mjs
- scripts/published-consumer-version.test.ts
- docs/published-consumer-policy.md
schedule:
- cron: '17 3 * * 1'
workflow_dispatch:
permissions:
contents: read
# The fixture intentionally performs a lockfile-free install, so its npm runner
# is pinned independently of the CLI bundled with the selected Node release.
env:
CLEAN_ADOPTION_NPM_VERSION: 11.6.4
jobs:
published-consumer:
name: published package consumer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
node-version: 20
- name: Resolve the reviewed supported-release pin
id: supported-release
shell: bash
run: node scripts/published-consumer-version.mjs >> "$GITHUB_OUTPUT"
- name: Install and run the published-package consumer
shell: bash
run: |
node scripts/run-chat-room-consumer.mjs published \
--version "${{ steps.supported-release.outputs.version }}"
- name: Install the clean-adoption npm runner
run: npm install --global "npm@$CLEAN_ADOPTION_NPM_VERSION"
- name: Run representative clean-adoption fixtures
shell: bash
run: |
args=(published --version "${{ steps.supported-release.outputs.version }}")
if [[ "${{ steps.supported-release.outputs.includes_client }}" == "true" ]]; then
args+=(--client-version "${{ steps.supported-release.outputs.version }}")
fi
node scripts/run-clean-adoption.mjs "${args[@]}"