yad/.github/workflows/test.yml
2026-07-13 23:21:06 +02:00

77 lines
1.8 KiB
YAML

# Builds upstream source and runs the Bun/TypeScript test suite.
# Workflow and CI scripts live on dev; dev must be the default branch.
name: Test
on:
push:
branches:
- dev
- master
pull_request:
branches:
- dev
- master
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
env:
SOURCE_REF: ${{ github.event_name == 'pull_request' && github.base_ref || 'master' }}
CI_REF: dev
jobs:
test:
name: Test (amd64)
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: dev
fetch-depth: 0
- name: Prepare upstream source tree
run: .ci/checkout-source.sh
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
autoconf \
automake \
autotools-dev \
build-essential \
gettext \
intltool \
libayatana-appindicator3-dev \
libgspell-1-dev \
libgtk-3-dev \
libgtksourceview-3.0-dev \
libwebkit2gtk-4.1-dev \
pkg-config \
xvfb
- name: Build yad binary
run: |
autoreconf -ivf
./configure --enable-html --enable-spell --enable-sourceview --enable-icon-browser
make -j"$(nproc)"
./src/yad --version || true
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install TypeScript dependencies
working-directory: ts
run: bun install --frozen-lockfile
- name: Run unit and integration tests
working-directory: ts
env:
YAD_BIN: ${{ github.workspace }}/src/yad
DISPLAY: :99
run: |
bun run typecheck
xvfb-run -a bun test