Merge remote-tracking branch 'upstream/master' #6
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 | |
on: | |
push: | |
paths-ignore: | |
- '**/*.md' | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
- 'contrib/**' | |
- '**/*.md' | |
jobs: | |
build: | |
name: ${{ matrix.name }} | |
env: | |
MAKEJOBS: "-j4" | |
CHECK_DOC: "0" | |
SDK_URL: https://bitcoincore.org/depends-sources/sdks | |
strategy: | |
fail-fast: false | |
matrix: | |
name: | |
- linux-32-bit | |
- linux-64-bit | |
- windows-64-bit | |
- macos-64-bit | |
- linux-arm-32-bit | |
- linux-arm-64-bit | |
- linux-power-64-bit | |
- linux-power-le-64-bit | |
- linux-riscv-64-bit | |
- linux-s390x | |
include: | |
- name: linux-32-bit | |
host: i686-pc-linux-gnu | |
os: ubuntu-22.04 | |
packages: "" | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "LDFLAGS=-static-libstdc++" | |
goal: install | |
- name: linux-64-bit | |
host: x86_64-pc-linux-gnu | |
os: ubuntu-22.04 | |
packages: "" | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "LDFLAGS=-static-libstdc++" | |
goal: install | |
- name: windows-64-bit | |
host: x86_64-w64-mingw32 | |
arch: "i386" | |
os: ubuntu-22.04 | |
packages: build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git nsis g++-mingw-w64-x86-64-posix wine-binfmt wine64 wine32 | |
postinstall: | | |
sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix | |
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix | |
sudo update-binfmts --import /usr/share/binfmts/wine | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "LDFLAGS=-static-libgcc" | |
goal: install | |
- name: macos-64-bit | |
host: x86_64-apple-darwin | |
os: ubuntu-22.04 | |
packages: curl bsdmainutils cmake libz-dev python3-setuptools libtinfo5 xorriso | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "" | |
goal: deploy | |
sdk: 12.2-12B45b | |
- name: linux-arm-32-bit | |
host: arm-linux-gnueabihf | |
os: ubuntu-22.04 | |
packages: g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "LDFLAGS=-static-libstdc++" | |
goal: install | |
- name: linux-arm-64-bit | |
host: aarch64-linux-gnu | |
os: ubuntu-22.04 | |
packages: g++-aarch64-linux-gnu binutils-aarch64-linux-gnu | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "LDFLAGS=-static-libstdc++" | |
goal: install | |
- name: linux-power-64-bit | |
host: powerpc64-linux-gnu | |
os: ubuntu-22.04 | |
packages: g++-powerpc64-linux-gnu binutils-powerpc64-linux-gnu | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "LDFLAGS=-static-libstdc++" | |
goal: install | |
- name: linux-power-le-64-bit | |
host: powerpc64le-linux-gnu | |
os: ubuntu-22.04 | |
packages: g++-powerpc64le-linux-gnu binutils-powerpc64le-linux-gnu | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "LDFLAGS=-static-libstdc++" | |
goal: install | |
- name: linux-riscv-64-bit | |
host: riscv64-linux-gnu | |
os: ubuntu-22.04 | |
packages: g++-riscv64-linux-gnu binutils-riscv64-linux-gnu | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "LDFLAGS=-static-libstdc++" | |
goal: install | |
- name: linux-s390x | |
host: s390x-linux-gnu | |
os: ubuntu-22.04 | |
packages: g++-s390x-linux-gnu binutils-s390x-linux-gnu | |
check-security: false | |
check-symbols: false | |
dep-opts: "" | |
config-opts: "LDFLAGS=-static-libstdc++" | |
goal: install | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Add architecture | |
if: ${{ matrix.arch }} | |
run: | | |
sudo eatmydata apt-get install ppa-purge | |
sudo eatmydata ppa-purge -y ppa:ubuntu-toolchain-r/test | |
sudo dpkg --add-architecture "${{ matrix.arch }}" | |
- name: Install packages | |
run: | | |
sudo apt-get update | |
sudo apt-get install make automake cmake curl g++-multilib libtool binutils 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@v3 | |
- name: SDK cache | |
if: ${{ matrix.sdk }} | |
uses: actions/cache@v3 | |
env: | |
cache-name: sdk | |
with: | |
path: ./depends/sdk-sources | |
key: ${{ matrix.name }}-${{ env.cache-name }} | |
- name: Install SDK | |
if: ${{ matrix.sdk }} | |
run: | | |
mkdir -p ./depends/sdk-sources | |
mkdir -p ./depends/SDKs | |
curl --location --fail $SDK_URL/Xcode-${{ matrix.sdk }}-extracted-SDK-with-libcxx-headers.tar.gz -o depends/sdk-sources/Xcode-${{ matrix.sdk }}-extracted-SDK-with-libcxx-headers.tar.gz | |
tar -C depends/SDKs -xf depends/sdk-sources/Xcode-${{ matrix.sdk }}-extracted-SDK-with-libcxx-headers.tar.gz | |
- name: Dependency cache | |
uses: actions/cache@v3 | |
env: | |
cache-name: depends | |
with: | |
path: ./depends/built | |
key: ${{ matrix.name }}-${{ env.cache-name }}-${{ hashFiles('depends/packages/*') }} | |
- name: Build depends | |
run: | | |
make $MAKEJOBS -C depends HOST=${{ matrix.host }} ${{ matrix.dep-opts }} | |
- name: Build Groestlcoin | |
run: | | |
./autogen.sh | |
./configure --prefix=`pwd`/depends/${{ matrix.host }} ${{ matrix.config-opts }} --enable-reduce-exports || ( cat config.log && false) | |
make $MAKEJOBS ${{ matrix.goal }} || ( echo "Build failure. Verbose build follows." && make ${{ matrix.goal }} V=1 ; false ) | |
- name: Check security | |
if: ${{ matrix.check-security }} | |
run: make -C src check-security | |
- name: Check symbols | |
if: ${{ matrix.check-symbols }} | |
run: make -C src check-symbols | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: groestlcoin-${{ github.sha }}-${{ matrix.name }} | |
path: | | |
depends/${{ matrix.host }}/bin/groestlcoin* | |
dist/Groestlcoin-Qt.app | |
if-no-files-found: error | |
retention-days: 7 | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: groestlcoin-${{ github.sha }}-${{ matrix.name }} |