aseprite/.github/workflows/build.yml

74 lines
2.1 KiB
YAML
Raw Normal View History

2021-03-05 21:44:21 +00:00
name: build
2021-03-18 13:02:09 +00:00
on: [push, pull_request]
2021-03-05 21:44:21 +00:00
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
build_type: [RelWithDebInfo, Debug]
2021-03-05 21:44:21 +00:00
enable_ui: [off]
include:
- os: ubuntu-latest
build_type: Debug
2021-03-05 21:44:21 +00:00
enable_ui: on
steps:
- uses: actions/checkout@v4
2021-03-05 21:44:21 +00:00
with:
submodules: 'recursive'
2021-04-15 09:54:53 +00:00
- name: ccache
uses: hendrikmuhs/ccache-action@v1
if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }}
2021-04-15 09:54:53 +00:00
with:
key: ${{ matrix.os }}-${{ matrix.enable_ui }}-${{ matrix.build_type }}
2024-04-26 21:15:52 +00:00
- uses: aseprite/get-ninja@main
2021-03-05 21:44:21 +00:00
- uses: ilammy/msvc-dev-cmd@v1
if: runner.os == 'Windows'
- name: Workaround for windows-2022 and cmake 3.25.0
if: runner.os == 'Windows'
shell: bash
run: rm -rf C:/Strawberry/
2021-03-05 21:44:21 +00:00
- name: Install Dependencies
shell: bash
run: |
if [[ "${{ runner.os }}" == "Linux" ]] ; then
sudo apt-get update -qq
sudo apt-get install -y \
libx11-dev libxcursor-dev libxi-dev
fi
- name: Generating Makefiles
shell: bash
run: |
2022-06-28 17:33:12 +00:00
if [[ "${{ runner.os }}" == "Windows" ]] ; then
export enable_ccache=off
else
export enable_ccache=on
fi
2021-03-05 21:44:21 +00:00
cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
2021-03-05 21:44:21 +00:00
-DENABLE_TESTS=ON \
2022-06-28 17:33:12 +00:00
-DENABLE_UI=${{ matrix.enable_ui }} \
-DENABLE_CCACHE=$enable_ccache
2021-03-05 21:44:21 +00:00
- name: Compiling
shell: bash
run: |
cd build && ninja
- name: Running C++ Tests
shell: bash
run: |
if [[ "${{ runner.os }}" == "Linux" ]] ; then
export XVFB=xvfb-run
fi
cd build && $XVFB ctest --output-on-failure
- name: Running CLI Tests
shell: bash
run: |
if [[ "${{ runner.os }}" == "Linux" ]] ; then
export XVFB=xvfb-run
fi
export ASEPRITE=$PWD/build/bin/aseprite
2021-03-05 21:44:21 +00:00
cd tests
$XVFB bash run-tests.sh