openvibers/openvibe.publishing Commits

CI on the shared test and security workflows (WS-Q task 1, OpenVibe.Shared 66b76f8): install, node --check, tests, contract and pin-drift checks from one definition; this repository's own steps kept as inputs and extra steps

OP OpenVibers committed 25 Sept 2026 · 23aa4a4d3b · 1 file, +19 −29


Changes

ddiff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
iindex 8610435..484af94 100644
---- a/.github/workflows/ci.yml
++++ b/.github/workflows/ci.yml
@@@ -2,36 +2,26 @@ name: ci
on:
push:
branches: [main]
-- tags: ['v*']
pull_request:
jobs:
++ # install, node --check, tests, contract and pin-drift checks: the shared test job (WS-Q task 1).
test:
-- runs-on: ubuntu-latest
-- steps:
-- - uses: actions/checkout@v4
-- - uses: actions/setup-node@v4
-- with:
-- node-version: 22.22.1 # the consuming services run Node 22
-- cache: npm
-- - run: npm ci --no-audit --no-fund
-- - run: npm test
-- - name: pin drift (openvibe-* library pins)
-- run: curl -fsSL https://raw.githubusercontent.com/OpenVibers/OpenVibe.Shared/main/scripts/pin-drift.js | node - "$GITHUB_WORKSPACE"
-- # The release artifact is GitHub's tarball of the tag (repository root = package root):
-- # install one built the same way into an empty project and load every entry point by name.
-- - name: install from a tag-style tarball
-- run: |
-- git archive --format=tar.gz --prefix=OpenVibe.Publishing-ci/ -o "$RUNNER_TEMP/openvibe-publishing.tgz" HEAD
-- mkdir "$RUNNER_TEMP/consumer" && cd "$RUNNER_TEMP/consumer" && npm init -y >/dev/null
-- npm install --no-audit --no-fund "$RUNNER_TEMP/openvibe-publishing.tgz" better-sqlite3@11 https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.12.0 # peers: the product provides both
-- node -e "
-- const p = require('openvibe-publishing');
-- for (const m of ['revisions','schedule','taxonomy','citations','media','discussion','seo','authorship','index-hooks','ssr']) require('openvibe-publishing/' + m);
-- const Database = require('better-sqlite3');
-- const db = new Database(':memory:');
-- p.revisions.createRevisionStore(db, { prefix: 'ci' }).create({ entityId: 'e', expectedRevision: 0, content: 'x' });
-- console.log('ok', require('openvibe-publishing/package.json').version);
-- "
-- # Secret scan (gitleaks) and dependency audit, shared by every OpenVibers repo (Track Q).
++ uses: OpenVibers/OpenVibe.Shared/.github/workflows/test.yml@66b76f868ea8228aad7811309eafef3726b036f3
++ with:
++ syntax-dirs: lib
++ # A consumer installs the package from a tag-style tarball and loads every module.
++ extra: |
++ git archive --format=tar.gz --prefix=OpenVibe.Publishing-ci/ -o "$RUNNER_TEMP/openvibe-publishing.tgz" HEAD
++ mkdir "$RUNNER_TEMP/consumer" && cd "$RUNNER_TEMP/consumer" && npm init -y >/dev/null
++ npm install --no-audit --no-fund "$RUNNER_TEMP/openvibe-publishing.tgz" better-sqlite3@11 https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.12.0
++ node -e "
++ const p = require('openvibe-publishing');
++ for (const m of ['revisions','schedule','taxonomy','citations','media','discussion','seo','authorship','index-hooks','ssr']) require('openvibe-publishing/' + m);
++ const Database = require('better-sqlite3');
++ const db = new Database(':memory:');
++ p.revisions.createRevisionStore(db, { prefix: 'ci' }).create({ entityId: 'e', expectedRevision: 0, content: 'x' });
++ console.log('ok', require('openvibe-publishing/package.json').version);
++ "
++ # Secret scan (gitleaks) and dependency audit, shared by every OpenVibers repo.
security:
-- uses: OpenVibers/OpenVibe.Shared/.github/workflows/security.yml@83c998b65424fb97e6f6de55ad9cc5981767e89c
++ uses: OpenVibers/OpenVibe.Shared/.github/workflows/security.yml@66b76f868ea8228aad7811309eafef3726b036f3