Update changelog for pluggable-widgets-tools #51
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish npm packages | |
| on: | |
| push: | |
| tags: | |
| - "pluggable-widgets-tools-v*" | |
| - "generator-widget-v*" | |
| jobs: | |
| discover: | |
| name: Discover packages to publish | |
| runs-on: ubuntu-latest | |
| outputs: | |
| releases: ${{ steps.export.outputs.releases }} | |
| steps: | |
| - name: Checking-out code | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 | |
| - name: Get tags for HEAD | |
| id: export | |
| run: | | |
| echo "releases=$( | |
| ( | |
| for tag in $(git tag --points-at HEAD); do | |
| package=${tag%-v*} | |
| version=${tag##*-v} | |
| # Without a file argument, jq will wait for stdin, unless you specify --null-input. | |
| # By default jq pretty prints json. We need all of it on 1 line, so we use --compact-output here. | |
| jq --null-input --compact-output --arg p $package --arg v $version '{ package: $p, version: $v }' | |
| done | |
| # The github outputs don't support unescaped newlines. So we use compact output here as well. | |
| ) | jq --compact-output --slurp '.' | |
| )" >> "$GITHUB_OUTPUT" | |
| publish: | |
| name: "Publish NPM packages" | |
| runs-on: ubuntu-latest | |
| needs: discover | |
| if: ${{ needs.discover.outputs.releases != '[]' }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| release: ${{ fromJSON(needs.discover.outputs.releases) }} | |
| environment: ${{ matrix.release.package }} | |
| steps: | |
| - name: Check-out code | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 | |
| - name: Setup node | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version-file: ".nvmrc" | |
| cache: 'pnpm' | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda #v4.1.0 | |
| with: | |
| version: 10 | |
| - name: Install dependencies | |
| working-directory: ./packages/${{ matrix.release.package }} | |
| run: pnpm install | |
| - name: Pack package | |
| working-directory: ./packages/${{ matrix.release.package }} | |
| run: pnpm pack | |
| - name: Setup node for npm publishing | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: '24' # Includes a version of npm higher than 11.5.1, which is needed for OIDC | |
| - name: Publish package | |
| working-directory: ./packages/${{ matrix.release.package }} | |
| run: npm publish mendix-${{ matrix.release.package }}-${{matrix.release.version }}.tgz |