Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GA] Fix minor issues with latest GA runner images #2930

Merged
merged 5 commits into from
Jul 28, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 84 additions & 25 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: Initialize Python
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: '3.8'

- name: Install Dependencies
run: |
Expand Down Expand Up @@ -93,26 +93,30 @@ jobs:
config:
- name: Linux
os: ubuntu-20.04
python-version: '3.8'
packages: python3-zmq qttools5-dev qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
cc: gcc
cxx: g++

- name: Linux-latest
os: ubuntu-latest
python-version: '3.8'
packages: python3-zmq qttools5-dev qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
cc: gcc
cxx: g++

- name: macOS
os: macos-12
packages: llvm@13 [email protected] autoconf automake berkeley-db@4 libtool [email protected] miniupnpc libnatpmp pkg-config qt@5 zmq libevent qrencode gmp libsodium rust
python-version: '3.8'
packages: llvm@13 autoconf automake berkeley-db@4 libtool [email protected] miniupnpc libnatpmp pkg-config qt@5 zmq libevent qrencode gmp libsodium
boost_root: true
cc: $(brew --prefix llvm@13)/bin/clang
cxx: $(brew --prefix llvm@13)/bin/clang++

- name: macOS-latest
os: macos-14
packages: llvm@14 [email protected] autoconf automake berkeley-db@4 libtool [email protected] miniupnpc libnatpmp pkg-config qt@5 zmq libevent qrencode gmp libsodium rust
python-version: '3.10'
packages: llvm@14 autoconf automake berkeley-db@4 libtool [email protected] miniupnpc libnatpmp pkg-config qt@5 zmq libevent qrencode gmp libsodium
boost_root: true
cc: $(brew --prefix llvm@14)/bin/clang
cxx: $(brew --prefix llvm@14)/bin/clang++
Expand All @@ -121,6 +125,11 @@ jobs:
- name: Get Source
uses: actions/checkout@v4

- name: Initialize Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.config.python-version }}

- name: Setup Environment
run: |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
Expand All @@ -141,6 +150,7 @@ jobs:
run: |
CC=${{ matrix.config.cc }}
CXX=${{ matrix.config.cxx }}
PYTHON=$pythonLocation/bin/python${{ matrix.config.python-version }}
if [[ ${{ matrix.config.os }} = macos* ]]; then
if [ "${{ matrix.config.no_qt }}" = "true" ]; then
export NO_QT=1
Expand All @@ -151,13 +161,14 @@ jobs:
export LDFLAGS="-L/opt/homebrew/opt/[email protected]/lib"
export CPPFLAGS="-I/opt/homebrew/opt/[email protected]/include"
else
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include -I/usr/local/opt/berkeley-db@4/include"
export LDFLAGS="-L/usr/local/opt/[email protected]/lib -L/usr/local/opt/berkeley-db@4/lib"
fi
fi
fi
export CC
export CXX
export PYTHON
mkdir -p ${{ github.workspace }}/cmake-build-debug && cd ${{ github.workspace }}/cmake-build-debug
cmake -DCMAKE_BUILD_TYPE=Debug -G "Unix Makefiles" ${{ github.workspace }}

