Skip to content

Commit 19e30fa

Browse files
committed
5.0.0.0 2020-09-03, mandatory, "Fern"
Added - Backport newer uint256 types from Bitcoin #1570 (@cyrossignol) - Implement project level rain for rainbymagnitude #1580 (@jamescowens) - Upgrade utilities (Update checker and snapshot downloader/application) #1576 (@iFoggz) - Provide fees collected in the block by the miner #1601 (@iFoggz) - Add support for generating legacy superblocks from scraper stats #1603 (@cyrossignol) - Port of the Bitcoin Logger to Gridcoin #1600 (@jamescowens) - Implement zapwallettxes #1605 (@jamescowens) - Implements a global event filter to suppress help question mark #1609 (@jamescowens) - Add next target difficulty to RPC output #1615 (@cyrossignol) - Add caching for block hashes to CBlock #1624 (@cyrossignol) - Make toolbars and tray icon red for testnet #1637 (@jamescowens) - Add an rpc call convergencereport #1643 (@jamescowens) - Implement newline filter on config file read in #1645 (@jamescowens) - Implement beacon status icon/button #1646 (@jamescowens) - Add gridcointestnet.png #1649 (@caraka) - Add precision to support magnitudes less than 1 #1651 (@cyrossignol) - Replace research accrual calculations with superblock snapshots #1657 (@cyrossignol) - Publish example gridcoinresearch.conf as a md document to the doc directory #1662 (@jamescowens) - Add options checkbox to disable transaction notifications #1666 (@jamescowens) - Add support for self-service beacon deletion #1695 (@cyrossignol) - Add support for type-specific contract fee amounts #1698 (@cyrossignol) - Add verifiedbeaconreport and pendingbeaconreport #1696 (@jamescowens) - Add preliminary testing option for block v11 height on testnet #1706 (@cyrossignol) - Add verified beacons manifest part to superblock validator #1711 (@cyrossignol) - Implement beacon, vote, and superblock display categories/icons in UI transaction model #1717 (@jamescowens) - neuralnet: Add integrity checking to researcher accrual snapshot registry #1727 (@jamescowens) - Add workaround for scrypt assembly on macOS #1740 (@cyrossignol) - gui: Build onboarding/beacon wizard #1739 (@cyrossignol) - doc: Add CONTRIBUTING.md from bitcoin #1723 (@div72) - rpc: Implement inspectaccrualsnapshot and parseaccrualsnapshotfile #1744 (@jamescowens) - scraper: Add disk based state backing for verified beacon list in scraper #1751 (@jamescowens) - Add ability to recover beacon in block version 11+ #1768 (@cyrossignol) - refactor: Add transaction context to contract handlers #1777 (@cyrossignol) - gui: Add context for when BOINC is attached to a pool #1775 (@cyrossignol) - doc: Clarify what to do if PR in multiple categories (for CONTRIBUTING.md) #1798 (@RoboticMind) - qt: Add option to choose not to start the wallet minimized #1804 (@jamescowens) - superblock: Add check for OutOfSyncByAge to SuperblockValidator::Validate #1806 (@jamescowens) - contract: Standardize contract validation and add block context #1808 (@cyrossignol) - add seed.gridcoin.pl to default config #1812 (@wilkart) - gui: Implement sidestake send display #1813 (@jamescowens) - gui: Add pool/investor pages to researcher wizard #1819 (@cyrossignol) - ci: Port lint scripts from Bitcoin #1823 (@div72) - doc: Create basic readme in contrib #1826 (@RoboticMind) - gui: Implement TransactionRecord::Message #1829 (@jamescowens) - rpc: Add private_key_available to beaconstatus #1833 (@a123b) - gui: Validate email address in researcher wizard #1840 (@a123b) - rpc: Add "getrawwallettransaction" RPC function #1842 (@cyrossignol) - consensus: Set block version 11 threshold height for mainnet #1862 (@cyrossignol) Changed - Upgrade LevelDB from v1.17 to v1.20 #1562 (@cyrossignol) - Re-enable scrypt optimizations #1450 (@denravonska) - Derive CScript from prevector type (optimization) #1554 (@cyrossignol) - Disable quorum for grandfathered blocks to speed up sync #1568 (@cyrossignol) - Refactor hashBoinc for binary claim contexts #1558 (@cyrossignol) - integrated_scraper_2 branch tracking PR #1559 (@jamescowens) - Upgrade depends - OpenSSL to 1.1.1d #1581 (@jamescowens) - Ubuntu 19.10 fixes #1590 (@denravonska) - Force a re-parse of legacy claims in generated blocks #1592 (@cyrossignol) - Improve the "versionreport" RPC output #1595 (@cyrossignol) - Overhaul the core tally and accrual system #1583 (@cyrossignol) - Overhaul the superblock quorum system #1597 (@cyrossignol) - Add more data to the "superblocks" RPC output #1599 (@cyrossignol) - Update Windows Build doc #1606 (@barton2526) - Change the order of calls in gridcoinresearchd.cpp to optimize rpc shunt path #1610 (@jamescowens) - Change staking tooltip to display frequency #1611 (@jamescowens) - Enhancements to ETTS #1442 (@jamescowens) - Standardize money values as integers #1614 (@cyrossignol) - Clean up and optimize legacy coin age code #1616 (@cyrossignol) - Some scraper cleanups #1620 (@jamescowens) - Reorganize accrual code and fix 6-month cutoff #1630 (@cyrossignol) - Update Copyright years #1633 (@barton2526) - Change team whitelist delimiter to <> for CPID detection #1634 (@cyrossignol) - Change team whitelist separator to <> to accomodate more team names #1632 (@jamescowens) - Change Curl download speed type to support older environments #1640 (@cyrossignol) - Optimize logo SVGs used for tray icons #1638 (@cyrossignol) - Tweak consolidateunspent rpc function #1644 (@jamescowens) - ETTS and staking icon enhancements #1650 (@jamescowens) - Implement new transaction fees for block version 11 #1652 (@jamescowens) - Optimize in-memory storage of superblock data #1653 (@cyrossignol) - Miscellaneous superblock API improvements and housekeeping #1654 (@cyrossignol) - Update openssl to 1.1.1f compatibility #1660 (@jamescowens) - Optimize bdb to avoid synchronous flush of database #1659 (@jamescowens) - Add support for CPID input to "lifetime" RPC function #1668 (@cyrossignol) - Overhaul the contract handling system #1669 (@cyrossignol) - Make the autostart mainnet/testnet aware #1671 (@jamescowens) - Remove slashes from User Agent in peers tab #1674 (@div72) - Refactor contracts for polymorphic binary payloads #1676 (@cyrossignol) - Overhaul the beacon system #1678 (@cyrossignol) - Replace boost::optional<T&> with non-owning pointers #1680 (@cyrossignol) - Optimize proof-of-stake validation #1681 (@cyrossignol) - Updated Slack link #1683 (@NeuralMiner) - Update build-unix.md #1686 (@Quezacoatl1) - Replace deprecated QT methods #1693 (@Pythonix) - Made protocol.h more similar to bitcoin #1688 (@Pythonix) - Touch up some details for block version 11 #1697 (@cyrossignol) - More tweaks for block version 11 #1700 (@cyrossignol) - Finish the conversion to the BCLog class based logger #1699 (@jamescowens) - Move claim version transitional code in miner for proper signature #1712 (@cyrossignol) - doc: Update threads in coding.txt #1730 (@div72) - qt: Include QPainterPath in trafficgraphwidget.cpp #1733 (@div72) - doc: Update doc/build-unix.md #1731 (@div72) - gui: Show peers tab on connections icon click #1734 (@div72) - refactor: Change return type of IsMine to isminetype && move wallet files to wallet directory #1722 (@div72) - build: Updates boost to 1.73.0 for depends #1673 (@jamescowens) - doc: Update Unit Test Readme #1743 (@RoboticMind) - wallet: Change Assert To Error Message In kernel.cpp #1748 (@RoboticMind) - scraper: Shorten display representation of verification codes #1754 (@cyrossignol) - log: Change ".B." to Clear Message #1758 (@RoboticMind) - util: Fix braindamage in GetDefaultDataDir() #1737 (@jamescowens) - scraper: Improve scraper processing of beacon verifications #1760 (@jamescowens) - scraper: Add instrumentation to convergencereport #1763 (@jamescowens) - rpc: Improve rpc stress test script #1767 (@tunisiano187) - Generalize enum serialization #1770 (@cyrossignol) - scraper: Improve handling of ETags in http class and tweak verified beacon logic #1776 (@jamescowens) - scraper: Improve ProcessNetworkWideFromProjectStats and other tweaks #1778 (@jamescowens) - researcher: Automate beacon advertisement for renewals only #1781 (@cyrossignol) - gui: Tweak behavior of beacon page in researcher wizard #1784 (@cyrossignol) - Prepare for block version 11 hard-fork on testnet #1787 (@cyrossignol) - scraper: Modify UpdateVerifiedBeaconsFromConsensus #1791 (@jamescowens) - gui: Optimize OverviewPage::updateTransactions() #1794 (@jamescowens) - ci: Adopt ci changes from Bitcoin #1795 (@div72) - consensus: switch snapshot accrual calculation to integer arithmetic #1799 (@cyrossignol) - voting: Overhaul the voting system #1809 (@cyrossignol) - contract: Optimize contract replay after chain reorganization #1815 (@cyrossignol) - contract: Reimplement transaction messages as contracts #1816 (@cyrossignol) - staking: Sign claim contracts with coinstake transaction #1817 (@cyrossignol) - gui: Change research wizard text #1820 (@div72) - net: Update protocol version and clean up net messaging #1824 (@cyrossignol) - rpc, wallet: Corrections to GetAmounts #1825 (@jamescowens) - gui: Tweak some minor researcher wizard details #1830 (@cyrossignol) - gui: Change GetEstimatedStakingFrequency text #1836 (@jamescowens) - scraper: Scraper global statistics cache optimization #1837 (@jamescowens) - doc: Update Vulnerability Response Process #1843 (@RoboticMind) - scraper: Optimization of manifest and parts sharing between ConvergedScraperStatsCache, mapManifest, and mapParts #1851 (@jamescowens) - consensus: Update Checkpoints #1855 (@barton2526) - docs: Update docs to build off master #1856 (@barton2526) - gui: Fix and improve GUI combo box styles #1858 (@cyrossignol) - build: Tweak Gridcoin installer for Fern release #1863 (@jamescowens) Removed - Remove old research age checks (rebase #1365) #1572 (@cyrossignol) - Remove PrimaryCPID check from diagnostics dialog #1586 (@cyrossignol) - Remove missed label for PrimaryCPID from diagnostics #1588 (@cyrossignol) - Remove legacy quorum messaging system (@neural network) #1589 (@cyrossignol) - Remove old remnants of legacy smart contract experiments #1594 (@cyrossignol) - Remove block nonce for version 11 #1622 (@cyrossignol) - Delete obsolete contrib/Installer and Upgrader directories #1623 (@jamescowens) - Remove redundant LoadAdminMessages() calls #1625 (@cyrossignol) - Remove some legacy informational RPC commands #1658 (@cyrossignol) - Remove informational magnitude field from binary claims #1661 (@cyrossignol) - Remove fDebug3,4, and net and convert to BCLog::LogFlags #1663 (@jamescowens) - Remove qt5.7.1 depends support build System #1665 (@iFoggz) - Remove unused jQuery library #1679 (@cyrossignol) - Remove unused NetworkTimer() function and global state #1701 (@cyrossignol) - Refactor claim context objects into contracts #1704 (@cyrossignol) - Clean old assets up #1718 (@div72) - Remove legacy "rain" RPC (not by-project rain) #1742 (@cyrossignol) - Temporarily disable voting system on testnet #1769 (@cyrossignol) - gui: Remove legacy GUI transaction description for contracts #1772 (@cyrossignol) - gui: Remove transaction fee setting #1780 (@cyrossignol) - trivial: Cleanup unused legacy functions #1793 (@cyrossignol) - mining, rpc: Remove kernel-diff-best and kernel-diff-sum #1796 (@jamescowens) - refactor: Remove libs subdirectory #1802 (@div72) - scraper: cleanup unused/unnecessary functions #1803 (@jamescowens) - gui: Remove useless "Detach databases at shutdown" #1810 (@jamescowens) - test: Remove testnet condition for standard transactions #1814 (@cyrossignol) - consensus: Remove transitional testnet code #1854 (@cyrossignol) Fixed - Fix "Owed" amount in output of "magnitude" RPC method #1569 (@cyrossignol) - Add support for paths with special characters on Windows #1571 (@cyrossignol) - Fix lingering peers.dat temp files and clean up remaining paths #1582 (@cyrossignol) - Fix incorrect beacon length warning in GUI transaction list #1585 (@cyrossignol) - Fix default config file line endings on Windows #1587 (@cyrossignol) - Reenable Travis builds for MacOS #1591 (@jamescowens) - Correct peer detail info background color #1593 (@jamescowens) - Fix exception in debug3 mode #1598 (@cyrossignol) - Fix deadlock in "getmininginfo" RPC function #1596 (@cyrossignol) - Fix accuracy of statistics in "network" RPC output #1602 (@cyrossignol) - Fix heights for quorum vote weight calculations #1604 (@cyrossignol) - Fix deadlock in log archiver when rename fails #1607 (@cyrossignol) - Fix a spurious segmentation fault during client load on Windows with fast CPUs #1608 (@jamescowens) - Fix lock order debugging and potential deadlocks #1612 (@jamescowens) - Add dependencies #1613 (@Scalextrix) - Fix std namespace pollution #1617 (@denravonska) - Add missing condition for newbie accrual computer #1618 (@cyrossignol) - Track first reward blocks in research accounts #1619 (@cyrossignol) - Fix lingering beacon warning after advertisement #1627 (@cyrossignol) - Fix accrual calculation for new, zero-magnitude CPIDs #1636 (@cyrossignol) - Fix diagnostics, add ETTS test, fix tooltipcolor, add missing lock, and add email=investor check #1647 (@jamescowens) - Fix help message of two RPC methods #1656 (@div72) - Fix legacy accrual for newbie with non-zero past reward #1667 (@cyrossignol) - Fix GUI autostart on Windows for paths with wide characters #1670 (@cyrossignol) - Qualify boost bind placeholders with their full namespace #1672 (@Ponce) - Fix suffix when copying txids #1677 (@div72) - Unnecessary if-statement removed #1685 (@Pythonix) - Fix consolidatemsunspent Help Message #1687 (@Pythonix) - Fix gettransaction help message #1691 (@Pythonix) - Fix GetNewMint To Look for Stakes #1692 (@RoboticMind) - Suppress deprecated copy warnings for Qt with GCC 9+ #1702 (@cyrossignol) - Fix exclusion error on stats processing and misplaced ENDLOCK logging entry #1710 (@jamescowens) - Removed unnecessary comparison #1708 (@Pythonix) - Fixed typo #1707 (@Pythonix) - Fix out-of-bounds exception for peers tab version slashes #1713 (@cyrossignol) - Fix transition for v1 superblocks when reorganizing #1714 (@cyrossignol) - Touch up transition to version 2 transactions #1715 (@cyrossignol) - Avoid mutating transactions in ConnectBlock() #1716 (@cyrossignol) - Skip beacon advertisement when already pending #1726 (@cyrossignol) - Fix Windows cross-compilation in newer environments #1728 (@cyrossignol) - Fix out-of-bounds access in IsMineInner() #1736 (@cyrossignol) - Fix a couple of block version 11 issues #1738 (@cyrossignol) - Fix null pointer dereference in GUI researcher model #1741 (@cyrossignol) - accrual: Reset research accounts when rebuilding accrual snapshots #1745 (@cyrossignol) - scraper: Correct update for verified beacons #1747 (@jamescowens) - accrual: Refactor tally initialization for snapshot rebuild #1749 (@cyrossignol) - rpc: Fix "cpid" field in "beaconconvergence" RPC output #1750 (@cyrossignol) - accrual: Fix snapshot accrual superblock state transitions #1752 (@cyrossignol) - scraper: Correct stale verified beacon logic #1753 (@jamescowens) - rpc: Correct possible divide by zero in getblockstats #1755 (@jamescowens) - gui: Fix issues with researcher wizard flow #1756 (@cyrossignol) - wallet: Stop Error When Starting From Zero #1759 (@RoboticMind) - Don't count empty email as explicit investor #1761 (@cyrossignol) - accrual: Fix snapshot accrual superblock state transitions #1764 (@cyrossignol) - rpc: Cleanup Help Message and Fix Typo #1771 (@RoboticMind) - scraper: Fix scraper etag header case sensitivity #1773 (@cyrossignol) - consensus: Use explicit time to check if superblock needed #1774 (@cyrossignol) - gui: Fix scroll area dark theme styles #1785 (@cyrossignol) - rpc, gui: Fix three divide by zero possibilities #1789 (@jamescowens) - rpc: Fix balance pre-check in "rainbymagnitude" RPC #1792 (@cyrossignol) - accrual: Fix outdated comment and correct grammar #1800 (@RoboticMind) - gui: Fix stuck cursor on labels #1801 (@div72) - beacon: Fix research wizard beacon renewal status #1805 (@cyrossignol) - gui: Fix translations for port numbers #1818 (@cyrossignol) - util: Create parent directory #1821 (@div72) - mining: Fix coinstake/claim signature order #1828 (@cyrossignol) - voting: Remove double increment in loop #1831 (@cyrossignol) - neuralnet, scraper: Fix compilation with gcc5 and older libcurl #1832 (@a123b) - wallet: Fix smallest coin selection for contracts #1841 (@cyrossignol) - gui: Fix display of polls with no votes yet #1844 (@cyrossignol) - gui: add indentation to diagnostic status bar labels #1849 (@jamescowens) - voting, gui: Fix formatting and alignment of vote shares and percent #1850 (@jamescowens) - wallet, rpc: Fix for self-transactions in listtransactions #1852 (@jamescowens) - accrual: Clear any accrual snapshots when syncing from pre-v11 #1853 (@cyrossignol) - accrual: Fix reset of accrual directory if starting sync below research age height #1857 (@jamescowens) - gui: Fix researcher wizard layout on macOS with native theme #1860 (@cyrossignol)
2 parents 0c0379e + 98d5f66 commit 19e30fa

