forked from digibyte/digibyte
-
Notifications
You must be signed in to change notification settings - Fork 65
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #256 from DigiByte-Core/bugfix/ci-cd-consolidation
ci: Consolidates and improves the ci workflow
- Loading branch information
Showing
8 changed files
with
159 additions
and
272 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,87 @@ | ||
name: 'Build & Check: Ubuntu Full QT & Tests' | ||
|
||
on: [push] | ||
on: | ||
pull_request: | ||
branches: [ develop, master ] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
os: [x86_64-linux-gnu] | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Get Dependencies | ||
run: sudo apt update && sudo apt-get install build-essential libtool libssl-dev autotools-dev automake pkg-config bsdmainutils python3 libevent-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-test-dev libsqlite3-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libqrencode-dev software-properties-common pandoc | ||
|
||
- name: Install pypandoc | ||
run: pip3 install pypandoc | ||
|
||
- name: Install scrypt for Python3 | ||
run: pip3 install digibyte_scrypt | ||
- name: Cache pip | ||
id: cache-pip | ||
uses: actions/cache@v3 | ||
with: | ||
path: | | ||
~/.cache/pip | ||
~/.cache/pip3 | ||
key: v1-${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | ||
restore-keys: v1-${{ runner.os }}-pip- | ||
|
||
- name: Cache BerkeleyDB | ||
id: cache-db4 | ||
uses: actions/cache@v3 | ||
with: | ||
path: db4 | ||
key: v1-${{ runner.os }}-db4-${{ hashFiles('contrib/install_db4.sh') }} | ||
restore-keys: v1-${{ runner.os }}-db4- | ||
|
||
- name: Cache depends build | ||
id: cache-depends | ||
uses: actions/cache@v3 | ||
with: | ||
path: | | ||
depends/built | ||
depends/sources | ||
depends/sdk-sources | ||
depends/work | ||
depends/x86_64-linux-gnu | ||
key: v1-${{ runner.os }}-depends-${{ hashFiles('depends/Makefile') }}-${{ github.sha }} | ||
restore-keys: | | ||
v1-${{ runner.os }}-depends-${{ hashFiles('depends/Makefile') }}- | ||
v1-${{ runner.os }}-depends- | ||
- name: Install Build Dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y build-essential libtool autotools-dev automake pkg-config python3 \ | ||
libssl-dev bsdmainutils libevent-dev \ | ||
libboost-dev libboost-system-dev libboost-filesystem-dev libboost-test-dev \ | ||
libsqlite3-dev \ | ||
libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools \ | ||
libqrencode-dev python3-zmq | ||
- name: Install BerkleyDB | ||
run: ./contrib/install_db4.sh `pwd` --enable-cxx | ||
- name: Install Python Packages | ||
if: steps.cache-pip.outputs.cache-hit != 'true' | ||
run: | | ||
pip3 install pypandoc digibyte_scrypt pyzmq | ||
- name: Auto Generate | ||
run: ./autogen.sh | ||
- name: Install BerkeleyDB | ||
if: steps.cache-db4.outputs.cache-hit != 'true' | ||
run: | | ||
./contrib/install_db4.sh `pwd` --enable-cxx | ||
- name: Configure | ||
run: export BDB_PREFIX="${PWD}/db4" && ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" | ||
- name: Build Dependencies | ||
if: steps.cache-depends.outputs.cache-hit != 'true' | ||
run: | | ||
cd depends | ||
make -j3 HOST=x86_64-linux-gnu | ||
cd .. | ||
- name: Make | ||
run: make -j3 | ||
- name: Configure and Build | ||
run: | | ||
./autogen.sh | ||
CONFIG_SITE=$PWD/depends/x86_64-linux-gnu/share/config.site ./configure --with-bdb --with-sqlite --with-gui=yes | ||
make -j3 | ||
- name: Make Check | ||
run: sudo make check | ||
- name: Run Tests | ||
run: make check -j3 | ||
|
||
- name: Upload Test Suite Log | ||
uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
name: test-suite-log | ||
path: /src/test-suite.log | ||
path: test-suite.log |
This file was deleted.
Oops, something went wrong.
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
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
Oops, something went wrong.