diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 743aafe..a5ffe60 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: - node-version: [14, 16, 18] + node-version: [24] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index ddfa3a2..0df6246 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -21,7 +21,7 @@ jobs: strategy: matrix: - node-version: [14] + node-version: [24] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/release-insiders.yml b/.github/workflows/release-insiders.yml deleted file mode 100644 index e0ddd7e..0000000 --- a/.github/workflows/release-insiders.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Release Insiders - -on: - push: - branches: [main] - -permissions: - contents: read - id-token: write - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [14] - - steps: - - uses: actions/checkout@v3 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - registry-url: 'https://registry.npmjs.org' - - - name: Use cached node_modules - uses: actions/cache@v3 - with: - path: node_modules - key: nodeModules-${{ hashFiles('./package-lock.json') }}-${{ matrix.node-version }} - - - name: Install dependencies - run: npm install - - - name: Build - run: npm run build - - - name: Test - run: npm test - - - name: Resolve version - id: vars - run: | - echo "SHA_SHORT=$(git rev-parse --short HEAD)" >> $GITHUB_ENV - - - name: 'Version based on commit: 0.0.0-insiders.${{ env.SHA_SHORT }}' - run: npm version 0.0.0-insiders.${{ env.SHA_SHORT }} --force --no-git-tag-version - - - name: Publish - run: npm publish --provenance --tag insiders - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7108a9a..b1d0844 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,8 @@ name: Release on: + push: + branches: [main] release: types: [published] @@ -14,22 +16,17 @@ jobs: strategy: matrix: - node-version: [14] + node-version: [24] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} registry-url: 'https://registry.npmjs.org' - - - name: Use cached node_modules - uses: actions/cache@v3 - with: - path: node_modules - key: nodeModules-${{ hashFiles('./package-lock.json') }}-${{ matrix.node-version }} + cache: 'npm' - name: Install dependencies run: npm install @@ -40,11 +37,20 @@ jobs: - name: Test run: npm test - - name: Calculate environment variables + - name: Resolve release metadata run: | - echo "RELEASE_CHANNEL=$(npm run release-channel --silent)" >> $GITHUB_ENV + if [ "${{ github.event_name }}" = "release" ]; then + echo "RELEASE_KIND=release" >> $GITHUB_ENV + echo "RELEASE_CHANNEL=$(npm run release-channel --silent)" >> $GITHUB_ENV + else + echo "RELEASE_KIND=insiders" >> $GITHUB_ENV + echo "INSIDERS_VERSION=0.0.0-insiders.$(git rev-parse --short HEAD)" >> $GITHUB_ENV + echo "RELEASE_CHANNEL=insiders" >> $GITHUB_ENV + fi + + - name: Version based on commit + if: env.RELEASE_KIND == 'insiders' + run: npm version "$INSIDERS_VERSION" --force --no-git-tag-version - name: Publish - run: npm publish --provenance --tag ${{ env.RELEASE_CHANNEL }} - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npm publish --provenance --tag "$RELEASE_CHANNEL" diff --git a/package.json b/package.json index 4d103fb..6395084 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "@swc/core": "^1.3.7", "@swc/jest": "^0.2.23", "@types/jest": "^29.1.2", + "@types/node": "18.8.4", "jest": "^29.1.2", "postcss": "^8.4.17", "prettier": "^2.7.1", diff --git a/scripts/release-channel.js b/scripts/release-channel.js index 0c827f3..a9ba3bd 100644 --- a/scripts/release-channel.js +++ b/scripts/release-channel.js @@ -10,7 +10,7 @@ let version = process.argv[2] || process.env.npm_package_version || require('../package.json').version -let match = /\d+\.\d+\.\d+-(.*)\.\d+/g.exec(version) +let match = /\d+\.\d+\.\d+-(.*)(\.\d+)?/g.exec(version) if (match) { console.log(match[1]) } else {