Skip to content

Hide texture view / properties when no texture is open #269

Hide texture view / properties when no texture is open

Hide texture view / properties when no texture is open #269

Workflow file for this run

name: Continuous Integration (Linux)
on: [ push, pull_request ]
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
defaults:
run:
shell: ${{ matrix.config.shell }}
strategy:
fail-fast: false
matrix:
config:
- name: "Linux GCC"
os: ubuntu-24.04
shell: bash
extra_options: "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
package_name: "linux_gcc"
artifact_path: build/*
- name: "Linux Clang"
os: ubuntu-24.04
shell: bash
extra_options: "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
package_name: "linux_clang"
artifact_path: build/*
- name: "Linux Clang (wx3.3)"
os: ubuntu-24.04
release_appimage: true
build_wx33: true
shell: bash
extra_options: "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
-DWITH_WXPATH=./wxWidgets/build-cmake"
package_name: "linux_clang_wx33"
artifact_path: build/*
steps:
- uses: actions/checkout@v2
# Don't upgrade Firefox here as it's unnecessary and takes a long time
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-mark hold firefox
sudo DEBIAN_FRONTEND=noninteractive apt-get -y upgrade
sudo apt-get install -y \
libarchive-dev libcurl4-openssl-dev libfluidsynth-dev libwebp-dev libglm-dev libfreetype-dev \
libgtk-3-dev liblua5.4-dev libmpg123-dev libsfml-dev libwxgtk3.2-dev libxmp-dev
sudo apt-mark unhold firefox
- name: Build wxWidgets 3.3
if: ${{ matrix.config.build_wx33 }}
run: |
git clone https://github.com/wxWidgets/wxWidgets --branch v3.3.2
cd wxWidgets
git submodule update --init --recursive
mkdir build-cmake
cmake -G "Ninja" -B "build-cmake" -DwxBUILD_SHARED=ON -DwxUSE_OPENGL=ON .
cmake --build "build-cmake" --config RelWithDebInfo
sudo cmake --build "build-cmake" --target install --config RelWithDebInfo
sudo ldconfig
cd ..
- name: Configure
run: |
mkdir build
cmake -G Ninja -B build ${{ matrix.config.extra_options }} .
- name: Build
run: |
export MAKEFLAGS=--keep-going
cmake --build build
- name: Install (for AppImage)
run: cmake --install build --prefix AppDir/usr
# For whatever reason linuxdeploy only accepts the legacy filename (appdata) for metainfo
- name: Rename metainfo to appdata
run: |
mv AppDir/usr/share/metainfo/net.mancubus.SLADE.metainfo.xml \
AppDir/usr/share/metainfo/net.mancubus.SLADE.appdata.xml
- name: Install LinuxDeploy
id: install-linuxdeploy
uses: miurahr/install-linuxdeploy-action@v1.8.0
- name: Build AppImage
run: |
export LD_LIBRARY_PATH=$HOME/wxWidgets/build-cmake/lib:$LD_LIBRARY_PATH
export LDAI_OUTPUT="SLADE.AppImage"
export LDAI_UPDATE_INFORMATION="gh-releases-zsync|sirjuddington|SLADE|latest|SLADE.AppImage.zsync"
export NO_STRIP=1
${{ steps.install-linuxdeploy.outputs.linuxdeploy }} --output=appimage --appdir AppDir
- name: Upload Artifacts
if: ${{ matrix.config.package_name }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.config.package_name }}
path: ${{ matrix.config.artifact_path }}
- name: Upload AppImage
uses: actions/upload-artifact@v4
with:
name: AppImage-${{ matrix.config.package_name }}
path: './*.AppImage*'
- name: Release AppImage
if: ${{ contains(github.ref, 'tags') && matrix.config.release_appimage }}
uses: ncipollo/release-action@v1
with:
name: ${{ github.ref_name }}
allowUpdates: true
omitBodyDuringUpdate: true
omitNameDuringUpdate: true
artifacts: './*.AppImage*'