Add MojoPortalComic template & websites #275
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: Pull Request (CI) | |
on: [ pull_request, workflow_dispatch ] | |
jobs: | |
inspect: | |
name: Code Validation | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: Checkout ${{ github.repository }} @ ${{ github.ref }} | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install NodeJS | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- name: Install NPM Packages | |
id: packages | |
run: npm install | |
- name: Code Inspection | |
if: steps.packages.outcome == 'success' && (success() || failure()) | |
run: npm run check | |
- name: Unit & Component Tests | |
if: steps.packages.outcome == 'success' && (success() || failure()) | |
run: npm run test | |
test: | |
needs: inspect | |
if: success() || contains(github.event.pull_request.title, 'Crowdin') | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ windows-latest, ubuntu-latest, macos-latest ] | |
name: System Tests - ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Starting X Virtual Frame Buffer (Port 99) | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
#sudo apt-get update | |
#sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgconf-2-4 | |
sudo /usr/bin/Xvfb -ac :99 -screen 0 1920x1080x24 > /dev/null 2>&1 & | |
disown -ar # remove all running jobs (e.g. xvfb) from the job table of this bash process | |
- name: Checkout ${{ github.repository }} @ ${{ github.ref }} | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Install NodeJS | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- name: Install NPM Packages | |
id: packages | |
run: npm install | |
- name: End-To-End Tests | |
if: steps.packages.outcome == 'success' && (success() || failure()) | |
env: | |
DISPLAY: ':99' | |
run: npm run test:e2e | |
- name: Website Tests (Selection) | |
if: steps.packages.outcome == 'success' && (success() || failure()) | |
env: | |
DISPLAY: ':99' | |
run: npm run test:websites -- MangaDex |