diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4abcc80..8aee693 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,7 +3,7 @@ name: CI on: push: branches: - - master + - main pull_request: jobs: @@ -11,10 +11,10 @@ jobs: name: Lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: '20' cache: 'npm' @@ -36,10 +36,10 @@ jobs: name: Test - node ${{ matrix.node_version }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: ${{ matrix.node_version }} cache: 'npm' diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index ae78f3a..c05ab04 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -13,11 +13,11 @@ jobs: publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Use Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 22.x + node-version: 24.x registry-url: "https://registry.npmjs.org" - run: npm ci - name: Check release tag matches package version @@ -30,4 +30,12 @@ jobs: exit 1 fi - name: Publish to npm - run: npm publish --provenance --access public + run: | + package_version="$(node -p "require('./package.json').version")" + # Skip if this version is already published + if npm view "hsluv-sass@${package_version}" version 2>/dev/null; then + echo "hsluv-sass@${package_version} is already published, skipping" + exit 0 + fi + echo "Publishing hsluv-sass@${package_version}" + npm publish --provenance --access public