Skip to content

Build WebApp

Build WebApp #1

Workflow file for this run

name: Build WebApp
on:
push:
tags:
# Only run on tags with the format v3.x.x or v3.x.x-someextra
- 'v3.[0-9]+.[0-9]+'
- 'v3.[0-9]+.[0-9]+-*'
env:
WEBAPP_PACKAGE_NAME: webapp-${{ github.ref_name }}.tar.gz
WEBAPP_ROOT_PATH: ./src/webapp/
TAG_NAME: ${{ github.ref_name }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Get Release for tag ${{ env.TAG_NAME }}
id: get_release
uses: joutvhu/get-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.TAG_NAME }}
- uses: actions/checkout@v3
- name: Setup Node.js 20.x
uses: actions/setup-node@v3
with:
node-version: 20.x
- name: npm install
working-directory: ${{ env.WEBAPP_ROOT_PATH }}
run: npm install
- name: npm build
working-directory: ${{ env.WEBAPP_ROOT_PATH }}
env:
CI: false
run: npm run build
- name: pack webapp build
working-directory: ${{ env.WEBAPP_ROOT_PATH }}
run: |
tar -czvf ${{ env.WEBAPP_PACKAGE_NAME }} build
- name: Upload Release Asset ${{ env.WEBAPP_PACKAGE_NAME }}
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release.outputs.upload_url }}
asset_name: ${{ env.WEBAPP_PACKAGE_NAME }}
asset_path: ${{ env.WEBAPP_ROOT_PATH }}/${{ env.WEBAPP_PACKAGE_NAME }}
asset_content_type: application/gzip
# - name: Artifact Upload ${{ env.WEBAPP_PACKAGE_NAME }}
# uses: actions/upload-artifact@v3
# with:
# name: ${{ env.WEBAPP_PACKAGE_NAME }}
# path: ${{ env.WEBAPP_ROOT_PATH }}/${{ env.WEBAPP_PACKAGE_NAME }}
# retention-days: 1