feature: named workspaces + massively refactoring how workspaces are handled in preparation for named workspaces #647
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build & Test | |
on: | |
push: | |
branches: [ "develop" ] | |
pull_request: | |
branches: [ "develop" ] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Debug | |
jobs: | |
build: | |
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. | |
# You can convert this to a matrix build if you need cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Add PPA | |
run: | | |
sudo apt-add-repository ppa:mir-team/release | |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test | |
sudo apt update | |
- name: Install dependencies | |
run: | | |
sudo apt install gcc-13 g++-13 | |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 --slave /usr/bin/g++ g++ /usr/bin/g++-13 | |
sudo apt install libmiral-dev libmircommon-internal-dev libmircommon-dev libmirserver-internal-dev \ | |
libgtest-dev libyaml-cpp-dev libglib2.0-dev libevdev-dev nlohmann-json3-dev libnotify-dev pcre2-utils \ | |
libmiroil-dev libmirrenderer-dev libgles2-mesa-dev libmirwayland-dev libjson-c-dev | |
sudo apt install mir-platform-graphics-virtual xwayland \ | |
mir-platform-graphics-gbm-kms mir-platform-rendering-egl-generic gedit gnome-chess | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
- name: Install | |
run: sudo cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
- name: Unit Tests | |
run: cd ${{github.workspace}}/build && ./bin/miracle-wm-tests | |
- name: IPC Tests | |
if: false | |
run: | | |
cd ${{github.workspace}}/tests/ipc | |
python -m venv venv | |
source venv/bin/activate | |
pip install -r requirements.txt | |
MIRACLE_IPC_TEST_BIN=/usr/local/bin/miracle-wm pytest -s | |
- name: Check Licenses | |
run: python tools/check_license.py |