Skip to content

Editor: in AutoComplete list display parent extenders for child types #3838

Editor: in AutoComplete list display parent extenders for child types

Editor: in AutoComplete list display parent extenders for child types #3838

Workflow file for this run

name: GitHub Actions Build
on: [push, pull_request]
env:
BUILD_TYPE: Release
jobs:
build:
name: ${{ matrix.platform.name }}
runs-on: ${{ matrix.platform.os }}
timeout-minutes: 20
defaults:
run:
shell: ${{ matrix.platform.shell }}
strategy:
fail-fast: false
matrix:
platform:
- { name: Windows-mingw-x86_64, os: windows-latest, sys: Windows, gfx: D3D9, artifact: 'ags-mingw-x86_64', shell: 'msys2 {0}', runbin: "./ags", bindir: "", cmakecmd: "cmake", msystem: mingw64, msys-env: mingw-w64-x86_64 }
- { name: Windows-mingw-arm64, os: windows-11-arm, sys: Windows, gfx: D3D9, artifact: 'ags-mingw-arm64', shell: 'msys2 {0}', runbin: "./ags", bindir: "", cmakecmd: "cmake", msystem: clangarm64, msys-env: mingw-w64-clang-aarch64 }
- { name: Windows, os: windows-latest, sys: Windows, gfx: D3D9, artifact: 'ags-windows', shell: cmd, runbin: ".\\ags.exe", bindir: "Release", cmakecmd: "cmake" }
- { name: Ubuntu-x86_64, os: ubuntu-latest, sys: Ubuntu, gfx: OGL, artifact: 'ags-linux-x86_64', shell: sh, runbin: "./ags", bindir: "", cmakecmd: "cmake" }
- { name: Ubuntu-Arm64, os: ubuntu-22.04-arm, sys: Ubuntu, gfx: OGL, artifact: 'ags-linux-Arm64', shell: sh, runbin: "./ags", bindir: "", cmakecmd: "cmake" }
- { name: macOS, os: macos-latest, sys: macOS, gfx: OGL, artifact: 'ags-macos', shell: sh, runbin: "./ags", bindir: "", cmakecmd: "cmake" }
- { name: Emscripten, os: ubuntu-latest, sys: Web, gfx: OGL, artifact: 'ags-emscripten', shell: sh, runbin: "", bindir: "" , cmakecmd: "emcmake cmake" }
steps:
- name: Set up MSYS2
if: matrix.platform.shell == 'msys2 {0}'
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.platform.msystem }}
install: >-
${{ matrix.platform.msys-env }}-cc
${{ matrix.platform.msys-env }}-cmake
${{ matrix.platform.msys-env }}-ninja
${{ matrix.platform.msys-env }}-perl
${{ matrix.platform.msys-env }}-python-pip
${{ matrix.platform.msys-env }}-pkg-config
${{ matrix.platform.msys-env }}-clang-tools-extra
unzip
- name: Set up SDL dependencies on Linux (ensures OpenGL)
if: matrix.platform.sys == 'Ubuntu'
run: |
sudo apt-get update -y
sudo apt-get install -y \
gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev \
libusb-1.0-0-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev \
libxss-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev \
libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev
- name: Set up Tappy
run: pip install tap.py
- uses: actions/checkout@v4
- uses: mymindstorm/setup-emsdk@v14
if: ${{ matrix.platform.name == 'Emscripten' }}
with:
version: 3.1.74
- name: Configure CMake
run: |
cmake --version
${{ matrix.platform.cmakecmd }} -S "${{github.workspace}}" -B "${{github.workspace}}/build" -DAGS_BUILD_TOOLS=1 -DAGS_TESTS=1 -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build "${{github.workspace}}/build" --config ${{env.BUILD_TYPE}} --parallel 2
- name: Test
if: ${{ matrix.platform.name != 'Emscripten' }}
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.platform.artifact }}
path: |
${{github.workspace}}/build/${{env.BUILD_TYPE}}/ags.exe
${{github.workspace}}/build/ags
${{github.workspace}}/build/ags.exe
${{github.workspace}}/build/ags.html
${{github.workspace}}/build/ags.wasm
${{github.workspace}}/build/ags.js
- name: Download auto-test
working-directory: ${{github.workspace}}/build/${{matrix.platform.bindir}}
run: |
curl -sLo auto-test.zip https://github.com/adventuregamestudio/ags-test-games/releases/latest/download/ags3-auto-test.zip
- name: Unzip auto-test
if: matrix.platform.shell == 'cmd'
working-directory: ${{github.workspace}}/build/${{matrix.platform.bindir}}
run: |
tar -f auto-test.zip -xvzC .
del auto-test.
- name: Unzip auto-test
if: matrix.platform.shell != 'cmd'
working-directory: ${{github.workspace}}/build/${{matrix.platform.bindir}}
run: |
unzip auto-test.zip
rm auto-test.zip
- name: Run auto-test (Hardware GFX)
if: ${{ matrix.platform.name != 'Emscripten' }}
working-directory: ${{github.workspace}}/build/${{matrix.platform.bindir}}
run: |
${{matrix.platform.runbin}} --gfxdriver ${{matrix.platform.gfx}} --no-message-box --log-stdout=script:info,main:info --user-data-dir . ags3-auto-test.ags
mv agstest.tap agstest_hardware.tap
- name: Check auto-test (Hardware GFX) # we are using tap.py so that the pipeline fails if a test fails
if: ${{ matrix.platform.name != 'Emscripten' }}
working-directory: ${{github.workspace}}/build/${{matrix.platform.bindir}}
run: |
tappy agstest_hardware.tap
- name: Run auto-test (Software GFX)
if: ${{ matrix.platform.name != 'Emscripten' }}
working-directory: ${{github.workspace}}/build/${{matrix.platform.bindir}}
run: |
${{matrix.platform.runbin}} --gfxdriver Software --no-message-box --log-stdout=script:info,main:info --user-data-dir . ags3-auto-test.ags
mv agstest.tap agstest_software.tap
- name: Check auto-test (Software GFX) # we are using tap.py so that the pipeline fails if a test fails
if: ${{ matrix.platform.name != 'Emscripten' }}
working-directory: ${{github.workspace}}/build/${{matrix.platform.bindir}}
run: |
tappy agstest_software.tap