name: Make PNG
run-name: ${{ gitea.actor }} is recording the PNG output.

on: push

jobs:
  build-app:
    runs-on: shy-server
    steps:
      - name: Checkout current
        uses: actions/checkout@v4
        with:
          path: curr
          submodules: recursive
          lfs: true
      - name: Checkout previous known working
        uses: actions/checkout@v4
        with:
          path: prev
          fetch-depth: 0
          submodules: recursive
          lfs: true
      - run: cd prev && git checkout 0a9d211942
      - name: Build current
        run: cmake -S curr -B curr/build -DGLERMINAL_TEST=ON && cmake --build curr/build
      - name: Build previous
        run: cmake -S prev -B prev/build -DGLERMINAL_TEST=ON && cmake --build prev/build
      - name: Generate PNG file for current
        run: cd curr/build/tests && ls $PWD/resources && XDG_RUNTIME_DIR=$PWD xvfb-run -a ./test-basic
      - name: Generate PNG file for previous
        run: cd prev/build/tests && ls $PWD/resources && XDG_RUNTIME_DIR=$PWD xvfb-run -a ./test-basic
      - name: Upload PNG files
        uses: actions/upload-artifact@v3
        with:
            name: basic
            path: |
              curr/build/tests/image.png
              prev/build/tests/image.png
      - name: Compare PNG files
        run: diff curr/build/tests/image.png prev/build/tests/image.png
