diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml new file mode 100644 index 0000000..4906f4c --- /dev/null +++ b/.github/workflows/npm-publish.yml @@ -0,0 +1,50 @@ +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 + + - name: Get NX projects + id: nx-projects + run: | + 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 + cat $grap_path + projects=($(<$grap_path | jq -r '.graph.nodes[] | .name')) + 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