Commit Graph

42 Commits

Author SHA1 Message Date
Florian Reimair
f4a60d80fc
Remove Slack notification in travis build 2020-09-01 09:42:33 +02:00
Chris Beams
51fc2710ad
Track p2p data store files using Git LFS
The large binary objects in p2p/src/main/resources/ are updated on every
Bisq release with the latest network data to avoid the need for new Bisq
clients to download all of this information from the network, which
would easily overload seed nodes and generally bog down the client.

This approach works well enough for its purposes, but comes with the
significant downside of storing all of this binary data in Git history
forever. The current version of these binary objects total about 65M,
and they grow with every release. In aggregate, this has caused the
total size of the repository to grow to 360M, making it cumbersome to
clone over a low-bandwith connection, and slowing down various local Git
operations.

To avoid further exacerbating this problem, this commit sets these files
up to be tracked via Git LFS. There's nothing we can do about the 360M
of files that already exist in history, but we can ensure it doesn't
grow in this unchecked way going forward. For an understanding of how
Git LFS works, see the reference material at [1], and see also the
sample project and README at [2].

The following command was used to track the files:

    $ git lfs track "p2p/src/main/resources/*BTC_MAINNET"
    Tracking "p2p/src/main/resources/AccountAgeWitnessStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/BlindVoteStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/DaoStateStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/ProposalStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/SignedWitnessStore_BTC_MAINNET"
    Tracking "p2p/src/main/resources/TradeStatistics2Store_BTC_MAINNET"

We are using GitHub's built-in LFS service here, and it's important to
understand that there are storage and bandwidth limits there. We have
1G total storage and 1G per month of bandwidth on the free tier. We will
certainly exceed this, and so must purchase at least one "data pack"
from GitHub, possibly two. One gets us to 50G storage and bandwith.

In an attempt to avoid unnecessary LFS bandwidth usage, this commit also
updates the Travis CI build configuration to cache Git LFS files, such
that they are not re-downloaded on every CI build (see [3] and [4]
below). With that out of the way, the variable determining whether we
exceed the monthly limit is how many clones we have every month, and
there are many, though it's not clear how many are are Travis CI and how
many are users / developers.

Tracking these files via LFS means that developers will need to have Git
LFS installed in order to properly synchronize the files. If a developer
does not have LFS installed, cloning will complete successfully and the
build would complete successfully, but the app would fail when trying to
actually load the p2p data store files. For this reason, the build has
been updated to proactively check that the p2p data store files have
been properly synchronized via LFS, and if not, the build fails with a
helpful error message. The docs/build.md instructions have also been
updated accordingly.

It is important that we make this change now, not only to avoid growing
the repository in the way described above as we have been doing now for
many releases, but also because we are now considering adding yet more
binary objects to the repository, as proposed at
https://github.com/bisq-network/projects/issues/25.

[1]: https://git-lfs.github.com
[2]: https://github.com/cbeams/lfs-test
[3]: https://docs-staging.travis-ci.com/user/customizing-the-build/#git-lfs
[4]: https://github.com/travis-ci/travis-ci/issues/8787#issuecomment-394202791
2020-04-29 12:10:11 +02:00
Christoph Sturm
9e17f812ce Reformat travis config 2019-08-27 10:44:14 +02:00
Christoph Sturm
c5866eff80 Also run tests on jdk12 2019-08-27 10:42:46 +02:00
Bernard Labno
9a85e67d48
Sort assets 2019-01-11 13:17:21 +01:00
Devin Bileck
48c196b5d1
Switch to OpenJDK10 in Gradle builds
Oracle JDK10 is EOL and is no longer available for download.
So switch to OpenJDK10 in Gradle builds.
2018-10-19 15:46:01 -07:00
Christoph Atteneder
40eadcc6e9
Merge branch 'master' into java10-support 2018-09-14 16:05:16 +02:00
Chris Beams
9ec47d2292
Check bisq.asset.Asset sort order during CI
This check had been set up for some time in the original
bisq-network/bisq-assets repository.
2018-09-13 08:06:37 +02:00
Christoph Atteneder
5d239711da
Update travis Java version 2018-09-07 13:04:15 +02:00
Chris Beams
917d27da6b
Revert "Enable Travis CI Gradle dependency caching"
This reverts commit 92ec88f1fc.
2018-04-05 10:59:01 +02:00
Chris Beams
92ec88f1fc
Enable Travis CI Gradle dependency caching
Per https://docs.travis-ci.com/user/languages/java/#Caching
2018-03-22 11:27:51 +01:00
Chris Beams
fb12bbf119
Fix syntax error in Travis CI config 2018-03-15 09:26:26 +01:00
Chris Beams
e8048b8ae1
Reduce Travis CI Slack notification frequency
Per https://docs.travis-ci.com/user/notifications/#Configuring-Slack-notifications
the default setting for Travis Slack notifications is to send a message
on every successful build. This commit changes this frequency, such that
notifications are always sent when builds fail and only sent when builds succeed
after a previous failure.
2018-03-15 08:44:19 +01:00
Chris Beams
6cef0ffb94
Update Travis CI Slack notification config
The configuration was still set up to send notifications to #bisq-core.
Now it will send them to #bisq-desktop.
2018-03-10 22:05:38 +01:00
Chris Beams
ed0148bfee
Enable running tests in Travis CI
This change removes the custom `script` command, falling back to Travis
CI's default Maven script command, which, per [1] is:

    mvn test -B

The effect is that tests should now be run, which is particularly useful
for incoming pull requests.

See https://github.com/bisq-network/exchange/pull/1309#issuecomment-363776458
for context.

