Embedded Pg v1.0.1 (#4567)

* Embedded Pg v1.0.1

* fix GitHub action evironment

* fix Windows CI tests

* test db-commons in different environments

* remove dbCommontTest from Windows and Mac Github actions

* cleanup

* configurable postgres startup wait

* Empty commit to run CI

* Bump default timeout to 60

* Empty commit

Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
This commit is contained in:
rorp 2022-08-06 05:30:26 -07:00 committed by GitHub
parent ed4e332cef
commit 0404cffe26
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 21 additions and 8 deletions

View file

@ -10,6 +10,8 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
if: "! contains(github.event.pull_request.labels.*.name, 'documentation')"
env:
PG_STARTUP_WAIT: "60"
steps:
- name: Checkout
uses: actions/checkout@v2
@ -30,4 +32,4 @@ jobs:
~/.bitcoin-s/binaries
key: ${{ runner.os }}-cache
- name: run tests
run: sbt ++2.12.15 coverage chainTest/test chain/coverageReport chain/coverageAggregate chain/coveralls cryptoJVM/test cryptoTestJVM/test cryptoJVM/coverageReport cryptoJVM/coverageAggregate cryptoJVM/coveralls coreTestJVM/test dlcTest/test coreJVM/coverageReport coreJVM/coverageAggregate coreJVM/coveralls secp256k1jni/test zmq/test zmq/coverageReport zmq/coverageAggregate zmq/coveralls appCommonsTest/test appServerTest/test oracleServerTest/test lnurlTest/test
run: sbt ++2.12.15 coverage dbCommonsTest/test chainTest/test chain/coverageReport chain/coverageAggregate chain/coveralls cryptoJVM/test cryptoTestJVM/test cryptoJVM/coverageReport cryptoJVM/coverageAggregate cryptoJVM/coveralls coreTestJVM/test dlcTest/test coreJVM/coverageReport coreJVM/coverageAggregate coreJVM/coveralls secp256k1jni/test zmq/test zmq/coverageReport zmq/coverageAggregate zmq/coveralls appCommonsTest/test appServerTest/test oracleServerTest/test lnurlTest/test

View file

@ -10,6 +10,8 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
if: "! contains(github.event.pull_request.labels.*.name, 'documentation')"
env:
PG_STARTUP_WAIT: "60"
steps:
- name: Checkout
uses: actions/checkout@v2
@ -30,4 +32,4 @@ jobs:
~/.bitcoin-s/binaries
key: ${{ runner.os }}-cache
- name: run tests
run: sbt ++2.13.8 coverage chainTest/test chain/coverageReport chain/coverageAggregate chain/coveralls cryptoTestJVM/test cryptoJVM/test cryptoJVM/coverageReport cryptoJVM/coverageAggregate cryptoJVM/coveralls coreTestJVM/test dlcTest/test coreJVM/coverageReport coreJVM/coverageAggregate coreJVM/coveralls secp256k1jni/test zmq/test zmq/coverageReport zmq/coverageAggregate zmq/coveralls appCommonsTest/test appServerTest/test oracleServerTest/test lnurlTest/test
run: sbt ++2.13.8 coverage dbCommonsTest/test chainTest/test chain/coverageReport chain/coverageAggregate chain/coveralls cryptoTestJVM/test cryptoJVM/test cryptoJVM/coverageReport cryptoJVM/coverageAggregate cryptoJVM/coveralls coreTestJVM/test dlcTest/test coreJVM/coverageReport coreJVM/coverageAggregate coreJVM/coveralls secp256k1jni/test zmq/test zmq/coverageReport zmq/coverageAggregate zmq/coveralls appCommonsTest/test appServerTest/test oracleServerTest/test lnurlTest/test

View file

@ -12,6 +12,8 @@ jobs:
if: "! contains(github.event.pull_request.labels.*.name, 'documentation')"
env:
PG_ENABLED: "1"
PG_STARTUP_WAIT: "60"
TESTCONTAINERS_HOST_OVERRIDE: "localhost"
steps:
- name: Checkout
uses: actions/checkout@v2
@ -32,4 +34,4 @@ jobs:
~/.bitcoin-s/binaries
key: ${{ runner.os }}-cache
- name: run tests
run: sbt ++2.13.8 dbCommonsTest/test walletTest/test dlcWalletTest/test chainTest/test nodeTest/test dlcOracle/test
run: sbt ++2.13.8 dbCommonsTest/test walletTest/test dlcWalletTest/test chainTest/test nodeTest/test dlcOracleTest/test

View file

@ -9,6 +9,8 @@ jobs:
test:
runs-on: windows-latest
timeout-minutes: 60
env:
TESTCONTAINERS_HOST_OVERRIDE: "localhost"
if: "! contains(github.event.pull_request.labels.*.name, 'documentation')"
steps:
- name: Configure git
@ -33,5 +35,5 @@ jobs:
~/.bitcoin-s/binaries
key: ${{ runner.os }}-cache
- name: Windows Crypto, Core, and Database tests
run: sbt ++2.13.8 cryptoTestJVM/test coreTestJVM/test secp256k1jni/test dlcTest/test appCommonsTest/test dbCommonsTest/test asyncUtilsTestJVM/test asyncUtilsTestJS/test appServerTest/test
run: sbt ++2.13.8 cryptoTestJVM/test coreTestJVM/test secp256k1jni/test dlcTest/test appCommonsTest/test asyncUtilsTestJVM/test asyncUtilsTestJS/test appServerTest/test
shell: bash

View file

@ -208,7 +208,9 @@ class NeutrinoNodeWithWalletTest extends NodeTestWithCachedBitcoindNewest {
_ = assert(!rescan)
_ <- wallet.fullRescanNeutrinoWallet(addressBatchSize = 7)
_ <- AsyncUtil.awaitConditionF(condition)
_ <- AsyncUtil.awaitConditionF(condition,
maxTries = 200,
interval = 200.millis)
} yield succeed
}

