Skip to content

Bump ts-jest from 29.1.5 to 29.2.2 in /js (#241) #19

Bump ts-jest from 29.1.5 to 29.2.2 in /js (#241)

Bump ts-jest from 29.1.5 to 29.2.2 in /js (#241) #19

Workflow file for this run

name: Release
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@v4
with:
fetch-depth: 0
ref: main
- name: Use Node.js from nvmrc
uses: actions/setup-node@v4
with:
node-version-file: 'js/.nvmrc'
- name: Check if version has been updated
id: check
uses: EndBug/version-check@v2
with:
file-name: js/package.json
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:
shell: bash
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
- name: Use Node.js from nvmrc
uses: actions/setup-node@v4
with:
node-version-file: 'js/.nvmrc'
registry-url: 'https://registry.npmjs.org'
- name: Get version
id: package-version
uses: martinbeentjes/[email protected]
with:
path: js
- name: Install
working-directory: js
run: npm ci
- name: Prepare release
id: prepare_release
working-directory: js
run: |
RELEASE_TYPE=$(node -e "console.log(require('semver').prerelease('${{ steps.package-version.outputs.current-version }}') ? 'prerelease' : 'regular')")
echo "release_type=$RELEASE_TYPE" >> $GITHUB_OUTPUT
- name: Build
working-directory: js
run: |
npm run build
- name: Publish NPM package (regular)
working-directory: js
if: ${{ steps.prepare_release.outputs.release_type == 'regular' }}
run: |
npm publish --access=public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_ORG_TOKEN }}
- name: Publish NPM package (pre-release)
working-directory: js
if: ${{ steps.prepare_release.outputs.release_type == 'prerelease' }}
run: |
npm publish --access=public --tag next
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_ORG_TOKEN }}
- name: Tag commit and push
id: tag_version
uses: mathieudutour/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
custom_tag: ${{ steps.package-version.outputs.current-version }}
- name: Create Archive
working-directory: js
run: |
zip -r dist dist
- name: Create GitHub Release (regular)
id: create_regular_release
if: ${{ steps.prepare_release.outputs.release_type == 'regular' }}
uses: ncipollo/release-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag: ${{ steps.tag_version.outputs.new_tag }}
name: ${{ steps.tag_version.outputs.new_tag }}
artifacts: "js/dist.zip"
artifactContentType: "application/zip"
allowUpdates: true
draft: false
prerelease: false
- name: Create GitHub Release (prerelease)
id: create_prerelease
if: ${{ steps.prepare_release.outputs.release_type == 'prerelease' }}
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.tag_version.outputs.new_tag }}
release_name: ${{ steps.tag_version.outputs.new_tag }}
draft: false
prerelease: true
- name: Upload GitHub Release Assets (prerelease)
uses: actions/upload-release-asset@v1
if: ${{ steps.prepare_release.outputs.release_type == 'prerelease' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_prerelease.outputs.upload_url }}
asset_path: js/dist.zip
asset_name: dist.zip
asset_content_type: application/zip