1
0
Fork 0
mirror of https://github.com/capistrano/capistrano synced 2023-03-27 23:21:18 -04:00
capistrano/.circleci/config.yml
Matt Brictson 7317689001
Fix failing Ruby 2.0 CI build (#2116)
The following warning was preventing libssl from being installed, which
is a prerequisite for the Ruby 2.0 build in CI:

```
WARNING: The following packages cannot be authenticated!
  libssl-dev libssl1.0.0
```

Fix by passing `--force-yes` to ignore the warning.
2022-11-28 18:37:59 -08:00

129 lines
3.2 KiB
YAML

version: 2.1
executors:
ruby:
parameters:
version:
description: "Ruby version number"
default: "3.1"
type: string
docker:
- image: ruby:<< parameters.version >>
commands:
bundle_install:
description: Install Ruby dependencies with Bundler
parameters:
version:
description: "Ruby version number"
default: "3.1"
type: string
steps:
- restore_cache:
keys:
- bundle-v1-{{ arch }}-<< parameters.version >>
- run:
name: Install Ruby Dependencies
command: |
gem install bundler --conservative --no-document || gem install bundler -v '< 2' --no-document
bundle config --local path vendor/bundle
bundle check || (bundle install --jobs=4 --retry=3 && bundle clean)
- save_cache:
paths:
- ./vendor/bundle
key: bundle-v1-{{ arch }}-<< parameters.version >>-{{ checksum "Gemfile.lock" }}
update_ssh_client:
description: Install recent SSH client for compatibility with GitHub
steps:
- run:
name: Install OpenSSH 8.1p1 if necessary
command: |
if $(ssh -V 2>&1 | grep -q -v OpenSSH_8); then
apt-get update
apt-get install -y --force-yes libssl-dev
mkdir ~/tempdownload
cd ~/tempdownload
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
tar zxvf openssh-8.1p1.tar.gz
cd openssh-8.1p1 && ./configure --prefix=/usr && make ssh && make install
fi
jobs:
danger:
executor: ruby
steps:
- checkout
- bundle_install
- run: bundle exec danger
rubocop:
executor: ruby
steps:
- checkout
- bundle_install
- run: bundle exec rubocop
spec:
parameters:
version:
description: "Ruby version number"
default: "3.1"
type: string
executor:
name: ruby
version: << parameters.version >>
steps:
- update_ssh_client
- checkout
- bundle_install:
version: << parameters.version >>
- run: bundle exec rake spec
workflows:
version: 2
commit-workflow:
jobs:
- danger
- rubocop
- spec:
matrix:
parameters:
version:
[
"2.0",
"2.1",
"2.2",
"2.3",
"2.4",
"2.5",
"2.6",
"2.7",
"3.0",
"3.1",
]
cron-workflow:
jobs:
- rubocop
- spec:
matrix:
parameters:
version:
[
"2.0",
"2.1",
"2.2",
"2.3",
"2.4",
"2.5",
"2.6",
"2.7",
"3.0",
"3.1",
]
triggers:
- schedule:
cron: "0 13 * * 6"
filters:
branches:
only:
- master