Skip to content

chore(rust): release (#1449) #564

chore(rust): release (#1449)

chore(rust): release (#1449) #564

Workflow file for this run

name: TypeScript - Release
permissions:
id-token: write # Required for trusted publishing
contents: write
on:
push:
branches:
- main
workflow_dispatch:
jobs:
release-check:
name: Check if version changed
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: taiki-e/install-action@7a79fe8c3a13344501c80d99cae481c1c9085912 # v2.81.10
with: { tool: 'just,cargo-binstall' }
- name: Check if version has been updated
id: check
uses: EndBug/version-check@095362f3cd50f690c8fa0e6afeea81834bd8d320
with:
file-name: ts/package.json
- run: just -v assert-git-is-clean
outputs:
publish: ${{ steps.check.outputs.changed }}
release:
name: Release
needs: release-check
if: ${{ needs.release-check.outputs.publish == 'true' }}
runs-on: ubuntu-latest
defaults:
run:
working-directory: ts
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: taiki-e/install-action@7a79fe8c3a13344501c80d99cae481c1c9085912 # v2.81.10
with: { tool: 'just,cargo-binstall' }
- uses: ./.github/actions/mlt-setup-node
- name: Get version
run: |
version="$(node -p "require('./package.json').version")"
echo version="$version" >> "$GITHUB_ENV"
if [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo prerelease=false >> "$GITHUB_ENV"
else
echo prerelease=true >> "$GITHUB_ENV"
fi
- name: Install
run: npm ci
- name: Build
run: npm run build
- name: Merge license files into LICENSE.txt
run: |
{
echo "===== MIT License ====="
cat ../LICENSE-MIT
echo
echo "===== Apache License 2.0 ====="
cat ../LICENSE-APACHE
} > LICENSE.txt
- name: Release (GitHub) - Create Draft
uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0
with:
name: js-v${{ env.version }}
tag_name: js-v${{ env.version }}
prerelease: ${{ env.prerelease }}
draft: true
- if: github.repository_owner == 'maplibre'
name: Publish npm package
run: npm publish --access=public
- name: Publish GitHub release (remove draft)
uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3.0.0
with:
tag_name: js-v${{ env.version }}
name: js-v${{ env.version }}
draft: false
- run: just -v assert-git-is-clean