Skip to content

Publish ModelHub Packages #3

Publish ModelHub Packages

Publish ModelHub Packages #3

Workflow file for this run

name: Publish ModelHub Packages
on:
workflow_run:
workflows: ['CI']
types: [completed]
branches: [main]
permissions:
contents: write
packages: write
id-token: write
jobs:
verify-and-publish:
runs-on: ubuntu-latest
timeout-minutes: 30
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Checkout Repository
uses: actions/[email protected]
with:
fetch-depth: 0 # pulls all history and tags for Lerna to detect which packages changed
- name: Setup Node 20
uses: actions/[email protected]
with:
node-version: 20.x
registry-url: 'https://registry.npmjs.org'
- name: Install tools and libraries
run: sudo apt-get install -y build-essential libx11-dev libxkbfile-dev libsecret-1-dev
- name: Use Python 3.11
uses: actions/[email protected]
with:
python-version: '3.11'
- name: Install and Build
shell: bash
run: |
yarn global add node-gyp
yarn --skip-integrity-check --network-timeout 100000
env:
NODE_OPTIONS: --max_old_space_size=4096
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Lint with ESLint
run: yarn lint
- name: Run tests
run: yarn test
# Publish the ModelHub packages. Ignore lifecycle scripts and add verbose logging
# Scripts are ignored because we build and lint before this step
- name: Publish packages
run: |
git config user.email '[email protected]'
git config user.name 'eclipse-emfcloud-bot'
yarn lerna publish -y --ignore-scripts --loglevel=verbose
env:
NPM_CONFIG_PROVENANCE: 'true'
NODE_AUTH_TOKEN: ${{ secrets.NPMJS_TOKEN }}