Merge pull request #95 from neilenns/neilenns/ci-package #239
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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-2019] | |
node-version: [20.x] | |
# Adds a platform value to the matrix, used later on to run the appropriate | |
# package command. | |
include: | |
- os: ubuntu-latest | |
platform: linux | |
- os: macos-latest | |
platform: mac | |
- os: windows-2019 | |
platform: win | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Checkout submodules | |
shell: bash | |
run: | | |
git submodule update --init --remote backend/vcpkg | |
git submodule update --init --remote backend/extern/afv-native | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install Python 3.x | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11.x' | |
- name: Update cmake | |
if: matrix.os != 'macos-latest' | |
run: | | |
pip install cmake | |
cmake --version | |
- name: Setup environment | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew update | |
brew upgrade cmake | |
cmake --version | |
- name: Install SFML native dependencies | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libx11-dev libxrandr-dev libxcursor-dev libxi-dev libudev-dev libgl1-mesa-dev pkg-config | |
- name: Install dependencies | |
run: | | |
npm -g i cmake-js | |
npm run build:backend | |
npm install | |
- name: Run eslint | |
run: npm run lint | |
- name: Build and package | |
run: npm run build:${{ matrix.platform }} |