Skip to content

Merge remote-tracking branch 'upstream/master' #16

Merge remote-tracking branch 'upstream/master'

Merge remote-tracking branch 'upstream/master' #16

Workflow file for this run

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 }}