@@ -17,34 +17,59 @@ jobs:
1717 matrix :
1818 ruby : ["3.1", "3.2", "3.3", "3.4"]
1919
20- services :
21- postgres :
22- image : postgres
23- env :
24- POSTGRES_USER : root
25- POSTGRES_HOST_AUTH_METHOD : trust
26- options : >-
27- --health-cmd pg_isready
28- --health-interval 10s
29- --health-timeout 5s
30- --health-retries 5
31- ports :
32- - 5432:5432
3320 env :
34- PGHOST : localhost
35- PGUSER : root
36-
21+ PGHOST : pg
22+ PGUSER : user
23+ PGPASSWORD : pass
3724 steps :
38- - uses : actions/checkout@v2
25+ - uses : actions/checkout@v4
26+
27+ - name : Create docker network
28+ run : docker network create dbnet
29+
30+ - name : Start PostgreSQL
31+ run : |
32+ docker run -d \
33+ --name pg \
34+ --network dbnet \
35+ -e POSTGRES_PASSWORD=pass \
36+ -e POSTGRES_USER=user \
37+ -e POSTGRES_DB=umbrellio_utils_test \
38+ -p 5432:5432 \
39+ postgres:14
40+
41+ - name : Start ClickHouse
42+ run : |
43+ docker run -d \
44+ --name ch \
45+ --network dbnet \
46+ -e CLICKHOUSE_SKIP_USER_SETUP=1 -e CLICKHOUSE_DB=umbrellio_utils_test \
47+ -p 9000:9000 -p 8123:8123 \
48+ -v ${{ github.workspace }}/.github/clickhouse/clickhouse_keeper.xml:/etc/clickhouse-server/config.d/keeper.xml \
49+ clickhouse/clickhouse-server:25.3.6.56-alpine
50+
51+ - name : Wait for Postgres
52+ run : |
53+ for i in {1..30}; do
54+ if docker exec pg pg_isready -U user; then exit 0; fi
55+ sleep 1
56+ done
57+ exit 1
58+
59+ - name : Wait for ClickHouse
60+ run : |
61+ for i in {1..30}; do
62+ if docker exec ch clickhouse-client --query "SELECT 1"; then exit 0; fi
63+ sleep 1
64+ done
65+ exit 1
3966
4067 - uses : ruby/setup-ruby@v1
4168 with :
4269 ruby-version : ${{ matrix.ruby }}
4370 rubygems : latest
4471 bundler-cache : true
4572
46- - run : psql -c 'CREATE DATABASE umbrellio_utils_test'
47-
4873 - name : Run Linter
4974 run : bundle exec ci-helper RubocopLint
5075
0 commit comments