File tree

594 files changed

+63238
-27993
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

594 files changed

+63238
-27993
lines changed

.travis.yml

+109-61
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,119 @@
1-
sudo: required
1+
# Travis caches can be manually removed if necessary. This is one of the very
2+
# few manual operations that is possible with Travis, and it can be done by a
3+
# gridcoin-community GitHub member via the Travis web interface [0].
4+
#
5+
# Travis CI uploads the cache after the script phase of the build [1].
6+
# However, the build is terminated without saving the cache if it takes over
7+
# 50 minutes [2]. Thus, if we spent too much time in early build stages, fail
8+
# with an error and save the cache.
9+
#
10+
# [0] https://travis-ci.org/gridcoin-community/Gridcoin-Research/caches
11+
# [1] https://docs.travis-ci.com/user/caching/#build-phases
12+
# [2] https://docs.travis-ci.com/user/customizing-the-build#build-timeouts
13+
14+
version: ~> 1.0
15+
216
dist: bionic
317
os: linux
4-
language: minimal
18+
language: shell
19+
arch: amd64
520
cache:
21+
ccache: true
622
directories:
7-
- depends/built
8-
- depends/sdk-sources
9-
- $HOME/.ccache
23+
- $TRAVIS_BUILD_DIR/depends/built
24+
- $TRAVIS_BUILD_DIR/depends/sdk-sources
25+
- $TRAVIS_BUILD_DIR/ci/scratch/.ccache
26+
- $TRAVIS_BUILD_DIR/releases/$HOST
27+
stages:
28+
- test
1029
env:
1130
global:
12-
- MAKEJOBS=-j3
13-
- RUN_TESTS=true
14-
- CHECK_DOC=0
15-
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
16-
- CCACHE_SIZE=100M
17-
- CCACHE_TEMPDIR=/tmp/.ccache-temp
18-
- CCACHE_COMPRESS=1
19-
- BASE_OUTDIR=$TRAVIS_BUILD_DIR/out
20-
- SDK_URL=https://bitcoincore.org/depends-sources/sdks
21-
- PYTHON_DEBUG=1
22-
- WINEDEBUG=fixme-all
23-
matrix:
24-
# ARM
25-
- HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf zlib1g-dev" GCCFLAGS="-fPIC" DEP_OPTS="NO_QT=1" CHECK_DOC=1 GOAL="install" GRIDCOIN_CONFIG="--enable-glibc-back-compat --disable-tests RUN_TESTS=false"
26-
# Win32
27-
- HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.6" RUN_TESTS=false GOAL="" GRIDCOIN_CONFIG="--enable-reduce-exports"
28-
# Qt5 & system libs
29-
- HOST=x86_64-unknown-linux-gnu PACKAGES="libqt5gui5 libqt5core5a qtbase5-dev libqt5dbus5 qttools5-dev qttools5-dev-tools libqt5charts5-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-iostreams-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev protobuf-compiler libqrencode-dev xvfb zlib1g-dev" NO_DEPENDS=1 NEED_XVFB=1 RUN_TESTS=true GOAL="install" GRIDCOIN_CONFIG=" --with-incompatible-bdb --enable-reduce-exports --with-gui=qt5"
30-
# 32-bit + dash
31-
- HOST=i686-pc-linux-gnu PACKAGES="g++-multilib" DEP_OPTS="NO_QT=1" RUN_TESTS=false GOAL="install" GRIDCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash"
32-
# Win64
33-
- HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" PACKAGES="gcc-7 python3 nsis g++-mingw-w64-x86-64 wine1.6 xvfb" DEP_OPTS="NO_QT=1" RUN_TESTS=false GOAL="" GRIDCOIN_CONFIG="--enable-reduce-exports" NEED_XVFB=1
34-
# Cross-Mac - disabled for now, since we cannot compile QtSVG with the SDK
35-
#- HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev" GRIDCOIN_CONFIG="--enable-gui --enable-reduce-exports" OSX_SDK=10.11 RUN_TESTS=false GOAL="deploy"
36-
31+
- CI_RETRY_EXE="travis_retry"
32+
- CACHE_ERR_MSG="Error! Initial build successful, but not enough time remains to run later build stages and tests. See https://docs.travis-ci.com/user/customizing-the-build#build-timeouts . Please manually re-run this job by using the travis restart button. The next run should not time out because the build cache has been saved."
3733
before_install:
38-
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
39-
#- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
40-
- sudo apt-get update -q
41-
#- sudo apt-get install gcc-7 -y
42-
#- sudo apt-get install gcc-5-arm-linux-gnueabihf -y
34+
- set -o errexit; source ./ci/test/00_setup_env.sh
35+
- set -o errexit; source ./ci/test/03_before_install.sh
4336
install:
44-
- if [ -n "$DPKG_ADD_ARCH" ]; then sudo dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi
45-
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi
46-
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
37+
- set -o errexit; source ./ci/test/04_install.sh
4738
before_script:
48-
- if [ "$HOST" == "i686-w64-mingw32" ]; then sudo update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix; fi
49-
- if [ "$HOST" == "x86_64-w64-mingw32" ]; then sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix; fi
50-
- unset CC; unset CXX
51-
- mkdir -p depends/SDKs depends/sdk-sources
52-
- if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
53-
- if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
54-
- if [ -z "$NO_DEPENDS" ]; then make $MAKEJOBS -C depends HOST=$HOST GCCFLAGS=$GCCFLAGS $DEP_OPTS; fi
55-
# Start xvfb if needed, as documented at https://docs.travis-ci.com/user/gui-and-headless-browsers/#Using-xvfb-to-Run-Tests-That-Require-a-GUI
56-
- if [ "$NEED_XVFB" = 1 ]; then export DISPLAY=:99.0; /sbin/start-stop-daemon --start --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac; fi
39+
# Temporary workaround for https://github.com/bitcoin/bitcoin/issues/16368
40+
- for i in {1..4}; do echo "$(sleep 500)" ; done &
41+
- set -o errexit; source ./ci/test/05_before_script.sh # &> "/dev/null"
5742
script:
58-
- if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi
59-
- OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
60-
- GRIDCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
61-
- if [ -z "$NO_DEPENDS" ]; then depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE; fi
62-
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
63-
- mkdir build && cd build
64-
- ../configure --cache-file=config.cache $GRIDCOIN_CONFIG_ALL $GRIDCOIN_CONFIG || ( cat config.log && false)
65-
- make distdir VERSION=$HOST
66-
- cd gridcoin-$HOST
67-
- ./configure --cache-file=../config.cache $GRIDCOIN_CONFIG_ALL $GRIDCOIN_CONFIG || ( cat config.log && false)
68-
- make GCCFLAGS=$GCCFLAGS $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make GCCFLAGS=$GCCFLAGS $GOAL V=1 ; false )
69-
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
70-
- if [ "$HOST" = "x86_64-unknown-linux-gnu" ]; then travis_wait 30 make $MAKEJOBS check VERBOSE=1; fi
71-
- if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then extended="--extended --exclude pruning,dbcrash"; fi
43+
- export CONTINUE=1
44+
- if [ $SECONDS -gt 1200 ]; then export CONTINUE=0; fi # Likely the depends build took very long
45+
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_a.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
46+
- if [ $SECONDS -gt 2000 ]; then export CONTINUE=0; fi # Likely the build took very long; The tests take about 1000s, so we should abort if we have less than 50*60-1000=2000s left
47+
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_b.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
48+
after_script:
49+
- echo $TRAVIS_COMMIT_RANGE
50+
jobs:
51+
fast_finish: true
52+
allow_failures:
53+
- stage: lint
54+
55+
include:
56+
- stage: lint
57+
name: 'lint'
58+
env:
59+
cache: pip
60+
language: python
61+
python: '3.5'
62+
install:
63+
- set -o errexit; source ./ci/lint/04_install.sh
64+
before_script:
65+
- set -o errexit; source ./ci/lint/05_before_script.sh
66+
script:
67+
- set -o errexit; source ./ci/lint/06_script.sh
68+
69+
- stage: test
70+
name: 'ARM [GOAL: install] [buster]'
71+
arch: arm64 # Can disable QEMU_USER_CMD and run the tests natively without qemu
72+
env: >-
73+
FILE_ENV="./ci/test/00_setup_env_arm.sh"
74+
QEMU_USER_CMD=""
75+
76+
- stage: test
77+
name: 'Win32'
78+
env: >-
79+
FILE_ENV="./ci/test/00_setup_env_win32.sh"
80+
81+
- stage: test
82+
name: 'Win64'
83+
env: >-
84+
FILE_ENV="./ci/test/00_setup_env_win64.sh"
85+
86+
- stage: test
87+
name: 'i386 Linux [GOAL: install] [focal]'
88+
env: >-
89+
FILE_ENV="./ci/test/00_setup_env_linux_i386.sh"
90+
91+
- stage: test
92+
name: 'x86_64 Linux [GOAL: install] [GUI] [focal] [no depends]'
93+
env: >-
94+
FILE_ENV="./ci/test/00_setup_env_native.sh"
95+
96+
- stage: test
97+
name: 'macOS 10.12 [no tests]'
98+
env: >-
99+
FILE_ENV="./ci/test/00_setup_env_mac.sh"
100+
101+
- stage: test
102+
name: 'macOS 10.15 native [GOAL: install] [GUI] [no depends]'
103+
os: osx
104+
# Use the most recent version:
105+
# Xcode 12.0, macOS 10.15, SDK 10.16
106+
# https://docs.travis-ci.com/user/reference/osx/#macos-version
107+
osx_image: xcode12
108+
addons:
109+
homebrew:
110+
packages:
111+
- berkeley-db4
112+
- miniupnpc
113+
- qrencode
114+
- ccache
115+
- libzip
116+
env: >-
117+
DANGER_RUN_CI_ON_HOST=true
118+
CI_USE_APT_INSTALL=no
119+
FILE_ENV="./ci/test/00_setup_env_mac_host.sh"

0 commit comments

Comments
 (0)