From ca13a416e9d0dec5fdba8bbf5387da754730d627 Mon Sep 17 00:00:00 2001 From: "Flamand, Raf" Date: Thu, 11 Dec 2025 08:33:31 +0000 Subject: [PATCH 01/13] Test simplified run_unit_test workflow --- .github/workflows/run_unit_tests.yml | 64 ++++++++++------------------ 1 file changed, 22 insertions(+), 42 deletions(-) diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 28ae782..d1cc370 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -15,33 +15,22 @@ jobs: matrix: os: [ubuntu-latest] steps: - - uses: actions/checkout@v2 - - name: Install build and test dependencies - run: | - export DEBIAN_FRONTEND=noninteractive - export DEBCONF_NONINTERACTIVE_SEEN=true - sudo apt-get update - sudo apt-get install -y --no-install-suggests --no-install-recommends \ - autogen \ - dh-autoreconf \ - build-essential \ - clang \ - cmake \ - git \ - liblcms2-dev \ - llvm \ - libtool \ - nodejs \ - npm \ - pkg-config \ - python3 \ - shtool \ - valgrind - sudo apt-get clean + - name: Checkout + uses: actions/checkout@v2 - name: Install yarn package manager run: npm install --global yarn + - name: Install emscript + uses: mymindstorm/setup-emsdk@v14 + with: + version: 4.0.19 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y liblcms2-dev autoconf + - name: Build and install library run: | mkdir build @@ -50,26 +39,13 @@ jobs: make sudo make install - - name: Build and install Emscripten SDK - run: | - git clone https://github.com/emscripten-core/emsdk.git - cd emsdk - git pull - ./emsdk install latest - ./emsdk activate latest - source ./emsdk_env.sh - - name: Build WebAssembly bindings run: | yarn run clean - sh ./emsdk/emsdk activate latest - source ./emsdk/emsdk_env.sh yarn run build - name: Perform npm package publish dry run run: | - sh ./emsdk/emsdk activate latest - source ./emsdk/emsdk_env.sh npm publish . --dry-run macos: @@ -78,20 +54,24 @@ jobs: strategy: fail-fast: false steps: - - uses: actions/checkout@v2 - - name: Install build and test dependencies + - name: Checkout + uses: actions/checkout@v2 + + - name: Install emscript + uses: mymindstorm/setup-emsdk@v14 + with: + version: 4.0.19 + + - name: Install dependencies run: | brew update brew upgrade brew install \ autoconf \ automake \ - emscripten \ libtool \ little-cms2 \ - llvm \ - node \ - yarn + llvm - name: Build and install library run: | From d876400b7013009d013ec2cf224621cb847c2dc5 Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Thu, 11 Dec 2025 09:33:56 +0000 Subject: [PATCH 02/13] Small update to run_unit_tests and created publish actions --- .github/workflows/publish.yml | 45 ++++++++++++++++++++++++++++ .github/workflows/run_unit_tests.yml | 9 ++++-- 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..d64193a --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,45 @@ +name: Publish + +on: + release: + types: [published] + +jobs: + publish: + name: Publish npm package on release + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install emscript + uses: mymindstorm/setup-emsdk@v14 + with: + version: 4.0.19 + + - name: Install yarn package manager + run: npm install --global yarn + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y liblcms2-dev autoconf + + - name: Build and install library + run: | + mkdir build + cd build + cmake .. + make + sudo make install + + - name: Build WebAssembly bindings + run: | + yarn run clean + yarn run build + + - name: Perform npm package publish dry run + run: | + npm publish . + env: + NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index d1cc370..fcb5e37 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -18,13 +18,13 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Install yarn package manager - run: npm install --global yarn - - name: Install emscript uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 + + - name: Install yarn package manager + run: npm install --global yarn - name: Install dependencies run: | @@ -62,6 +62,9 @@ jobs: with: version: 4.0.19 + - name: Install yarn package manager + run: npm install --global yarn + - name: Install dependencies run: | brew update From 19abb6afcaf370be82610237cb1f9523a14bfbc3 Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Thu, 11 Dec 2025 10:01:17 +0000 Subject: [PATCH 03/13] Added caching + some guard rails --- .github/workflows/publish.yml | 24 ++++++++++++++++++++++-- .github/workflows/run_unit_tests.yml | 27 +++++++++++++++++++++++++-- 2 files changed, 47 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d64193a..3b0623b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,15 +8,35 @@ jobs: publish: name: Publish npm package on release runs-on: ubuntu-latest + # Guard rails: only publish from canonical repo, never from forks + if: >- + github.event.repository.fork == false && + github.repository_owner == 'ImagingDataCommons' + permissions: + contents: read + concurrency: + group: npm-publish-${{ github.ref }} + cancel-in-progress: false steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + fetch-depth: 1 - name: Install emscript uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 + - name: Setup Node with yarn cache + uses: actions/setup-node@v4 + with: + node-version: '22.16.0' + cache: 'yarn' + cache-dependency-path: | + package.json + yarn.lock + - name: Install yarn package manager run: npm install --global yarn @@ -38,7 +58,7 @@ jobs: yarn run clean yarn run build - - name: Perform npm package publish dry run + - name: Publish to npm run: | npm publish . env: diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index fcb5e37..4f4fc55 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -16,13 +16,25 @@ jobs: os: [ubuntu-latest] steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + fetch-depth: 1 - name: Install emscript uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 + # The action internally caches emsdk; enabling default cache behavior + - name: Setup Node with yarn cache + uses: actions/setup-node@v4 + with: + node-version: '22.16.0' + cache: 'yarn' + cache-dependency-path: | + package.json + yarn.lock + - name: Install yarn package manager run: npm install --global yarn @@ -55,13 +67,24 @@ jobs: fail-fast: false steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + fetch-depth: 1 - name: Install emscript uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 + - name: Setup Node with yarn cache + uses: actions/setup-node@v4 + with: + node-version: '22.16.0' + cache: 'yarn' + cache-dependency-path: | + package.json + yarn.lock + - name: Install yarn package manager run: npm install --global yarn From 3de372a32c64c1212e124599faf11bf4ea2c02ef Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Thu, 11 Dec 2025 10:06:39 +0000 Subject: [PATCH 04/13] Supply emcmake with caching folder. Should speed up runner --- .github/workflows/publish.yml | 1 + .github/workflows/run_unit_tests.yml | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3b0623b..6c750df 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -27,6 +27,7 @@ jobs: uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 + actions-cache-folder: '.emsdk-cache' - name: Setup Node with yarn cache uses: actions/setup-node@v4 diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 4f4fc55..10ca3c8 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -24,7 +24,7 @@ jobs: uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 - # The action internally caches emsdk; enabling default cache behavior + actions-cache-folder: '.emsdk-cache' - name: Setup Node with yarn cache uses: actions/setup-node@v4 @@ -75,6 +75,7 @@ jobs: uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 + actions-cache-folder: '.emsdk-cache' - name: Setup Node with yarn cache uses: actions/setup-node@v4 From 686663b014e7a33516cd06a4c2529c2709d4fe2a Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Thu, 11 Dec 2025 10:20:30 +0000 Subject: [PATCH 05/13] Update version in build instructions --- BUILDING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILDING.md b/BUILDING.md index 4abd245..bf146a6 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -44,7 +44,7 @@ The examples expects the lcms2, dicom, and dicomicc libraries to be already inst The build dependencies used for building the WASM binding are as follows: * CMake 3.16 -* Emscripten SDK 1.39.4 +* Emscripten SDK 4.19.0 Earlier versions may work but have not been tested. From 359c38fa99e02077711bfa134dbe32abbc68acf5 Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Wed, 28 Jan 2026 10:06:11 +0000 Subject: [PATCH 06/13] Process copilot comments --- .github/workflows/publish.yml | 3 ++- .github/workflows/run_unit_tests.yml | 4 ++-- BUILDING.md | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6c750df..0f4e20a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,7 +23,7 @@ jobs: with: fetch-depth: 1 - - name: Install emscript + - name: Install emscripten uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 @@ -37,6 +37,7 @@ jobs: cache-dependency-path: | package.json yarn.lock + registry-url: 'https://registry.npmjs.org' - name: Install yarn package manager run: npm install --global yarn diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 10ca3c8..0e80f10 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -20,7 +20,7 @@ jobs: with: fetch-depth: 1 - - name: Install emscript + - name: Install emscripten uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 @@ -71,7 +71,7 @@ jobs: with: fetch-depth: 1 - - name: Install emscript + - name: Install emscripten uses: mymindstorm/setup-emsdk@v14 with: version: 4.0.19 diff --git a/BUILDING.md b/BUILDING.md index bf146a6..ed52e5f 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -44,7 +44,7 @@ The examples expects the lcms2, dicom, and dicomicc libraries to be already inst The build dependencies used for building the WASM binding are as follows: * CMake 3.16 -* Emscripten SDK 4.19.0 +* Emscripten SDK 4.0.19 Earlier versions may work but have not been tested. From 1664d3c7eaf9c80691c87abe2621aaff8ae6d5b4 Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Wed, 28 Jan 2026 13:07:13 +0000 Subject: [PATCH 07/13] Remove trailing spaces + apply some other formatting --- .github/workflows/publish.yml | 119 ++++++++--------- .github/workflows/run_unit_tests.yml | 183 ++++++++++++--------------- 2 files changed, 139 insertions(+), 163 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0f4e20a..fbb1b90 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,67 +1,58 @@ name: Publish - on: - release: - types: [published] - + release: + types: [published] jobs: - publish: - name: Publish npm package on release - runs-on: ubuntu-latest - # Guard rails: only publish from canonical repo, never from forks - if: >- - github.event.repository.fork == false && - github.repository_owner == 'ImagingDataCommons' - permissions: - contents: read - concurrency: - group: npm-publish-${{ github.ref }} - cancel-in-progress: false - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Install emscripten - uses: mymindstorm/setup-emsdk@v14 - with: - version: 4.0.19 - actions-cache-folder: '.emsdk-cache' - - - name: Setup Node with yarn cache - uses: actions/setup-node@v4 - with: - node-version: '22.16.0' - cache: 'yarn' - cache-dependency-path: | - package.json - yarn.lock - registry-url: 'https://registry.npmjs.org' - - - name: Install yarn package manager - run: npm install --global yarn - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y liblcms2-dev autoconf - - - name: Build and install library - run: | - mkdir build - cd build - cmake .. - make - sudo make install - - - name: Build WebAssembly bindings - run: | - yarn run clean - yarn run build - - - name: Publish to npm - run: | - npm publish . - env: - NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} \ No newline at end of file + publish: + name: Publish npm package on release + runs-on: ubuntu-latest + # Guard rails: only publish from canonical repo, never from forks + if: >- + github.event.repository.fork == false && + github.repository_owner == 'ImagingDataCommons' + permissions: + contents: read + concurrency: + group: npm-publish-${{ github.ref }} + cancel-in-progress: false + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + - name: Install emscripten + uses: mymindstorm/setup-emsdk@v14 + with: + version: 4.0.19 + actions-cache-folder: ".emsdk-cache" + - name: Setup Node with yarn cache + uses: actions/setup-node@v4 + with: + node-version: "22.16.0" + cache: "yarn" + cache-dependency-path: | + package.json + yarn.lock + registry-url: "https://registry.npmjs.org" + - name: Install yarn package manager + run: npm install --global yarn + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y liblcms2-dev autoconf + - name: Build and install library + run: | + mkdir build + cd build + cmake .. + make + sudo make install + - name: Build WebAssembly bindings + run: | + yarn run clean + yarn run build + - name: Publish to npm + run: | + npm publish . + env: + NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 0e80f10..fa8f317 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -1,11 +1,9 @@ name: build and test - on: push: - branches: [ master ] + branches: [master] pull_request: - branches: [ master ] - + branches: [master] jobs: linux: name: Build and run tests on Linux @@ -15,103 +13,90 @@ jobs: matrix: os: [ubuntu-latest] steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Install emscripten - uses: mymindstorm/setup-emsdk@v14 - with: - version: 4.0.19 - actions-cache-folder: '.emsdk-cache' - - - name: Setup Node with yarn cache - uses: actions/setup-node@v4 - with: - node-version: '22.16.0' - cache: 'yarn' - cache-dependency-path: | - package.json - yarn.lock - - - name: Install yarn package manager - run: npm install --global yarn - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y liblcms2-dev autoconf - - - name: Build and install library - run: | - mkdir build - cd build - cmake .. - make - sudo make install - - - name: Build WebAssembly bindings - run: | - yarn run clean - yarn run build - - - name: Perform npm package publish dry run - run: | - npm publish . --dry-run - + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + - name: Install emscripten + uses: mymindstorm/setup-emsdk@v14 + with: + version: 4.0.19 + actions-cache-folder: ".emsdk-cache" + - name: Setup Node with yarn cache + uses: actions/setup-node@v4 + with: + node-version: "22.16.0" + cache: "yarn" + cache-dependency-path: | + package.json + yarn.lock + - name: Install yarn package manager + run: npm install --global yarn + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y liblcms2-dev autoconf + - name: Build and install library + run: | + mkdir build + cd build + cmake .. + make + sudo make install + - name: Build WebAssembly bindings + run: | + yarn run clean + yarn run build + - name: Perform npm package publish dry run + run: | + npm publish . --dry-run macos: name: Build and run tests on macOS - runs-on: macos-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: false + matrix: + os: [macos-latest] steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: Install emscripten - uses: mymindstorm/setup-emsdk@v14 - with: - version: 4.0.19 - actions-cache-folder: '.emsdk-cache' - - - name: Setup Node with yarn cache - uses: actions/setup-node@v4 - with: - node-version: '22.16.0' - cache: 'yarn' - cache-dependency-path: | - package.json - yarn.lock - - - name: Install yarn package manager - run: npm install --global yarn - - - name: Install dependencies - run: | - brew update - brew upgrade - brew install \ - autoconf \ - automake \ - libtool \ - little-cms2 \ - llvm - - - name: Build and install library - run: | - mkdir build - cd build - cmake -DCMAKE_PREFIX_PATH=$PWD/install -DCMAKE_INSTALL_PREFIX=$PWD/install .. - make - make install - - - name: Build WebAssembly bindings - run: | - yarn run clean - yarn run build - - - name: Perform npm package publish dry run - run: npm publish . --dry-run + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + - name: Install emscripten + uses: mymindstorm/setup-emsdk@v14 + with: + version: 4.0.19 + actions-cache-folder: ".emsdk-cache" + - name: Setup Node with yarn cache + uses: actions/setup-node@v4 + with: + node-version: "22.16.0" + cache: "yarn" + cache-dependency-path: | + package.json + yarn.lock + - name: Install yarn package manager + run: npm install --global yarn + - name: Install dependencies + run: | + brew update + brew upgrade + brew install \ + autoconf \ + automake \ + libtool \ + little-cms2 \ + llvm + - name: Build and install library + run: | + mkdir build + cd build + cmake -DCMAKE_PREFIX_PATH=$PWD/install -DCMAKE_INSTALL_PREFIX=$PWD/install .. + make + make install + - name: Build WebAssembly bindings + run: | + yarn run clean + yarn run build + - name: Perform npm package publish dry run + run: npm publish . --dry-run \ No newline at end of file From 245fd7162b5217f2e84a706a65a1ab899ba0031e Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Wed, 28 Jan 2026 13:22:19 +0000 Subject: [PATCH 08/13] Add cmake to installed dependencies --- .github/workflows/publish.yml | 2 +- .github/workflows/run_unit_tests.yml | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index fbb1b90..a36dc3b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -39,7 +39,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install -y liblcms2-dev autoconf + sudo apt-get install -y liblcms2-dev autoconf cmake - name: Build and install library run: | mkdir build diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index fa8f317..1e57958 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -35,7 +35,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install -y liblcms2-dev autoconf + sudo apt-get install -y liblcms2-dev autoconf cmake - name: Build and install library run: | mkdir build @@ -86,7 +86,8 @@ jobs: automake \ libtool \ little-cms2 \ - llvm + llvm \ + cmake - name: Build and install library run: | mkdir build From 9d24604c1f0f9b68acfa964cc7b79a6b84feb1e7 Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Wed, 28 Jan 2026 14:03:21 +0000 Subject: [PATCH 09/13] Remove yarn caching + add version verification before publishing --- .github/workflows/publish.yml | 20 ++++++++++++++++---- .github/workflows/run_unit_tests.yml | 4 ---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a36dc3b..dd82bc8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,10 +29,6 @@ jobs: uses: actions/setup-node@v4 with: node-version: "22.16.0" - cache: "yarn" - cache-dependency-path: | - package.json - yarn.lock registry-url: "https://registry.npmjs.org" - name: Install yarn package manager run: npm install --global yarn @@ -51,6 +47,22 @@ jobs: run: | yarn run clean yarn run build + - name: Verify package version matches tag + run: | + set -euo pipefail + PKG_VERSION=$(node -p "require('./package.json').version") + TAG="${{ github.event.release.tag_name }}" + if [ -z "$TAG" ]; then TAG="${GITHUB_REF#refs/tags/}"; fi + if [ -z "$TAG" ]; then + echo "Error: could not determine release tag from github.event.release.tag_name or GITHUB_REF" + exit 1 + fi + TAG="${TAG#v}" + if [ "$PKG_VERSION" != "$TAG" ]; then + echo "Version mismatch: package.json=$PKG_VERSION tag=$TAG" + exit 1 + fi + echo "Version OK: $PKG_VERSION" - name: Publish to npm run: | npm publish . diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 1e57958..3d73376 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -71,10 +71,6 @@ jobs: uses: actions/setup-node@v4 with: node-version: "22.16.0" - cache: "yarn" - cache-dependency-path: | - package.json - yarn.lock - name: Install yarn package manager run: npm install --global yarn - name: Install dependencies From b28766063621d24b6211a05ca14bd40f61366c18 Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Wed, 28 Jan 2026 14:05:34 +0000 Subject: [PATCH 10/13] Update step names to remove yarn cache --- .github/workflows/publish.yml | 2 +- .github/workflows/run_unit_tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index dd82bc8..7917ef0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -25,7 +25,7 @@ jobs: with: version: 4.0.19 actions-cache-folder: ".emsdk-cache" - - name: Setup Node with yarn cache + - name: Setup Node uses: actions/setup-node@v4 with: node-version: "22.16.0" diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 3d73376..d98ebc7 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -67,7 +67,7 @@ jobs: with: version: 4.0.19 actions-cache-folder: ".emsdk-cache" - - name: Setup Node with yarn cache + - name: Setup Node uses: actions/setup-node@v4 with: node-version: "22.16.0" From 3c9e807b85f0b2012341eb6ce87de038edf3991e Mon Sep 17 00:00:00 2001 From: Raf Flamand Date: Wed, 28 Jan 2026 14:08:55 +0000 Subject: [PATCH 11/13] Remove yarn caching from ubuntu steps in run_unit_tests --- .github/workflows/run_unit_tests.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index d98ebc7..e317be7 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -22,14 +22,10 @@ jobs: with: version: 4.0.19 actions-cache-folder: ".emsdk-cache" - - name: Setup Node with yarn cache + - name: Setup Node uses: actions/setup-node@v4 with: node-version: "22.16.0" - cache: "yarn" - cache-dependency-path: | - package.json - yarn.lock - name: Install yarn package manager run: npm install --global yarn - name: Install dependencies From 656319c37a6e05f6528bf5a0e5364e8529e34c62 Mon Sep 17 00:00:00 2001 From: Andrey Fedorov Date: Thu, 19 Feb 2026 08:52:21 -0500 Subject: [PATCH 12/13] Update npm publish step and permissions in workflow Switch to npm trusted publishers (OIDC) for publishing Replace long-lived NODE_AUTH_TOKEN secret with OIDC provenance-based authentication. Adds id-token: write permission and --provenance flag to npm publish. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/publish.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7917ef0..a6a8b4e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,6 +12,7 @@ jobs: github.repository_owner == 'ImagingDataCommons' permissions: contents: read + id-token: write concurrency: group: npm-publish-${{ github.ref }} cancel-in-progress: false @@ -65,6 +66,4 @@ jobs: echo "Version OK: $PKG_VERSION" - name: Publish to npm run: | - npm publish . - env: - NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} \ No newline at end of file + npm publish . --provenance --access public From 1d03a814d47761370a44f9183d3fd21f88c2920e Mon Sep 17 00:00:00 2001 From: Andrey Fedorov Date: Thu, 19 Feb 2026 08:58:31 -0500 Subject: [PATCH 13/13] bump version to 0.2.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cb3f651..4fcf7c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@imagingdatacommons/dicomicc", - "version": "0.2.1", + "version": "0.2.2", "description": "WASM bindings and JavaScript API for the dicomicc C library", "main": "dist/dicomiccwasm.js", "publishConfig": {