[1]: https://docs.travis-ci.com/user/languages/java/#Maven-Default-Script-Command
2018-02-08 13:30:54 +01:00
Chris Beams
ae05c015b9
Consume custom bitcoinj/libdojh/btcd deps via JitPack (#899)
This change removes the need to clone and build bisq's forks of
bitcoinj, libdohj and btcd-cli4j in order to build bisq itself.
2017-08-09 12:13:47 +02:00
Chris Beams
3f19fe3065
Send Travis success notifications to Slack only on status change (#898)
Previously every successful build was triggering a notification to be
sent to Slack, and this is too noisy.
2017-08-09 10:27:10 +02:00
Chris Beams
145bce6bf3
Send Travis CI notifications to Slack (#898)
Per instructions at
https://docs.travis-ci.com/user/notifications#Configuring-slack-notifications
2017-08-09 10:08:42 +02:00
Chris Beams
9c0469eb7e
Polish .travis.yml formatting 2017-08-09 10:08:42 +02:00
Chris Beams
f7a8fd19f0
Remove commented-out Travis IRC notification config 2017-08-09 10:08:42 +02:00
cedric.walter
46aaa7c51e switch off again tests 2017-07-10 20:17:02 +02:00
cedric.walter
3b78932866 activating tests 2017-07-06 23:08:14 +02:00
cedric.walter
576956b588 also now building bitsquare main code 2017-07-06 23:03:18 +02:00
cedric.walter
8760a86a2d added code to build dependent projects using travis install capabilities 2017-07-06 22:59:31 +02:00
cedric.walter
eb675d811e changed maven phase to test 2017-07-06 22:44:31 +02:00
cedric.walter
b193c25da4 added code to fix travis build 2017-07-06 22:38:23 +02:00
Manfred Karrer
4d82467fa3 deactivate travis as it does not work anymore with javaFX 2015-11-03 17:28:04 +01:00
Manfred Karrer
b906aa18a5 revert to old travis file (sudo) 2015-11-03 16:45:18 +01:00
Manfred Karrer
c7d980d258 update travis 2015-11-03 16:33:13 +01:00
Manfred Karrer
716c367a54 update travis, ignore failing test (which works locally) 2015-11-03 15:46:11 +01:00
Manfred Karrer
93c79af125 Update travis file for IRC notifications 2015-05-05 03:32:43 +02:00
Manfred Karrer
e9c9834733 Add travis file 2015-05-05 03:05:15 +02:00
Manfred Karrer
6b4f528f47 UpdateFX with maven build (tested only on mac) 2015-02-27 23:47:23 +01:00
Chris Beams
c5809a97d8
Use Xvfb to avoid 'cannot open display' warnings
Builds began failing on Travis CI with the following message:

    Gtk-WARNING **: cannot open display:

This is because of tests like ViewLoaderTest, which now initialize the
JavaFX toolkit and expect a display in the process. This change starts
an Xvfb server (conveniently already available under Travis CI) in order
to provide a lightweight X11 environment and eliminate this problem.
2014-11-05 01:41:14 +01:00
Chris Beams
093759a21d Revert "Work around outdated OracleJDK8 on Travis CI server"
This reverts commit 153eb5326b, removing
now that Travis CI is running 8u25 by default. See
http://blog.travis-ci.com/2014-10-30-november--build-environment-updates
2014-11-05 00:51:22 +01:00
Chris Beams
43cf337fe4
Support code coverage using JaCoCo and Coveralls
The Gradle build now supports generating code coverage reports using
JaCoCo. The reports can be run with:

    ./gradle jacocoTestReport

and then view the HTML output at:

    build/reports/jacoco/test/html/index.html

The bitsquare repository has now also been registered with a (free)
account at http://coveralls.io. Our Travis CI configuration has been
updated to publish JaCoCo XML test report data to coveralls.io, which
results in the reports found at:

 - https://coveralls.io/r/bitsquare/bitsquare

For more information on the JaCoCo and Coveralls Gradle plugins, see:

 - http://www.gradle.org/docs/current/userguide/jacoco_plugin.html
 - https://github.com/kt3k/coveralls-gradle-plugin
2014-11-03 13:56:14 +01:00
Chris Beams
153eb5326b
Work around outdated OracleJDK8 on Travis CI server
The Gradle JavaFX plugin requires Oracle JDK 8u20 or better. Travis CI
currently runs something older, and does not have a roadmap for
upgrading. This commit instructs the Travis CI VM to install JDK 8u20
via `apt` prior to actually beginning the build.

See #66
2014-10-03 18:35:58 +02:00
Chris Beams
2a4f6bc5ea
Update Travis IRC notifications
- Send notifications to #bitsquare instead of #bitsquare.io
 - Skip join to cut down on noise (now that -n flag has been removed)
 - Only notify on failures and first success

See #86
2014-09-29 10:38:07 +02:00
Chris Beams
5799381658
Fix typo in Travis IRC notification template
See #86
2014-09-29 10:05:04 +02:00
Chris Beams
a4a433fa64
Set skip_join to false in Travis IRC config
Per http://docs.travis-ci.com/user/notifications/#IRC-notification.

Bypassing joining the room cuts down on login/logout noise in the IRC
channel. But because #bitsquare.io currently has the -n flag set we
need to explicitly log in.

See #86
2014-09-29 09:53:17 +02:00
Chris Beams
fa6d916296
Publish CI build notifications to IRC
See #86
2014-09-29 09:43:05 +02:00
Chris Beams
c744fa21df
Enable Travis CI build
Per instructions at http://docs.travis-ci.com/user/getting-started.
See https://travis-ci.org/bitsquare/bitsquare

Resolves #86
2014-09-29 09:28:11 +02:00