Skip to content

Merge pull request #2546 from akruphi/readme #9

Merge pull request #2546 from akruphi/readme

Merge pull request #2546 from akruphi/readme #9

Workflow file for this run

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)