Merge pull request #2442 from mitya57/far2ledit-desktop #444
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: check build | |
on: | |
# allow manually running workflow, useful for testing branches | |
workflow_dispatch: | |
# run on push in master | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- '.vscode/**' | |
- '.cirrus.yml' | |
- '.clang-format' | |
- '.clang-format.json' | |
- '.editorconfig' | |
- '.gitignore' | |
- '.travis.yml' | |
- 'Brewfile' | |
- 'CODESTYLE.md' | |
- 'dependencies-minimal.txt' | |
- 'dependencies.txt' | |
- 'Dockerfile' | |
- 'HACKING.md' | |
- 'LICENSE.txt' | |
- 'README.md' | |
# run on pull request to master | |
pull_request: | |
branches: | |
- master | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
jobs: | |
ubuntu-low-compiler: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ gcc, clang ] | |
include: | |
- compiler: gcc | |
version: 10 | |
c: /usr/bin/gcc-10 | |
cxx: /usr/bin/g++-10 | |
- compiler: clang | |
version: 10 | |
c: /usr/bin/clang-10 | |
cxx: /usr/bin/clang++-10 | |
name: ubuntu-${{ matrix.compiler }}-${{ matrix.version }} | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: > | |
sudo apt-get update; | |
sudo apt-get -y install | |
libuchardet-dev libxml2-dev libwxgtk3.0-gtk3-dev | |
libx11-dev libxi-dev | |
libssl-dev libsmbclient-dev libnfs-dev libneon27-dev libssh-dev | |
libarchive-dev libpcre2-dev | |
- name: Create Build Environment | |
# Create a separate build directory as working directory for all subsequent commands | |
run: mkdir -p _build | |
- name: Configure CMake | |
# Use a bash shell so we can use the same syntax for environment variable | |
# access regardless of the host operating system | |
shell: bash | |
# -S and -B options specify source and build directories | |
run: > | |
cmake -S . -B _build -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DPYTHON=yes | |
-DCMAKE_C_COMPILER=${{ matrix.c }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} | |
- name: Build | |
shell: bash | |
# Execute the build. You can specify a specific target with "--target <NAME>" | |
run: | | |
cmake --build _build --config $BUILD_TYPE -j$(nproc --all) | |
ubuntu-medium-compiler: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ gcc, clang ] | |
include: | |
- compiler: gcc | |
version: 12 | |
c: /usr/bin/gcc-12 | |
cxx: /usr/bin/g++-12 | |
- compiler: clang | |
version: 15 | |
c: /usr/bin/clang-15 | |
cxx: /usr/bin/clang++-15 | |
name: ubuntu-${{ matrix.compiler }}-${{ matrix.version }} | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: > | |
sudo apt-get update; | |
sudo apt-get -y install | |
libuchardet-dev libxml2-dev libwxgtk3.0-gtk3-dev | |
libx11-dev libxi-dev | |
libssl-dev libsmbclient-dev libnfs-dev libneon27-dev libssh-dev | |
libarchive-dev libpcre2-dev | |
- name: Create Build Environment | |
# Create a separate build directory as working directory for all subsequent commands | |
run: mkdir -p _build | |
- name: Configure CMake | |
# Use a bash shell so we can use the same syntax for environment variable | |
# access regardless of the host operating system | |
shell: bash | |
# -S and -B options specify source and build directories | |
run: > | |
cmake -S . -B _build -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DPYTHON=yes | |
-DCMAKE_C_COMPILER=${{ matrix.c }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} | |
- name: Build | |
shell: bash | |
# Execute the build. You can specify a specific target with "--target <NAME>" | |
run: | | |
cmake --build _build --config $BUILD_TYPE -j$(nproc --all) | |
ubuntu-high-compiler: | |
runs-on: ubuntu-24.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ gcc, clang ] | |
include: | |
- compiler: gcc | |
version: 14 | |
c: /usr/bin/gcc-14 | |
cxx: /usr/bin/g++-14 | |
- compiler: clang | |
version: 18 | |
c: /usr/bin/clang-18 | |
cxx: /usr/bin/clang++-18 | |
name: ubuntu-${{ matrix.compiler }}-${{ matrix.version }} | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: > | |
sudo apt-get update; | |
sudo apt-get -y install | |
libuchardet-dev libxml2-dev libwxgtk3.2-dev | |
libx11-dev libxi-dev | |
libssl-dev libsmbclient-dev libnfs-dev libneon27-dev libssh-dev | |
libarchive-dev libpcre2-dev | |
- name: Create Build Environment | |
# Create a separate build directory as working directory for all subsequent commands | |
run: mkdir -p _build | |
- name: Configure CMake | |
# Use a bash shell so we can use the same syntax for environment variable | |
# access regardless of the host operating system | |
shell: bash | |
# -S and -B options specify source and build directories | |
run: > | |
cmake -S . -B _build -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DPYTHON=yes | |
-DCMAKE_C_COMPILER=${{ matrix.c }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} | |
- name: Build | |
shell: bash | |
# Execute the build. You can specify a specific target with "--target <NAME>" | |
run: | | |
cmake --build _build --config $BUILD_TYPE -j$(nproc --all) | |
macos14-arm64-clang15: | |
runs-on: macos-14 | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
# libx11, openssl is already installed | |
run: > | |
brew install | |
uchardet libxml2 wxwidgets | |
libxi | |
samba libnfs neon libssh | |
libarchive pcre | |
- name: Relink 'keg-only' packages | |
run: brew link libarchive --force | |
- name: Create Build Environment | |
# Create a separate build directory as working directory for all subsequent commands | |
run: mkdir -p _build | |
- name: Configure CMake | |
# Use a bash shell so we can use the same syntax for environment variable | |
# access regardless of the host operating system | |
shell: bash | |
# -S and -B options specify source and build directories | |
run: cmake -S . -B _build -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DPYTHON=yes | |
- name: Build | |
shell: bash | |
# Execute the build. You can specify a specific target with "--target <NAME>" | |
run: | | |
cmake --build _build --config $BUILD_TYPE -j$(sysctl -n hw.logicalcpu) |