mirror of
https://github.com/capistrano/capistrano
synced 2023-03-27 23:21:18 -04:00
7317689001
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.
129 lines
3.2 KiB
YAML
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
|