CI: Update to latest actions version and base image #1247
Workflow file for this run
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: "Build - Native" | |
on: | |
push: | |
branches: | |
- master | |
- 'cog-*' | |
pull_request: | |
branches: | |
- master | |
- 'cog-*' | |
jobs: | |
build: | |
# TODO: It would be nice to move away from Ubuntu 22.04, but that would | |
# need either building WPE WebKit, finding a PPA for it, or using | |
# a self-hosted runner with preconfigured base system including | |
# the needed dependencies. | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/pip | |
~/WPEBackend-fdo | |
~/libwpe | |
key: native-${{ runner.os }}-${{ hashFiles('.github/workflows/ci-native.yml') }} | |
restore-keys: native-${{ runner.os }}- | |
- name: Install Debian Packages | |
run: | | |
sudo apt update | |
sudo apt install -y ninja-build gobject-introspection \ | |
libwpewebkit-1.0-dev libgles2-mesa-dev \ | |
libgirepository1.0-dev gir1.2-glib-2.0 gir1.2-soup-2.4 \ | |
libwayland-bin libwayland-dev wayland-protocols libepoxy-dev \ | |
libdrm-dev libinput-dev libudev-dev libgbm-dev \ | |
libxkbcommon-x11-dev libx11-xcb-dev libxcb-cursor-dev \ | |
libportal-dev gi-docgen meson | |
- name: Fetch libwpe | |
run: | | |
if [[ -d ~/libwpe/.git ]] ; then | |
echo 'Updating libwpe clone...' | |
cd ~/libwpe/ | |
git reset --hard | |
git clean -qxdff | |
git checkout -f master | |
git pull -q | |
else | |
echo 'Cloning libwpe afresh...' | |
rm -rf ~/libwpe/ | |
git clone -q https://github.com/WebPlatformForEmbedded/libwpe ~/libwpe/ | |
fi | |
- name: Fetch WPEBackend-fdo | |
run: | | |
if [[ -d ~/WPEBackend-fdo/.git ]] ; then | |
echo 'Updating WPEBackend-fdo clone...' | |
cd ~/WPEBackend-fdo/ | |
git reset --hard | |
git clean -qxdff | |
git checkout -f master | |
git pull -q | |
else | |
echo 'Cloning WPEBackend-fdo afresh...' | |
rm -rf ~/WPEBackend-fdo/ | |
git clone -q https://github.com/Igalia/WPEBackend-fdo ~/WPEBackend-fdo | |
fi | |
- name: Build and Install libwpe | |
env: | |
TERM: dumb | |
run: | | |
meson --prefix ~/prefix --libdir ~/prefix/lib \ | |
~/libwpe-build ~/libwpe | |
ninja -C ~/libwpe-build install | |
- name: Build and Install WPEBackend-fdo | |
env: | |
TERM: dumb | |
run: | | |
export PKG_CONFIG_PATH=${HOME}/prefix/lib/pkgconfig/ | |
meson --prefix ~/prefix --libdir ~/prefix/lib \ | |
~/WPEBackend-fdo-build ~/WPEBackend-fdo | |
ninja -C ~/WPEBackend-fdo-build install | |
- name: Configure | |
run: | | |
export PKG_CONFIG_PATH=${HOME}/prefix/lib/pkgconfig/ | |
meson --prefix ~/prefix --libdir ~/prefix/lib \ | |
~/build "${GITHUB_WORKSPACE}" \ | |
-Dplatforms=drm,headless,wayland,x11 \ | |
-Dprograms=true \ | |
-Ddocumentation=true \ | |
-Dmanpages=true \ | |
-Dwpe_api=1.0 | |
- name: Build | |
env: | |
TERM: dumb | |
run: | |
ninja -C ~/build/ | |
- name: Archive Documentation | |
uses: actions/upload-artifact@v4 | |
with: | |
name: docs | |
path: ~/build/docs/html | |
if-no-files-found: error | |
publish: | |
if: ${{ github.ref == 'refs/heads/master' }} | |
needs: build | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Fetch Documentation | |
uses: actions/download-artifact@v4 | |
with: | |
name: docs | |
path: html | |
- name: Deploy Documentation | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: html |