Skip to content

chore(deps): bump actions/setup-python from 5 to 6 #124

chore(deps): bump actions/setup-python from 5 to 6

chore(deps): bump actions/setup-python from 5 to 6 #124

Workflow file for this run

name: CI
on:
workflow_dispatch:
repository_dispatch:
types: [dependency-update]
push:
branches: [main, master, develop]
pull_request:
branches: [main, master]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build:
name: Native (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libsdl2-dev
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: brew install sdl2
- name: Configure
run: cmake -B build -DBUILD_TESTING=ON
- name: Build
run: cmake --build build --config Release --parallel
- name: Test
run: ctest --test-dir build --output-on-failure -C Release
build-categories:
name: Category (${{ matrix.category }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- category: productivity
flags: -DEAPPS_BUILD_PRODUCTIVITY=ON -DEAPPS_BUILD_MEDIA=OFF -DEAPPS_BUILD_GAMES=OFF -DEAPPS_BUILD_CONNECTIVITY=OFF -DEAPPS_BUILD_SECURITY=OFF -DEAPPS_BUILD_WEB=OFF
- category: media
flags: -DEAPPS_BUILD_PRODUCTIVITY=OFF -DEAPPS_BUILD_MEDIA=ON -DEAPPS_BUILD_GAMES=OFF -DEAPPS_BUILD_CONNECTIVITY=OFF -DEAPPS_BUILD_SECURITY=OFF -DEAPPS_BUILD_WEB=OFF
- category: games
flags: -DEAPPS_BUILD_PRODUCTIVITY=OFF -DEAPPS_BUILD_MEDIA=OFF -DEAPPS_BUILD_GAMES=ON -DEAPPS_BUILD_CONNECTIVITY=OFF -DEAPPS_BUILD_SECURITY=OFF -DEAPPS_BUILD_WEB=OFF
- category: connectivity
flags: -DEAPPS_BUILD_PRODUCTIVITY=OFF -DEAPPS_BUILD_MEDIA=OFF -DEAPPS_BUILD_GAMES=OFF -DEAPPS_BUILD_CONNECTIVITY=ON -DEAPPS_BUILD_SECURITY=OFF -DEAPPS_BUILD_WEB=OFF
- category: security
flags: -DEAPPS_BUILD_PRODUCTIVITY=OFF -DEAPPS_BUILD_MEDIA=OFF -DEAPPS_BUILD_GAMES=OFF -DEAPPS_BUILD_CONNECTIVITY=OFF -DEAPPS_BUILD_SECURITY=ON -DEAPPS_BUILD_WEB=OFF
- category: web
flags: -DEAPPS_BUILD_PRODUCTIVITY=OFF -DEAPPS_BUILD_MEDIA=OFF -DEAPPS_BUILD_GAMES=OFF -DEAPPS_BUILD_CONNECTIVITY=OFF -DEAPPS_BUILD_SECURITY=OFF -DEAPPS_BUILD_WEB=ON
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libsdl2-dev
- name: Build ${{ matrix.category }}
run: |
cmake -B build ${{ matrix.flags }} -DEAPPS_BUILD_SUITE=OFF
cmake --build build --parallel
sanitize:
name: Sanitizers
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libsdl2-dev
- name: Build with ASAN/UBSAN
run: |
cmake -B build \
-DBUILD_TESTING=ON \
-DCMAKE_C_FLAGS="-fsanitize=address,undefined -fno-omit-frame-pointer"
cmake --build build --parallel
- name: Run tests
env:
ASAN_OPTIONS: detect_leaks=1:halt_on_error=1
run: ctest --test-dir build --output-on-failure
js-ts-lane:
name: JS/TS lane (web-apps + browser-extensions + desktop-apps)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-node@v4
with:
node-version: '20'
- uses: pnpm/action-setup@v4
with:
version: 9
- name: web-apps lint+build
shell: bash
run: |
set -e
if [ -d web-apps ]; then
for d in web-apps/*/; do
[ -d "$d" ] || continue
if [ -f "$d/package.json" ]; then
echo "=== $d ==="
(cd "$d" && (pnpm install --frozen-lockfile || npm ci) && (pnpm run build || npm run build))
fi
done
else
echo "::notice::No web-apps/ directory"
fi
- name: browser-extensions lint+build
shell: bash
run: |
set -e
if [ -d browser-extensions ]; then
for d in browser-extensions/*/; do
[ -d "$d" ] || continue
if [ -f "$d/package.json" ]; then
echo "=== $d ==="
(cd "$d" && (pnpm install --frozen-lockfile || npm ci) && (pnpm run build || npm run build))
fi
done
else
echo "::notice::No browser-extensions/ directory"
fi
- name: desktop-apps lint+build
shell: bash
run: |
set -e
if [ -d desktop-apps ]; then
for d in desktop-apps/*/; do
[ -d "$d" ] || continue
if [ -f "$d/package.json" ]; then
echo "=== $d ==="
(cd "$d" && (pnpm install --frozen-lockfile || npm ci) && (pnpm run build || npm run build))
fi
done
else
echo "::notice::No desktop-apps/ directory"
fi