Merge pull request #9 from PlanBGmbH/improvements/upgrade #2
Workflow file for this run
This file contains 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: Trigger Release | |
on: | |
push: | |
tags: | |
- 'v*' | |
jobs: | |
define-variables: | |
name: Defining and extracting Variables | |
runs-on: ubuntu-latest | |
outputs: | |
version: ${{ steps.get_version.outputs.VERSION }} | |
label: ${{ steps.get_label.outputs.LABEL }} | |
pre_release: ${{ steps.prerelease_check.outputs.PRE_RELEASE }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get Version | |
id: get_version | |
# E.g. converts ref/tags/v0.0.1 -> 0.0.1 | |
run: echo "VERSION=$(echo $GITHUB_REF | cut -d / -f 3 | cut -c 2-)" >> $GITHUB_OUTPUT | |
- name: Get Label | |
id: get_label | |
# E.g. converts 0.0.1-beta.1 -> beta | |
run: echo "LABEL=$(echo ${{ steps.get_version.outputs.VERSION }} | awk -F '-' '{split($2, arr, "."); print arr[1]}')" >> $GITHUB_OUTPUT | |
- name: Check for Pre-Release or Release | |
id: prerelease_check | |
# perform secret check & put boolean result as an output | |
run: | | |
if [ "${{ steps.get_label.outputs.LABEL }}" != '' ]; then | |
echo "PRE_RELEASE=true" >> $GITHUB_OUTPUT | |
else | |
echo "PRE_RELEASE=false" >> $GITHUB_OUTPUT | |
fi | |
create-release: | |
needs: [define-variables] | |
name: Create Github Release | |
if: needs.define-variables.outputs.pre_release == 'false' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: 'marvinpinto/action-automatic-releases@latest' | |
name: Publish Release | |
with: | |
repo_token: '${{ secrets.GITHUB_TOKEN }}' | |
prerelease: false | |
title: ${{ needs.define-variables.outputs.version }} | |
create-prerelease: | |
needs: [define-variables] | |
name: Create Github Pre-Release | |
if: needs.define-variables.outputs.pre_release == 'true' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: 'marvinpinto/action-automatic-releases@latest' | |
name: Publish Release | |
with: | |
repo_token: '${{ secrets.GITHUB_TOKEN }}' | |
prerelease: true | |
title: ${{ needs.define-variables.outputs.version }} | |
github: | |
name: Build & Publish Package | |
needs: [define-variables] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Mandatory to use the extract version from tag action | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
registry-url: https://npm.pkg.github.com/ | |
- run: npm ci | |
- run: npm run lib:build | |
- run: node build/update-version.js --version ${{ needs.define-variables.outputs.version }} | |
- run: cp README.md dist/ng-infinite-scroll | |
- run: cd dist/ng-infinite-scroll && npm publish | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} |