|
8 | 8 | runs-on: ubuntu-latest
|
9 | 9 | steps:
|
10 | 10 | - uses: actions/checkout@v3
|
| 11 | + |
| 12 | + - name: Parse version from tag |
| 13 | + id: version |
| 14 | + uses: release-kit/semver@v2 |
| 15 | + |
| 16 | + - name: Display Release Plan |
| 17 | + if: ${{ !github.event.release.prerelease && !steps.version.outputs.prerelease }} |
| 18 | + run: | |
| 19 | + echo "Publishing release ${{ steps.version.outputs.full }}" |
| 20 | +
|
| 21 | + - name: Display Pre-release Plan |
| 22 | + if: ${{ github.event.release.prerelease && steps.version.outputs.prerelease }} |
| 23 | + run: | |
| 24 | + echo "Publishing pre-relese ${{ steps.version.outputs.full }}" |
| 25 | +
|
| 26 | + - name: Validate inputs |
| 27 | + if: ${{ (github.event.release.prerelease && !steps.version.outputs.prerelease) || (!github.event.release.prerelease && steps.version.outputs.prerelease) }} |
| 28 | + run: | |
| 29 | + RED='\033[0;31m' |
| 30 | + NC='\033[0m' # No Color |
| 31 | + echo -e "${RED}Pre-release label in semver but GitHub release is not marked as pre-release or vice-versa${NC}" |
| 32 | + exit 1; |
| 33 | +
|
11 | 34 | - uses: actions/setup-node@v3
|
12 | 35 | with:
|
13 | 36 | node-version: '18.x'
|
14 | 37 | - run: yarn install
|
15 | 38 | - run: yarn test
|
16 |
| - - uses: JS-DevTools/npm-publish@v3 |
| 39 | + |
| 40 | + - name: Publish Latest |
| 41 | + uses: JS-DevTools/npm-publish@v3 |
| 42 | + if: ${{ !github.event.release.prerelease && !steps.version.outputs.prerelease }} |
17 | 43 | with:
|
18 | 44 | token: ${{ secrets.NPM_TOKEN }}
|
19 | 45 | access: public
|
| 46 | + |
| 47 | + - name: Publish Pre-release |
| 48 | + uses: JS-DevTools/npm-publish@v3 |
| 49 | + if: ${{ github.event.release.prerelease && steps.version.outputs.prerelease }} |
| 50 | + with: |
| 51 | + token: ${{ secrets.NPM_TOKEN }} |
| 52 | + access: public |
| 53 | + tag: ${{ steps.version.outputs.prerelease }} |
| 54 | + |
20 | 55 | - name: Upload npm debug log
|
21 | 56 | if: failure() # This step will run only if the previous steps failed
|
22 | 57 | uses: actions/upload-artifact@v4
|
|
0 commit comments