mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-01 01:20:25 +00:00
[ci] Change jobs matrix
Compile with ENABLE_UI=ON/OFF (gui/cli) and ENABLE_SCRIPTING=ON/OFF (lua/noscripts) variants on all platforms.
This commit is contained in:
parent
2ed584541b
commit
6cdf2ae2df
77
.github/workflows/build.yml
vendored
77
.github/workflows/build.yml
vendored
@ -8,20 +8,47 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
os: [windows-latest, macos-latest, ubuntu-latest]
|
os: [windows-latest, macos-latest, ubuntu-latest]
|
||||||
build_type: [RelWithDebInfo, Debug]
|
build_type: [RelWithDebInfo, Debug]
|
||||||
enable_ui: [off]
|
ui: [gui, cli]
|
||||||
include:
|
scripting: [lua, noscripts]
|
||||||
- os: ubuntu-latest
|
exclude:
|
||||||
build_type: Debug
|
- build_type: Debug
|
||||||
enable_ui: on
|
ui: gui
|
||||||
|
- build_type: RelWithDebInfo
|
||||||
|
ui: cli
|
||||||
|
- build_type: RelWithDebInfo
|
||||||
|
scripting: noscripts
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: 'recursive'
|
submodules: 'recursive'
|
||||||
|
- name: Install Dependencies
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -y \
|
||||||
|
libpixman-1-dev libfreetype6-dev libharfbuzz-dev zlib1g-dev \
|
||||||
|
libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev
|
||||||
|
- name: Install Skia
|
||||||
|
if: ${{ matrix.ui == 'gui' }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if [[ "${{ runner.os }}" == "Windows" ]] ; then
|
||||||
|
choco install wget -y --no-progress
|
||||||
|
wget https://github.com/aseprite/skia/releases/download/m102-861e4743af/Skia-Windows-Release-x64.zip
|
||||||
|
unzip Skia-Windows-Release-x64.zip -d skia
|
||||||
|
elif [[ "${{ runner.os }}" == "macOS" ]] ; then
|
||||||
|
wget https://github.com/aseprite/skia/releases/download/m102-861e4743af/Skia-macOS-Release-arm64.zip
|
||||||
|
unzip Skia-macOS-Release-arm64.zip -d skia
|
||||||
|
else
|
||||||
|
wget https://github.com/aseprite/skia/releases/download/m102-861e4743af/Skia-Linux-Release-x64-libstdc++.zip
|
||||||
|
unzip Skia-Linux-Release-x64-libstdc++.zip -d skia
|
||||||
|
fi
|
||||||
- name: ccache
|
- name: ccache
|
||||||
uses: hendrikmuhs/ccache-action@v1
|
uses: hendrikmuhs/ccache-action@v1
|
||||||
if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }}
|
if: ${{ runner.os == 'Linux' || runner.os == 'macOS' }}
|
||||||
with:
|
with:
|
||||||
key: ${{ matrix.os }}-${{ matrix.enable_ui }}-${{ matrix.build_type }}
|
key: ${{ matrix.os }}-${{ matrix.ui }}-${{ matrix.scripting }}-${{ matrix.build_type }}
|
||||||
- uses: aseprite/get-ninja@main
|
- uses: aseprite/get-ninja@main
|
||||||
- uses: ilammy/msvc-dev-cmd@v1
|
- uses: ilammy/msvc-dev-cmd@v1
|
||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows'
|
||||||
@ -29,14 +56,6 @@ jobs:
|
|||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows'
|
||||||
shell: bash
|
shell: bash
|
||||||
run: rm -rf C:/Strawberry/
|
run: rm -rf C:/Strawberry/
|
||||||
- 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
|
- name: Generating Makefiles
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@ -45,12 +64,37 @@ jobs:
|
|||||||
else
|
else
|
||||||
export enable_ccache=on
|
export enable_ccache=on
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${{ matrix.ui }}" == "gui" ]] ; then
|
||||||
|
export enable_ui=on
|
||||||
|
export laf_backend=skia
|
||||||
|
else
|
||||||
|
export enable_ui=off
|
||||||
|
export laf_backend=none
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${{ matrix.scripting }}" == "lua" ]] ; then
|
||||||
|
export enable_scripting=on
|
||||||
|
else
|
||||||
|
export enable_scripting=off
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${{ runner.os }}" == "macOS" ]] ; then
|
||||||
|
export skia_arch=arm64
|
||||||
|
else
|
||||||
|
export skia_arch=x64
|
||||||
|
fi
|
||||||
|
|
||||||
cmake -S . -B build -G Ninja \
|
cmake -S . -B build -G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
|
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
|
||||||
-DENABLE_TESTS=ON \
|
-DENABLE_TESTS=ON \
|
||||||
-DENABLE_UI=${{ matrix.enable_ui }} \
|
-DENABLE_UI=$enable_ui \
|
||||||
-DENABLE_CCACHE=$enable_ccache
|
-DENABLE_SCRIPTING=$enable_scripting \
|
||||||
|
-DENABLE_CCACHE=$enable_ccache \
|
||||||
|
-DLAF_BACKEND=$laf_backend \
|
||||||
|
-DSKIA_DIR=skia \
|
||||||
|
-DSKIA_LIBRARY_DIR=skia/out/Release-$skia_arch
|
||||||
- name: Compiling
|
- name: Compiling
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@ -63,6 +107,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
cd build && $XVFB ctest --output-on-failure
|
cd build && $XVFB ctest --output-on-failure
|
||||||
- name: Running CLI Tests
|
- name: Running CLI Tests
|
||||||
|
if: ${{ matrix.scripting == 'lua' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
if [[ "${{ runner.os }}" == "Linux" ]] ; then
|
if [[ "${{ runner.os }}" == "Linux" ]] ; then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user