forked from hashicorp/vault-ruby
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.yml
82 lines (77 loc) · 2.31 KB
/
config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
version: 2.1
orbs:
gem: zfhui/[email protected]
references:
images:
ubuntu: &UBUNTU_IMAGE ubuntu-1604:201903-01
jobs:
test:
machine:
image: *UBUNTU_IMAGE
parameters:
ruby-version:
type: string
vault-version:
type: string
steps:
- checkout
# Restore bundle cache
- restore_cache:
keys:
- v1-dependencies-bundler-<< parameters.ruby-version >>-{{ checksum "vault.gemspec" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-bundler-
- run:
name: Install vault
command: |
curl -sLo vault.zip https://releases.hashicorp.com/vault/<< parameters.vault-version >>/vault_<< parameters.vault-version >>_linux_amd64.zip
unzip vault.zip
mkdir -p ~/bin
mv vault ~/bin
export PATH="~/bin:$PATH"
- run:
name: Set ruby version
command: |
rvm install << parameters.ruby-version >>
echo . $(rvm << parameters.ruby-version >> do rvm env --path) >> $BASH_ENV
- run:
name: Run tests
command: |
export VAULT_VERSION=<< parameters.vault-version >>
ruby --version
gem install bundler
bundle -v
bundle install --jobs=3 --retry=3 --path=vendor/bundle
bundle exec rake
# Store bundle cache
- save_cache:
key: v1-dependencies-bundler-<< parameters.ruby-version >>-{{ checksum "vault.gemspec" }}
paths:
- vendor/bundle
build-release:
working_directory: ~/repo
executor: gem/default
steps:
- gem/build:
gem-name: vault
- gem/release:
gem-name: vault
gem-credentials-env-name: $RUBYGEMS_API_KEY
workflows:
run-tests:
jobs:
- test:
matrix:
parameters:
ruby-version: ["2.7.1", "2.6", "2.5"]
vault-version: ["1.4.2", "1.4.1", "1.4.0", "1.3.6"]
name: test-ruby-<< matrix.ruby-version >>-vault-<< matrix.vault-version >>
- build-release:
requires:
- test
context: vault-gem-release
filters:
tags:
only: /^v.*/
branches:
ignore: /.*/