Merge pull request #2546 from akruphi/readme #9
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: | |
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository != 'elfmz/far2l') }} | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ gcc, clang ] | |
include: | |
- compiler: gcc | |
version: 7 | |
c: /usr/bin/gcc-7 | |
cxx: /usr/bin/g++-7 | |
- compiler: clang | |
version: 7 | |
c: /usr/bin/clang-7 | |
cxx: /usr/bin/clang++-7 | |
name: ubuntu-${{ matrix.compiler }}-${{ matrix.version }} | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Install compilers | |
run: > | |
sudo apt-get update; | |
sudo apt-get -y install gcc-7 g++-7 clang-7 | |
- name: Install far2l dependencies | |
run: > | |
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 | |
libarchive-dev | |
python3-dev python3-cffi | |
- 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 -Wno-dev -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: | |
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository != 'elfmz/far2l') }} | |
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 far2l 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 | |
python3-dev python3-cffi | |
- 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 -Wno-dev -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: | |
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository != 'elfmz/far2l') }} | |
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 far2l 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 | |
python3-dev python3-cffi | |
- 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 -Wno-dev -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: | |
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository != 'elfmz/far2l') }} | |
runs-on: macos-14 | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Install far2l dependencies | |
# libx11, openssl is already installed | |
run: > | |
brew install | |
uchardet libxml2 wxwidgets | |
libxi | |
samba libnfs neon libssh | |
libarchive | |
- 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 -Wno-dev -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) |