Skip to content

refactor(themetoggle): Refactor init logic to prioritise localStorage… #325

refactor(themetoggle): Refactor init logic to prioritise localStorage…

refactor(themetoggle): Refactor init logic to prioritise localStorage… #325

Workflow file for this run

name: Build and deploy
on:
push:
branches:
- develop
- main
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Update symlinks
run: |
rm -f ./frontend/src/data/inscriptions
ln -s ../../../data/raw/inscriptions ./frontend/src/data/inscriptions
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Create .env file
run: |
touch ./frontend/.env
echo DEBUG=true >> ./frontend/.env
- name: Install dependencies
run: |
npm ci
npx playwright install --with-deps
- name: Test
continue-on-error: true
run: |
npm run -w frontend test
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "ci(frontend): update test results"
file_pattern: "frontend/src/lib/prerender-errors.json frontend/test-results/*.json"
pages:
needs: test
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Update symlinks
run: |
rm -f ./frontend/src/data/inscriptions
ln -s ../../../data/raw/inscriptions ./frontend/src/data/inscriptions
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Create .env file
run: |
touch ./frontend/.env
echo DEBUG=true >> ./frontend/.env
- name: Install dependencies
run: npm ci
- name: Build
run: |
npm run frontend:build
- name: Deploy to GitHub pages
uses: peaceiris/actions-gh-pages@v3
with:
publish_dir: ./frontend/build
github_token: ${{ secrets.GITHUB_TOKEN }}
prod:
needs: test
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
strategy:
matrix:
node-version: [20.x]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Update symlinks
run: |
rm -f ./frontend/src/data/inscriptions
ln -s ../../../data/raw/inscriptions ./frontend/src/data/inscriptions
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Update .env file
run: |
touch ./frontend/.env
echo DEBUG=true >> ./frontend/.env
- name: Install dependencies
run: npm ci
- name: Build
run: |
npm run frontend:build
- name: Deploy to production via SSH
uses: easingthemes/[email protected]
with:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SOURCE: ./frontend/build/
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
REMOTE_USER: ${{ secrets.REMOTE_USER }}
TARGET: ${{ secrets.REMOTE_TARGET }}