Skip to content

Add simple CI

Add simple CI #3

Workflow file for this run

name: Build and Test
on:
workflow_dispatch: ~
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build_and_test:
name: Build and Test
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
node-version:
- 16
- 18
- 20
os:
- ubuntu-latest
- windows-latest
experimental: [false]
include:
- node-version: 20
os: macos-latest
experimental: true
- node-version: current
os: ubuntu-latest
experimental: true
- node-version: current
os: windows-latest
experimental: true
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm i
- name: Build the app
run: npm run build
- name: Start the app in production mode
run: npm run start:prod &
- name: Wait for the app to start
run: sleep 5
- name: Check that application can be accessed (Linux)
if: ${{ matrix.os == 'ubuntu-latest' }}
run: curl -sSf http://localhost:3000 > /dev/null
- name: Check that application can be accessed (Windows)
if: ${{ matrix.os == 'windows-latest' }}
run: curl -sSf http://localhost:3000 > NIL