View file

@ -45,7 +45,7 @@ object Deps {
val scalameterV = "0.17"
val scalamockV = "5.2.0"
val scalaCollectionCompatV = "2.6.0"
val pgEmbeddedV = "0.13.4"
val pgEmbeddedV = "1.0.1"
val breezeV = "1.3"

View file

@ -23,8 +23,10 @@ trait EmbeddedPg extends BeforeAndAfterAll { this: Suite =>
lazy val pg: Option[EmbeddedPostgres] = {
if (pgEnabled) {
val pgStartupWait = sys.env.getOrElse("PG_STARTUP_WAIT", "60").toInt
val p = EmbeddedPostgres
.builder()
.setPGStartupWait(java.time.Duration.ofSeconds(pgStartupWait))
.setServerConfig("max_connections", "25")
.setServerConfig("shared_buffers", "1MB")
.start()
@ -35,7 +37,7 @@ trait EmbeddedPg extends BeforeAndAfterAll { this: Suite =>
}
def pgUrl(): Option[String] =
pg.map(_.getJdbcUrl(userName = "postgres", dbName = "postgres"))
pg.map(_.getJdbcUrl("postgres"))
override def afterAll(): Unit = {
super.afterAll()
@ -58,7 +60,7 @@ trait EmbeddedPg extends BeforeAndAfterAll { this: Suite =>
} finally conn.close()
} catch {
case ex: Throwable =>
println(sql)
System.err.println(sql)
ex.printStackTrace()
}
}

View file

@ -72,6 +72,7 @@ trait WalletDAOFixture extends BitcoinSFixture with EmbeddedPg {
private def dropAll(): Future[Unit] = {
val res = for {
_ <- FutureUtil.sequentially(daos.list.reverse)(dao => dao.deleteAll())
_ = config.clean()
} yield ()
res.failed.foreach(_.printStackTrace())
res