Skip to content

release: prepare 0.1.2 #15

release: prepare 0.1.2

release: prepare 0.1.2 #15

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
linux:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Checkout icey
uses: actions/checkout@v4
with:
repository: nilstate/icey
path: icey
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
gcc-13 g++-13 \
dpkg-dev \
libssl-dev \
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev \
unzip zip
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: web/package-lock.json
- name: Install web dependencies
run: npm --prefix web ci
- name: Install Playwright Chromium
run: npx --prefix web playwright install --with-deps chromium
- name: Configure
run: |
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=gcc-13 \
-DCMAKE_CXX_COMPILER=g++-13 \
-DENABLE_WARNINGS_ARE_ERRORS=ON \
-DICEY_SOURCE_DIR=$GITHUB_WORKSPACE/icey
- name: Build
run: cmake --build build -j1 --target icey-server
- name: Build web UI
run: npm --prefix web run build
- name: Install staged layout
run: |
cmake --install build --prefix "$RUNNER_TEMP/icey-install" --component apps
test -x "$RUNNER_TEMP/icey-install/bin/icey-server"
test -f "$RUNNER_TEMP/icey-install/share/icey-server/web/index.html"
"$RUNNER_TEMP/icey-install/bin/icey-server" --version
- name: Browser smoke
run: npm --prefix web run test:smoke:chromium
- name: Package manager cutover
env:
ICEY_SOURCE_DIR: ${{ github.workspace }}/icey
BUILD_DIR: ${{ github.workspace }}/build
run: ./scripts/package-manager-check.sh