Skip to content

Frontend CI/CD Workflow #81

Frontend CI/CD Workflow

Frontend CI/CD Workflow #81

Workflow file for this run

name: Frontend CI/CD Workflow
on:
push:
branches:
- '*'
pull_request:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./firebird-ng
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: ./firebird-ng/package-lock.json
- name: Install Dependencies
run: npm install
- name: Run Tests
run: npm run test:headless
build:
needs: test
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./firebird-ng
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: ./firebird-ng/package-lock.json
- name: Install Dependencies
run: npm install
- name: Build
run: npm run build:ghpages
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: firebird-ng-build
path: ./firebird-ng/dist/
deploy:
if: github.ref == 'refs/heads/main'
permissions:
id-token: write
contents: read
pages: write
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: firebird-ng-build
path: ./dist/
- name: Introspect
run: |
echo "--- pwd"
pwd
echo "--- ls"
ls
echo "--- ls ./dist/"
ls -latrh ./dist
echo "--- ls ./dist/firebird"
ls -latrh ./dist/firebird
# Make dynamic routing work after reload or going directly to page
# See issue #6 or https://angular.io/guide/deployment#deploy-to-github-pages
- name: Fix dynamic routing
run: |
cp ./dist/firebird/index.html ./dist/firebird/404.html
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: './dist/firebird'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4