name: build on: push: branches: - master paths-ignore: - '**/*.md' pull_request: paths-ignore: - 'doc/**' - 'contrib/**' - '**/*.md' jobs: build: name: ${{ matrix.name }} env: MAKEJOBS: 4 SDK_URL: https://bitcoincore.org/depends-sources/sdks strategy: fail-fast: false matrix: name: - linux-32-bit - linux-64-bit - linux-arm-32-bit - linux-arm-64-bit include: - name: linux-32-bit host: i686-pc-linux-gnu os: ubuntu-20.04 packages: g++-multilib check-security: false check-symbols: false dep-opts: "" config-opts: "--enable-glibc-back-compat LDFLAGS=-static-libstdc++" goal: install - name: linux-64-bit host: x86_64-pc-linux-gnu os: ubuntu-20.04 packages: python3 check-security: false check-symbols: false dep-opts: "" config-opts: "--enable-sse2 --enable-glibc-back-compat LDFLAGS=-static-libstdc++" goal: install - name: linux-arm-32-bit host: arm-linux-gnueabihf os: ubuntu-20.04 packages: g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf check-security: false check-symbols: false dep-opts: "" config-opts: "--enable-glibc-back-compat LDFLAGS=-static-libstdc++" goal: install - name: linux-arm-64-bit host: aarch64-linux-gnu os: ubuntu-20.04 packages: g++-aarch64-linux-gnu binutils-aarch64-linux-gnu check-security: false check-symbols: false dep-opts: "" config-opts: "--enable-glibc-back-compat LDFLAGS=-static-libstdc++" goal: install runs-on: ${{ matrix.os }} steps: - name: Add architecture if: ${{ matrix.arch }} run: | sudo dpkg --add-architecture "${{ matrix.arch }}" sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list sudo apt-get update -qq sudo apt-get remove -qq libmono* moby* mono* nginx* php* libgdiplus libpcre2-posix3 libzip4 - name: Install packages run: | sudo apt-get update sudo apt-get install make automake cmake curl g++-multilib libtool binutils-gold bsdmainutils pkg-config python3 patch bison sudo apt-get install ${{ matrix.packages }} - name: Post Install if: ${{ matrix.postinstall }} run: ${{ matrix.postinstall }} - name: Checkout uses: actions/checkout@v4.1.7 - name: SDK cache - name: Install SDK - name: Dependency cache - name: Build depends - name: Check security - name: Check symbols - name: Upload artifacts - name: Download artifacts