Merge pull request #171 from AdminXeq/boost185 #190
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: ci/gh-actions/depends | |
on: [push, pull_request] | |
env: | |
APT_SET_CONF: | | |
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom | |
echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom | |
echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom | |
CCACHE_SETTINGS: | | |
ccache --max-size=150M | |
ccache --set-config=compression=true | |
jobs: | |
build-matrix: | |
runs-on: ubuntu-20.04 | |
env: | |
CCACHE_TEMPDIR: /tmp/.ccache-temp | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: | |
- name: "build-depends-armv7" | |
host: "arm-linux-gnueabihf" | |
packages: "python3 gperf g++-arm-linux-gnueabihf" | |
- name: "build-depends-armv8" | |
host: "aarch64-linux-gnu" | |
packages: "python3 gperf g++-aarch64-linux-gnu" | |
- name: "build-depends-armv8 RPi" | |
host: "aarch64-linux-gnu" | |
packages: "python3 gperf g++-aarch64-linux-gnu" | |
cmake_opts: "-DNO_AES=ON" | |
- name: "build-depends-i686-linux" | |
host: "i686-pc-linux-gnu" | |
packages: "gperf cmake g++-multilib python3-zmq" | |
- name: "build-depends-windows-x64" | |
host: "x86_64-w64-mingw32" | |
packages: "cmake python3 g++-mingw-w64-x86-64 qttools5-dev-tools" | |
- name: "build-depends-x86_64-linux" | |
host: "x86_64-unknown-linux-gnu" | |
packages: "gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev" | |
- name: "build-depends-macOS-x64" | |
host: "x86_64-apple-darwin" | |
packages: "cmake ccache imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools libtinfo5 curl bsdmainutils python3-dev python3-setuptools" | |
- name: "build-depends-macOS-arm64" | |
host: "aarch64-apple-darwin" | |
packages: "cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git" | |
name: ${{ matrix.toolchain.name }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
# Most volatile cache | |
- name: ccache | |
uses: actions/cache@v4 | |
with: | |
path: ~/.ccache | |
key: ccache-${{ matrix.toolchain.host }}-${{ github.sha }} | |
restore-keys: ccache-${{ matrix.toolchain.host }}- | |
# Less volatile cache | |
- name: depends cache | |
uses: actions/cache@v4 | |
with: | |
path: contrib/depends/built | |
key: depends-${{ matrix.toolchain.host }}-${{ hashFiles('contrib/depends/packages/*') }} | |
restore-keys: | | |
depends-${{ matrix.toolchain.host }}-${{ hashFiles('contrib/depends/packages/*') }} | |
depends-${{ matrix.toolchain.host }}- | |
# Static cache | |
- name: set apt conf | |
run: ${{env.APT_SET_CONF}} | |
- name: install dependencies | |
run: sudo apt update; sudo apt -y install build-essential libtool cmake autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache ${{ matrix.toolchain.packages }} | |
- name: prepare w64-mingw32 | |
if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' }} | |
run: | | |
sudo update-alternatives --set ${{ matrix.toolchain.host }}-g++ $(which ${{ matrix.toolchain.host }}-g++-posix) | |
sudo update-alternatives --set ${{ matrix.toolchain.host }}-gcc $(which ${{ matrix.toolchain.host }}-gcc-posix) | |
- name: build | |
run: | | |
${{env.CCACHE_SETTINGS}} | |
make depends target=${{ matrix.toolchain.host }} cmake_opts=${{ matrix.toolchain.cmake_opts }} | |
- uses: actions/upload-artifact@v4 | |
if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' || matrix.toolchain.host == 'x86_64-unknown-linux-gnu' || matrix.toolchain.host == 'x86_64-apple-darwin' || matrix.toolchain.host == 'aarch64-apple-darwin' || matrix.toolchain.host == 'aarch64-linux-gnu' || 'arm-linux-gnueabihf' }} | |
with: | |
name: ${{ matrix.toolchain.name }} | |
path: | | |
/home/runner/work/Equilibria/Equilibria/build/${{ matrix.toolchain.host }}/release/bin/* |