Expand Down Expand Up @@ -189,6 +200,7 @@ jobs:
- name: x64-Linux
id: Linux-x86_64-nodepends
os: ubuntu-20.04
python-version: '3.8'
packages: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
unit_tests: true
functional_tests: true
Expand All @@ -198,6 +210,7 @@ jobs:
- name: x64-Linux-latest
id: Linux-x86_64-nodepends-latest
os: ubuntu-latest
python-version: '3.8'
packages: python3-zmq qtbase5-dev qttools5-dev-tools libqt5svg5-dev libqt5charts5-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev cargo
unit_tests: true
functional_tests: true
Expand All @@ -207,7 +220,8 @@ jobs:
- name: x64-macOS
id: macOS-nodepends
os: macos-12
packages: autoconf automake ccache berkeley-db@4 libtool [email protected] miniupnpc libnatpmp pkg-config [email protected] libevent qrencode gmp libsodium rust librsvg
python-version: '3.8'
packages: autoconf automake ccache berkeley-db@4 libtool [email protected] miniupnpc libnatpmp pkg-config qt@5 zmq libevent qrencode gmp libsodium librsvg
unit_tests: true
functional_tests: true
cc: clang
Expand All @@ -217,7 +231,8 @@ jobs:
- name: arm64-macOS-latest
id: macOS-nodepends-latest
os: macos-14
packages: autoconf automake ccache berkeley-db@4 libtool [email protected] miniupnpc libnatpmp pkg-config [email protected] qt@5 zmq libevent qrencode gmp libsodium rust librsvg
python-version: '3.10'
packages: autoconf automake ccache berkeley-db@4 libtool [email protected] miniupnpc libnatpmp pkg-config qt@5 zmq libevent qrencode gmp libsodium librsvg
unit_tests: true
functional_tests: true
goal: deploy
Expand All @@ -229,14 +244,19 @@ jobs:
- name: Get Source
uses: actions/checkout@v4

- name: Initialize Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.config.python-version }}

- name: Setup Environment
run: |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.packages }}
fi
if [[ ${{ matrix.config.os }} = macos* ]]; then
brew install ${{ matrix.config.packages }}
pip3.8 install ds_store mac_alias
pip install ds_store mac_alias
fi

- name: ccache cache files
Expand All @@ -252,6 +272,8 @@ jobs:
# Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers.
PATH=$PATH:/usr/lib/llvm-6.0/bin/
export PATH
PYTHON=$pythonLocation/bin/python${{ matrix.config.python-version }}
export PYTHON

if [[ ${{ matrix.config.os }} = macos* ]]; then
CC=${{ matrix.config.cc }}
Expand All @@ -260,6 +282,11 @@ jobs:
export CXX
fi

if [ "${{ matrix.config.os }}" = "macos-12" ]; then
export CPPFLAGS="-I/usr/local/opt/[email protected]/include -I/usr/local/opt/berkeley-db@4/include"
export LDFLAGS="-L/usr/local/opt/[email protected]/lib -L/usr/local/opt/berkeley-db@4/lib"
fi

if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
OUTDIR_PATH="$GITHUB_WORKSPACE/$GITHUB_RUN_NUMBER"
BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$GITHUB_WORKSPACE --bindir=$OUTDIR_PATH/bin --libdir=$OUTDIR_PATH/lib"
Expand Down Expand Up @@ -337,24 +364,33 @@ jobs:
- name: x64-Linux
id: Linux-x86_64-nodepends-tests
os: ubuntu-20.04
python-version: '3.8'
packages: python3-zmq libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev

- name: x64-Linux-latest
id: Linux-x86_64-nodepends-latest-tests
os: ubuntu-latest
python-version: '3.8'
packages: python3-zmq libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev libqrencode-dev libgmp-dev libsodium-dev

- name: x64-macOS
id: macOS-nodepends
os: macos-12
packages: [email protected] berkeley-db@4 [email protected] miniupnpc libnatpmp pkg-config zmq libevent qrencode gmp libsodium
python-version: '3.8'
packages: berkeley-db@4 [email protected] miniupnpc libnatpmp pkg-config zmq libevent qrencode gmp libsodium

- name: arm64-macOS-latest
id: macOS-nodepends-latest
os: macos-14
packages: [email protected] berkeley-db@4 [email protected] miniupnpc libnatpmp pkg-config zmq libevent qrencode gmp libsodium
python-version: '3.10'
packages: berkeley-db@4 [email protected] miniupnpc libnatpmp pkg-config zmq libevent qrencode gmp libsodium

steps:
- name: Initialize Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.config.python-version }}

