mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-31 07:11:09 -04:00
PGOs _are_ release builds, so we’re not missing out on anything. However, partial PGOs are a bit special, since they a) need to build a PGO helper binary (which occasionally fails), and b) they need to feed the PGO corpus to mock objects, which also could fail.
112 lines
3.5 KiB
YAML
112 lines
3.5 KiB
YAML
pipeline:
|
|
codespell:
|
|
when:
|
|
branch:
|
|
- master
|
|
- releases/*
|
|
image: alpine:latest
|
|
commands:
|
|
- apk add python3
|
|
- apk add py3-pip
|
|
- pip install codespell
|
|
- codespell -Lser,doas,zar README.md INSTALL.md CHANGELOG.md *.c *.h doc/*.scd
|
|
|
|
subprojects:
|
|
when:
|
|
branch:
|
|
- master
|
|
- releases/*
|
|
image: alpine:latest
|
|
commands:
|
|
- apk add git
|
|
- mkdir -p subprojects && cd subprojects
|
|
- git clone https://codeberg.org/dnkl/tllist.git
|
|
- git clone https://codeberg.org/dnkl/fcft.git
|
|
- cd ..
|
|
|
|
x64:
|
|
when:
|
|
branch:
|
|
- master
|
|
- releases/*
|
|
group: build
|
|
image: alpine:latest
|
|
commands:
|
|
- apk update
|
|
- apk add musl-dev linux-headers meson ninja gcc scdoc ncurses
|
|
- apk add libxkbcommon-dev pixman-dev freetype-dev fontconfig-dev harfbuzz-dev utf8proc-dev
|
|
- apk add wayland-dev wayland-protocols
|
|
- apk add git
|
|
- apk add check-dev
|
|
- apk add ttf-hack font-noto-emoji
|
|
|
|
# Debug
|
|
- mkdir -p bld/debug-x64
|
|
- cd bld/debug-x64
|
|
- meson --buildtype=debug -Dgrapheme-clustering=enabled -Dfcft:grapheme-shaping=enabled -Dfcft:run-shaping=enabled -Dfcft:test-text-shaping=true ../..
|
|
- ninja -v -k0
|
|
- ninja -v test
|
|
- ./foot --version
|
|
- ./footclient --version
|
|
- cd ../..
|
|
|
|
# Release
|
|
# - mkdir -p bld/release-x64
|
|
# - cd bld/release-x64
|
|
# - meson --buildtype=release -Db_pgo=generate -Dgrapheme-clustering=enabled -Dfcft:grapheme-shaping=enabled -Dfcft:run-shaping=enabled -Dfcft:test-text-shaping=true ../..
|
|
# - ninja -v -k0
|
|
# - ninja -v test
|
|
# - ./foot --version
|
|
# - ./footclient --version
|
|
# - cd ../..
|
|
|
|
# Partial PGO
|
|
- mkdir -p bld/release-x64
|
|
- ./pgo/pgo.sh partial . bld/release-x64 -Dgrapheme-clustering=enabled -Dfcft:grapheme-shaping=enabled -Dfcft:run-shaping=enabled -Dfcft:test-text-shaping=true
|
|
|
|
# no grapheme clustering
|
|
- apk del harfbuzz harfbuzz-dev utf8proc utf8proc-dev
|
|
- mkdir -p bld/debug
|
|
- cd bld/debug
|
|
- meson --buildtype=debug -Dgrapheme-clustering=disabled -Dfcft:grapheme-shaping=disabled -Dfcft:run-shaping=disabled -Dfcft:test-text-shaping=false ../..
|
|
- ninja -v -k0
|
|
- ninja -v test
|
|
- ./foot --version
|
|
- ./footclient --version
|
|
- cd ../..
|
|
|
|
x86:
|
|
when:
|
|
branch:
|
|
- master
|
|
- releases/*
|
|
group: build
|
|
image: i386/alpine:latest
|
|
commands:
|
|
- apk update
|
|
- apk add musl-dev linux-headers meson ninja gcc scdoc ncurses
|
|
- apk add libxkbcommon-dev pixman-dev freetype-dev fontconfig-dev harfbuzz-dev utf8proc-dev
|
|
- apk add wayland-dev wayland-protocols
|
|
- apk add git
|
|
- apk add check-dev
|
|
- apk add ttf-hack font-noto-emoji
|
|
|
|
# Debug
|
|
- mkdir -p bld/debug-x86
|
|
- cd bld/debug-x86
|
|
- meson --buildtype=debug -Dgrapheme-clustering=enabled -Dfcft:grapheme-shaping=enabled -Dfcft:run-shaping=enabled -Dfcft:test-text-shaping=true ../..
|
|
- ninja -v -k0
|
|
- ninja -v test
|
|
- ./foot --version
|
|
- ./footclient --version
|
|
- cd ../..
|
|
|
|
# Release
|
|
- mkdir -p bld/release-x86
|
|
- cd bld/release-x86
|
|
- meson --buildtype=release -Db_pgo=generate -Dgrapheme-clustering=enabled -Dfcft:grapheme-shaping=enabled -Dfcft:run-shaping=enabled -Dfcft:test-text-shaping=true ../..
|
|
- ninja -v -k0
|
|
- ninja -v test
|
|
- ./foot --version
|
|
- ./footclient --version
|
|
- cd ../..
|