move release type get to where semver is installed

This commit is contained in:
acalcutt 2025-01-10 19:04:05 -05:00
parent 4367134715
commit 81b1d838c3

View file

@ -34,20 +34,12 @@ jobs:
run: | run: |
currentVersion="$( node -e "console.log(require('./package.json').version)" )" currentVersion="$( node -e "console.log(require('./package.json').version)" )"
isPublished="$( npm view tileserver-gl versions --json | jq -c --arg cv "$currentVersion" 'any(. == $cv)' )" isPublished="$( npm view tileserver-gl versions --json | jq -c --arg cv "$currentVersion" 'any(. == $cv)' )"
RELEASE_TYPE="$(node -e "console.log(require('semver').prerelease('$currentVersion') ? 'prerelease' : 'regular')")"
echo "version=$currentVersion" >> "$GITHUB_OUTPUT" echo "version=$currentVersion" >> "$GITHUB_OUTPUT"
echo "published=$isPublished" >> "$GITHUB_OUTPUT" echo "published=$isPublished" >> "$GITHUB_OUTPUT"
if [[ $RELEASE_TYPE == 'regular' ]]; then
echo "prerelease=false" >> "$GITHUB_OUTPUT"
else
echo "prerelease=true" >> "$GITHUB_OUTPUT"
fi
echo "currentVersion: $currentVersion" echo "currentVersion: $currentVersion"
echo "isPublished: $isPublished" echo "isPublished: $isPublished"
echo "prerelease: ${prerelease}"
outputs: outputs:
published: ${{ steps.check.outputs.published }} published: ${{ steps.check.outputs.published }}
prerelease: ${{ steps.check.outputs.prerelease }}
version: ${{ steps.check.outputs.version }} version: ${{ steps.check.outputs.version }}
release: release:
@ -57,8 +49,6 @@ jobs:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
env: env:
PACKAGE_VERSION: ${{ needs.release-check.outputs.version }} PACKAGE_VERSION: ${{ needs.release-check.outputs.version }}
PRERELEASE: ${{ needs.release-check.outputs.prerelease }}
TAG: ${{ needs.release-check.outputs.prerelease == 'true' && 'next' || 'latest' }}
steps: steps:
- name: Check out repository ✨ - name: Check out repository ✨
uses: actions/checkout@v4 uses: actions/checkout@v4
@ -96,10 +86,20 @@ jobs:
- name: Remove Test Data - name: Remove Test Data
run: rm -R test_data* run: rm -R test_data*
- name: Get release type
id: prepare_release
run: |
RELEASE_TYPE="$(node -e "console.log(require('semver').prerelease('${{ needs.release-check.outputs.version }}') ? 'prerelease' : 'regular')")"
if [[ $RELEASE_TYPE == 'regular' ]]; then
echo "prerelease=false" >> "$GITHUB_OUTPUT"
else
echo "prerelease=true" >> "$GITHUB_OUTPUT"
fi
- name: Publish to NPM - name: Publish to NPM
run: | run: |
npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN} npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
npm publish --access public --tag ${{ env.TAG }} npm publish --access public --tag ${{ needs.release-check.outputs.prerelease == 'true' && 'next' || 'latest' }}
env: env:
NPM_TOKEN: ${{ github.event.inputs.npm_token }} NPM_TOKEN: ${{ github.event.inputs.npm_token }}
@ -123,7 +123,7 @@ jobs:
context: . context: .
push: true push: true
tags: | tags: |
maptiler/tileserver-gl:${{ env.TAG }}, maptiler/tileserver-gl:${{ needs.release-check.outputs.prerelease == 'true' && 'next' || 'latest' }},
maptiler/tileserver-gl:v${{ env.PACKAGE_VERSION }} maptiler/tileserver-gl:v${{ env.PACKAGE_VERSION }}
platforms: linux/arm64,linux/amd64 platforms: linux/arm64,linux/amd64
cache-from: type=gha cache-from: type=gha
@ -157,7 +157,7 @@ jobs:
working-directory: ./light working-directory: ./light
run: | run: |
npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN} npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
npm publish --access public --tag ${{ env.TAG }} npm publish --access public --tag ${{ needs.release-check.outputs.prerelease == 'true' && 'next' || 'latest' }}
env: env:
NPM_TOKEN: ${{ github.event.inputs.npm_token }} NPM_TOKEN: ${{ github.event.inputs.npm_token }}
@ -168,7 +168,7 @@ jobs:
file: ./light/Dockerfile file: ./light/Dockerfile
push: true push: true
tags: | tags: |
maptiler/tileserver-gl-light:${{ env.TAG }}, maptiler/tileserver-gl-light:${{ needs.release-check.outputs.prerelease == 'true' && 'next' || 'latest' }},
maptiler/tileserver-gl-light:v${{ env.PACKAGE_VERSION }} maptiler/tileserver-gl-light:v${{ env.PACKAGE_VERSION }}
platforms: linux/arm64,linux/amd64 platforms: linux/arm64,linux/amd64
cache-from: type=gha cache-from: type=gha