fix #2667
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: Graphics CI | |
on: | |
push: | |
paths: | |
- 'vlib/**' | |
- 'thirdparty/**' | |
- 'cmd/tools/builders/**.v' | |
- '**/gg_regressions_ci.yml' | |
- '!**.md' | |
pull_request: | |
paths: | |
- 'vlib/**' | |
- 'thirdparty/**' | |
- 'cmd/tools/builders/**.v' | |
- '**/gg_regressions_ci.yml' | |
- '!**.md' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
gg-regressions: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 20 | |
env: | |
VFLAGS: -cc tcc | |
DISPLAY: :99 | |
LIBGL_ALWAYS_SOFTWARE: true | |
VTMP: /tmp | |
steps: | |
- name: Checkout V | |
uses: actions/checkout@v4 | |
- name: Build local v | |
run: make -j4 && ./v symlink | |
- name: Setup dependencies | |
run: | | |
# imagemagick : convert, mogrify | |
# xvfb : xvfb | |
# openimageio-tools : idiff | |
# libxcursor-dev libxi-dev : V gfx deps | |
# libgl1-mesa-dri : For headless rendering / software DRI driver (LIBGL_ALWAYS_SOFTWARE=true) | |
# freeglut3-dev : Fixes graphic apps compilation with tcc | |
./v retry -- sudo apt update | |
./v retry -- sudo apt install imagemagick openimageio-tools libgl1-mesa-dri xvfb libxcursor-dev libxi-dev freeglut3-dev xsel xclip | |
./v retry -- ./v download https://raw.githubusercontent.com/tremby/imgur.sh/c98345d/imgur.sh | |
./v retry -- git clone https://github.com/Larpon/gg-regression-images gg-regression-images | |
chmod +x ./imgur.sh | |
- name: Sample and compare | |
id: compare | |
continue-on-error: true | |
run: | | |
Xvfb $DISPLAY -screen 0 1280x1024x24 -fbdir /var/tmp/ & | |
sleep 2; while [ ! -f /var/tmp/Xvfb_screen0 ]; do sleep 0.5; done # give xvfb time to start, even on slow CI runs | |
sleep 5; ./v gret -t ./gg-regression-images/vgret.v_examples.toml -v ./gg-sample_images ./gg-regression-images | |
- name: Upload regression to imgur | |
if: steps.compare.outcome != 'success' | |
run: | | |
./imgur.sh /tmp/fail.png | |
./imgur.sh /tmp/diff.png | |
exit 1 |