- name: Setup Environment
run: |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
Expand All @@ -363,6 +399,7 @@ jobs:
if [[ ${{ matrix.config.os }} = macos* ]]; then
brew install ${{ matrix.config.packages }}
fi
pip install pyzmq

- name: Download Build Artifact
uses: actions/download-artifact@v4
Expand Down Expand Up @@ -401,17 +438,17 @@ jobs:
- name: ARM 32-bit
os: ubuntu-20.04
host: arm-linux-gnueabihf
packages: python3 g++-arm-linux-gnueabihf
packages: g++-arm-linux-gnueabihf

- name: AARCH64
os: ubuntu-20.04
host: aarch64-linux-gnu
packages: python3 g++-aarch64-linux-gnu
packages: g++-aarch64-linux-gnu

- name: Win64
os: ubuntu-20.04
host: x86_64-w64-mingw32
packages: python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64
packages: nsis g++-mingw-w64-x86-64 wine-binfmt wine64

- name: 32-bit + dash
os: ubuntu-20.04
Expand All @@ -427,16 +464,23 @@ jobs:
- name: macOS 10.12
os: ubuntu-20.04
host: x86_64-apple-darwin16
packages: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools
packages: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools
XCODE_VERSION: 11.3.1
XCODE_BUILD_ID: 11C505

steps:
- name: Get Source
uses: actions/checkout@v4

- name: Initialize Python
uses: actions/setup-python@v5
with:
python-version: '3.8'

- name: Setup Environment
run: sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.packages }}
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.packages }}

- name: depends cache files
uses: actions/cache@v4
Expand Down Expand Up @@ -513,7 +557,7 @@ jobs:
id: ARM64-build
os: ubuntu-20.04
host: aarch64-linux-gnu
packages: python3 g++-aarch64-linux-gnu
packages: g++-aarch64-linux-gnu
unit_tests: false
functional_tests: false
goal: install
Expand All @@ -523,7 +567,7 @@ jobs:
id: Win64-build
os: ubuntu-20.04
host: x86_64-w64-mingw32
packages: python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64
packages: nsis g++-mingw-w64-x86-64 wine-binfmt wine64
unit_tests: false
functional_tests: false
symbol_check: true
Expand All @@ -544,7 +588,7 @@ jobs:
id: macOS10.12-build
os: ubuntu-20.04
host: x86_64-apple-darwin16
packages: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools
packages: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools
XCODE_VERSION: 11.3.1
XCODE_BUILD_ID: 11C505
unit_tests: false
Expand All @@ -557,8 +601,15 @@ jobs:
- name: Get Source
uses: actions/checkout@v4

- name: Initialize Python
uses: actions/setup-python@v5
with:
python-version: '3.8'

- name: Setup Environment
run: sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.packages }}
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends --no-upgrade -qq "$APT_BASE" ${{ matrix.config.packages }}

- name: depends cache files
if: matrix.config.no_depends != 1
Expand Down Expand Up @@ -711,18 +762,26 @@ jobs:
id: macos-x86_64-tests
os: macos-12
host: x86_64-apple-darwin16
packages: [email protected]
packages: None
test_runner_extra: "--all --exclude feature_dbcrash"

steps:
- name: Initialize Python
uses: actions/setup-python@v5
with:
python-version: '3.8'

- name: Setup Environment
run: |
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
sudo apt-get install --no-install-recommends --no-upgrade -qq ${{ matrix.config.packages }}
fi
if [[ ${{ matrix.config.os }} = macos* ]]; then
brew install ${{ matrix.config.packages }}
if [[ ${{ matrix.config.packages }} != None ]]; then
if [[ ${{ matrix.config.os }} = ubuntu* ]]; then
sudo apt-get install --no-install-recommends --no-upgrade -qq ${{ matrix.config.packages }}
fi
if [[ ${{ matrix.config.os }} = macos* ]]; then
brew install ${{ matrix.config.packages }}
fi
fi
pip install pyzmq

- name: Download Build Artifact
uses: actions/download-artifact@v4
Expand Down
Loading