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