Skip to content

Commit 6cbf1de

Browse files
committed
wip: trying out circleci w/ job matrix parameters
1 parent 77341a3 commit 6cbf1de

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed

.circleci/config.yml

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
version: 2.1
2+
3+
orbs:
4+
win: circleci/[email protected]
5+
6+
jobs:
7+
test_linux:
8+
parameters:
9+
ruby_version:
10+
description: "version tag for the veracross/circleci-ruby-freetds container"
11+
type: string
12+
13+
docker:
14+
- image: veracross/circleci-ruby-freetds:latest
15+
- image: metaskills/mssql-server-linux-tinytds:2017-GA
16+
17+
working_directory: ~/repo
18+
19+
steps:
20+
- checkout
21+
22+
- restore_cache:
23+
name: restore gem cache
24+
keys:
25+
- v1-bundle-<< parameters.ruby_version >>-{{ .Branch }}-{{ checksum "tiny_tds.gemspec" }}
26+
- v1-bundle-<< parameters.ruby_version >>-{{ .Branch }}-
27+
- v1-bundle-<< parameters.ruby_version >>-
28+
29+
- run:
30+
name: install dependencies
31+
command: |
32+
bundle check --path ./vendor/bundle || bundle install --jobs=3 --retry=3 --path vendor/bundle
33+
bundle clean
34+
35+
- save_cache:
36+
name: save gem cache
37+
paths:
38+
- ./vendor/bundle
39+
key: v1-bundle-<< parameters.ruby_version >>-{{ .Branch }}-{{ checksum "tiny_tds.gemspec" }}
40+
41+
- run:
42+
name: build gem
43+
command: |
44+
bundle exec rake build
45+
46+
- run:
47+
name: run tests
48+
command: |
49+
TINYTDS_UNIT_HOST=localhost bundle exec rake test
50+
51+
test_windows:
52+
parameters:
53+
ruby_version:
54+
description: "version tag for the veracross/circleci-ruby-freetds container"
55+
type: string
56+
57+
executor:
58+
name: win/default
59+
shell: powershell.exe
60+
61+
steps:
62+
- run: systeminfo
63+
64+
- run: pwd
65+
66+
- checkout
67+
68+
- restore_cache:
69+
name: restore gem cache
70+
keys:
71+
- v1-bundle-<< parameters.ruby_version >>-{{ .Branch }}-{{ checksum "tiny_tds.gemspec" }}
72+
- v1-bundle-<< parameters.ruby_version >>-{{ .Branch }}-
73+
- v1-bundle-<< parameters.ruby_version >>-
74+
75+
- run:
76+
name: install dependencies
77+
command: |
78+
bundle install --jobs=3 --retry=3 --path ./vendor/bundle
79+
bundle clean
80+
81+
- save_cache:
82+
name: save gem cache
83+
paths:
84+
- ./vendor/bundle
85+
key: v1-bundle-<< parameters.ruby_version >>-{{ .Branch }}-{{ checksum "tiny_tds.gemspec" }}
86+
87+
- run:
88+
name: build prereqs
89+
command: |
90+
bundle exec rake ports
91+
92+
- run:
93+
name: build gem
94+
command: |
95+
bundle exec rake build
96+
97+
- run:
98+
name: run tests
99+
command: |
100+
TINYTDS_UNIT_HOST=localhost bundle exec rake test
101+
102+
workflows:
103+
test_supported_ruby_versions:
104+
jobs:
105+
- test_linux:
106+
matrix:
107+
parameters:
108+
ruby_version:
109+
- '2.5.3'
110+
- '2.7'
111+
112+
- test_windows:
113+
matrix:
114+
parameters:
115+
ruby_version:
116+
- '2.5.3'
117+
- '2.7'

0 commit comments

Comments
 (0)