51 lines
1.5 KiB
YAML
51 lines
1.5 KiB
YAML
name: Build TDLib
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
schedule:
|
|
- cron: '0 0 * * 0' # weekly
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
matrix:
|
|
arch: [linux/386, linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64, linux/ppc64le]
|
|
|
|
steps:
|
|
- name: Setup variables
|
|
run: |
|
|
ARCH=${{ matrix.arch }}
|
|
SAFE_ARCH=$(echo $ARCH | sed 's/\//\-/g')
|
|
echo "SAFE_ARCH=$SAFE_ARCH" >> $GITHUB_ENV
|
|
- name: Install sudo package
|
|
run: |
|
|
(apt-get update || true) 2>/dev/null
|
|
(apt-get install -y sudo || true) 2>/dev/null
|
|
sudo apt update
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: "recursive"
|
|
- name: Cache ccache
|
|
id: cache-ccache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.ccache
|
|
key: ${{ runner.os }}-${{ env.SAFE_ARCH }}-ccache-all
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ env.SAFE_ARCH }}-ccache-
|
|
- name: Install build tools
|
|
run: sudo apt-get install -y make git zlib1g-dev libssl-dev gperf php-cli cmake clang-6.0 libc++-dev libc++abi-dev ccache
|
|
- name: Build
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
CXXFLAGS="-stdlib=libc++" CC=/usr/bin/clang-10 CXX=/usr/bin/clang++-10 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=../tdlib ..
|
|
cmake --build . --target install -- -j4
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: tdlight-${{ env.SAFE_ARCH }}
|
|
path: tdlib/lib
|
|
|