Skip to content

Create release

Create release #127

Workflow file for this run

name: Create release
on:
schedule:
# At 13:00 (UTC) every Wednesday.
- cron: '0 13 * * 3'
workflow_dispatch:
inputs:
version:
description: '⚠ be sure of yourself ⚠'
required: false
default: ''
debug:
description: 'Add DEBUG=* to the env if true'
type: boolean
default: false
required: false
jobs:
release:
environment: 'Release'
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
id-token: write
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
fetch-depth: 0
- uses: ./.github/actions/setup
- name: Release
run: npm run release
env:
VERSION: ${{ inputs.version }}
DEBUG: ${{ inputs.debug && '*' || '' }}
RELEASER_APP_ID: ${{ secrets.RELEASER_APP_ID }}
RELEASER_PRIVATE_KEY: ${{ secrets.RELEASER_PRIVATE_KEY }}
RELEASER_CLIENT_ID: ${{ secrets.RELEASER_CLIENT_ID }}
RELEASER_CLIENT_SECRET: ${{ secrets.RELEASER_CLIENT_SECRET }}
RELEASER_INSTALLATION_ID: ${{ secrets.RELEASER_INSTALLATION_ID }}
DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Call ui-kit-cd
run: node ./scripts/deploy/trigger-ui-kit-cd.mjs
env:
GH_TOKEN: ${{ secrets.UI_KIT_CD_DISPATCHER }}
npm-prod:
needs: release
environment: 'NPM Production'
runs-on: 'ubuntu-latest'
permissions:
contents: read
discussions: write
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
ref: 'release/v2'
- uses: ./.github/actions/setup
- name: Promote NPM package to production
run: npm run promote:npm:latest
docs-prod:
needs: release
runs-on: ubuntu-latest
environment: 'Docs Production'
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
ref: 'release/v2'
- uses: ./.github/actions/setup
- name: Notify Docs
run: npm run notify:docs
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
# TODO: KIT-3072, uncomment
# quantic-prod:
# needs: release
# runs-on: ubuntu-latest
# environment: 'Quantic Production'
# permissions:
# contents: read
# packages: write
# steps:
# - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
# with:
# ref: 'release/v2'
# - uses: ./.github/actions/setup
# - uses: ./.github/actions/setup-sfdx
# - name: Promote SFDX package to production
# run: |
# echo "${{ secrets.SFDX_AUTH_PACKAGE_JWT_KEY }}" > server.key
# npx --no-install nx run quantic:"promote:sfdx:ci"
# rm server.key
# env:
# SFDX_AUTH_CLIENT_ID: ${{ secrets.SFDX_AUTH_CLIENT_ID }}
# SFDX_AUTH_JWT_KEY: ${{ secrets.SFDX_AUTH_JWT_KEY }}
# SFDX_AUTH_JWT_USERNAME: ${{ secrets.SFDX_AUTH_JWT_USERNAME }}
# SFDX_AUTH_JWT_KEY_FILE: server.key
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# working-directory: ./packages/quantic
# TODO KIT-3074 Fix the publication into the GitHub Packages, and uncomment
# github-prod:
# needs: release
# runs-on: ubuntu-latest
# environment: 'GitHub Production'
# steps:
# - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4
# with:
# registry-url: 'https://npm.pkg.github.com'
# node-version-file: '.nvmrc'
# - name: Publish to GitHub Packages
# run: npm run release:phase5
# env:
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# DEBUG: ${{ inputs.debug && '*' || '' }}