Skip to content

ci: add npm publish actions #8

ci: add npm publish actions

ci: add npm publish actions #8

Workflow file for this run

name: Publish to NPM on GH Release Publish
on:
push:
release:
types: [published]
jobs:
publish:
if: github.repository == 'brainly/gene'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9.12.0
- name: Setup Node.js
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: '18.20.0'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
# Inspired by: https://github.com/jscutlery/nx-completion/blob/ca0ab21396ec7748c770f8e15faed2cadff95c57/nx-completion.plugin.zsh#L39-L41
- name: Get NX projects
id: nx-projects
run: |
sudo apt-get install jq
cwd_id=$(echo $PWD | (command -v md5sum &> /dev/null && md5sum || md5 -r) | awk '{print $1}')
grap_path="/tmp/nx-completion-$cwd_id.json"
pnpm nx graph --file="$grap_path" > /dev/null
ls -l $grap_path
projects=($(cat $grap_path | jq -r '.graph.nodes[] | .name'))
echo "projects=${projects[@]}"
echo "{projects}={projects} >> $GITHUB_OUTPUT"
- name: Print NX projects
run: echo "${{ steps.nx-projects.outputs.projects }}"
# - name: Run ${{ matrix.target }}
# run: pnpm nx run-many --target=${{ matrix.target }} --all
# - name: Publish to NPM registry
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# run: npm publish