@@ -40,57 +40,13 @@ jobs:
4040 fail-fast : false
4141 matrix :
4242 # https://www.cockroachlabs.com/docs/releases/release-support-policy
43- crdb : [v24.1, v24. 3, v25.1, v25.2]
43+ crdb : [v24.3, v25.1, v25.2, v25.3 ]
4444 ruby : ["3.4"]
45- name : Test (crdb=${{ matrix.crdb }} ruby=${{ matrix.ruby }})
45+ name : Test (crdb=${{ matrix.crdb }} ruby=${{ matrix.ruby }}
4646 steps :
4747 - name : Set Up Actions
4848 uses : actions/checkout@v4
49- - name : Install GEOS
50- run : sudo apt-get install -yqq libgeos-dev
51- - name : Set Up Ruby
52- uses : ruby/setup-ruby@v1
49+ - uses : ./.github/actions/test-runner
5350 with :
54- ruby-version : ${{ matrix.ruby }}
55- bundler-cache : true
56- - name : Show Rails version
57- run : bundle info rails
58- - name : Install and Start Cockroachdb
59- run : |
60- # Download CockroachDB
61- readonly full_version=$(ruby -rnet/http -ruri -ryaml -e '
62- link = "https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/_data/releases.yml"
63- puts YAML.safe_load(Net::HTTP.get(URI(link))).reverse.find {
64- _1["major_version"] == "${{ matrix.crdb }}" &&
65- _1["release_type"] == "Production" &&
66- !_1["cloud_only"] &&
67- !_1["withdrawn"] &&
68- !_1["release_name"].include?("-") # Pre-release
69- }["release_name"]
70- ')
71-
72- echo "Downloading $full_version..."
73- wget -qO- "https://binaries.cockroachdb.com/cockroach-$full_version.linux-amd64.tgz" | tar xvz
74-
75- export PATH=./cockroach-$full_version.linux-amd64/:$PATH
76- readonly urlfile=cockroach-url
77-
78- # Start a CockroachDB server and wait for it to become ready.
79- rm -f "$urlfile"
80- rm -rf cockroach-data
81- # Start CockroachDB.
82- cockroach start-single-node --max-sql-memory=25% --cache=25% --insecure --host=localhost --spatial-libs=./cockroach-$full_version.linux-amd64/lib --listening-url-file="$urlfile" >/dev/null 2>&1 &
83- # Ensure CockroachDB is stopped on script exit.
84- # Wait until CockroachDB has started.
85- for i in {0..3}; do
86- [[ -f "$urlfile" ]] && break
87- backoff=$((2 ** i))
88- echo "server not yet available; sleeping for $backoff seconds"
89- sleep $backoff
90- done
91- cat ${{ github.workspace }}/setup.sql | cockroach sql --insecure
92- - name : Test
93- run : bundle exec rake test
94- env :
95- TESTOPTS : " --profile=5"
96- RAILS_MINITEST_PLUGIN : " 1" # Make sure that we use the minitest plugin for profiling.
51+ crdb : ${{ matrix.crdb }}
52+ ruby : ${{ matrix.ruby }}
0 commit comments