@@ -37,15 +37,17 @@ jobs:
3737 test :
3838 runs-on : ubuntu-latest
3939 strategy :
40+ fail-fast : false
4041 matrix :
41- crdb : [v23.1.11]
42+ # https://www.cockroachlabs.com/docs/releases/release-support-policy
43+ crdb : [v22.2, v23.1, v23.2]
4244 ruby : [head]
4345 name : Test (crdb=${{ matrix.crdb }} ruby=${{ matrix.ruby }})
4446 steps :
4547 - name : Set Up Actions
4648 uses : actions/checkout@v4
4749 - name : Install GEOS
48- run : sudo apt-get install libgeos-dev
50+ run : sudo apt-get install -yqq libgeos-dev
4951 - name : Set Up Ruby
5052 uses : ruby/setup-ruby@v1
5153 with :
@@ -54,16 +56,23 @@ jobs:
5456 - name : Install and Start Cockroachdb
5557 run : |
5658 # Download CockroachDB
57- wget -qO- https://binaries.cockroachdb.com/cockroach-${{ matrix.crdb }}.linux-amd64.tgz | tar xvz
59+ readonly patch=$(
60+ ruby -rnet/http -ruri -e 'puts Net::HTTP.get(
61+ URI("https://www.cockroachlabs.com/docs/releases/${{ matrix.crdb }}")
62+ )[%r(https://binaries.cockroachdb.com/cockroach-${{ matrix.crdb }}.(\d+).linux-amd64.tgz), 1]'
63+ )
5864
59- export PATH=./cockroach-${{ matrix.crdb }}.linux-amd64/:$PATH
65+ echo "Downloading ${{ matrix.crdb }}.$patch"
66+ wget -qO- "https://binaries.cockroachdb.com/cockroach-${{ matrix.crdb }}.$patch.linux-amd64.tgz" | tar xvz
67+
68+ export PATH=./cockroach-${{ matrix.crdb }}.$patch.linux-amd64/:$PATH
6069 readonly urlfile=cockroach-url
6170
6271 # Start a CockroachDB server and wait for it to become ready.
6372 rm -f "$urlfile"
6473 rm -rf cockroach-data
6574 # Start CockroachDB.
66- cockroach start-single-node --max-sql-memory=25% --cache=25% --insecure --host=localhost --spatial-libs=./cockroach-${{ matrix.crdb }}.linux-amd64/lib --listening-url-file="$urlfile" >/dev/null 2>&1 &
75+ cockroach start-single-node --max-sql-memory=25% --cache=25% --insecure --host=localhost --spatial-libs=./cockroach-${{ matrix.crdb }}.$patch. linux-amd64/lib --listening-url-file="$urlfile" >/dev/null 2>&1 &
6776 # Ensure CockroachDB is stopped on script exit.
6877 # Wait until CockroachDB has started.
6978 for i in {0..3}; do
7281 echo "server not yet available; sleeping for $backoff seconds"
7382 sleep $backoff
7483 done
75- cockroach sql --insecure -e "
76- CREATE DATABASE activerecord_unittest;
77- CREATE DATABASE activerecord_unittest2;
78- SET CLUSTER SETTING sql.stats.automatic_collection.enabled = false;
79- SET CLUSTER SETTING sql.stats.histogram_collection.enabled = false;
80- SET CLUSTER SETTING jobs.retention_time = '180s';
81- SET CLUSTER SETTING sql.defaults.experimental_alter_column_type.enabled = 'true';
82-
83- ALTER RANGE default CONFIGURE ZONE USING num_replicas = 1, gc.ttlseconds = 30;
84- ALTER TABLE system.public.jobs CONFIGURE ZONE USING num_replicas = 1, gc.ttlseconds = 30;
85- ALTER RANGE meta CONFIGURE ZONE USING num_replicas = 1, gc.ttlseconds = 30;
86- ALTER RANGE system CONFIGURE ZONE USING num_replicas = 1, gc.ttlseconds = 30;
87- ALTER RANGE liveness CONFIGURE ZONE USING num_replicas = 1, gc.ttlseconds = 30;
88-
89- SET CLUSTER SETTING kv.range_merge.queue_interval = '50ms';
90- SET CLUSTER SETTING kv.raft_log.disable_synchronization_unsafe = 'true';
91- SET CLUSTER SETTING jobs.registry.interval.cancel = '180s';
92- SET CLUSTER SETTING jobs.registry.interval.gc = '30s';
93- SET CLUSTER SETTING kv.range_split.by_load_merge_delay = '5s';
94-
95- SET CLUSTER SETTING sql.defaults.experimental_temporary_tables.enabled = 'true';
96- "
84+ cat ${{ github.workspace }}/setup.sql | cockroach sql --insecure
9785 - name : Test
9886 run : bundle exec rake test TESTOPTS='--profile=3'
0 commit comments