Skip to content

v1 release

v1 release #71

Workflow file for this run

name: v1 release # Builds and releases @carbon/v10 supported version of @carbon/ibm-products
on:
workflow_dispatch:
schedule:
- cron: '30 4 * * TUE' # Release every Tuesday at 4:30am EST
jobs:
Release_v1:
runs-on: ubuntu-latest
# Recommended by npm for publishing with provenance https://docs.npmjs.com/generating-provenance-statements
permissions:
id-token: write
contents: write
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # https://github.com/actions/checkout/issues/217
token: ${{ secrets.GH_TOKEN_LERNA }} # https://github.com/lerna/lerna/issues/1957
ref: 'v1'
# https://github.com/actions/checkout#push-a-commit-using-the-built-in-token
- run: |
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git config user.name $GITHUB_ACTOR
- name: Setup Node.js
uses: actions/setup-node@v2 # https://github.com/actions/setup-node
with:
node-version: '20.x'
registry-url: https://registry.npmjs.org
cache: yarn
- name: Install
run: yarn
- name: Continuous integration check (includes build)
run: yarn ci-check
# Dry run - `yarn lerna version --no-git-tag-version --no-push`
- name: Publish
env:
GH_TOKEN: ${{ secrets.GH_TOKEN_LERNA }}
NODE_AUTH_TOKEN: ${{ secrets.CARBON_BOT_NPM_TOKEN }}
run:
yarn lerna publish --dist-tag v1-latest --conventional-commits
--create-release github --yes
- name: Correct security dist-tag
env:
NODE_AUTH_TOKEN: ${{ secrets.CARBON_BOT_NPM_TOKEN }}
run:
bash .github/scripts/release-disttag-update.sh packages/security
@carbon/ibm-security
- name: Correct CDAI dist-tag
env:
NODE_AUTH_TOKEN: ${{ secrets.CARBON_BOT_NPM_TOKEN }}
run:
bash .github/scripts/release-disttag-update.sh packages/cdai
@carbon/ibm-cloud-cognitive-cdai
- name: Rename to ibm-cloud-cognitive for legacy publish
run:
yarn json -I -f packages/ibm-products/package.json -e
'this.name="@carbon/ibm-cloud-cognitive"'
- name: Update telemetry.yml project ID for legacy publish
run: sed -i -e s/495342db-5046-4ecf-85ea-9ffceb6f8cdf/9255f6e1-1b25-4ef4-8913-062ef88935c9/ packages/ibm-products/telemetry.yml
# Run yarn again after renaming package, required after move to yarn berry
- name: Install after rename
run: yarn
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
- name: Commit for legacy package
run: |
git add .
git commit -m "chore: rename package for simultaneous publish"
- name: Publish with old name
env:
GH_TOKEN: ${{ secrets.GH_TOKEN_LERNA }}
NODE_AUTH_TOKEN: ${{ secrets.CARBON_BOT_NPM_TOKEN }}
run: yarn lerna publish from-package --dist-tag v1-latest --yes