capistrano 3.17.3 → 3.18.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/release-drafter.yml +10 -2
- data/.github/workflows/ci.yml +100 -0
- data/.github/workflows/release-drafter.yml +18 -0
- data/DEVELOPMENT.md +1 -7
- data/Gemfile +2 -0
- data/README.md +1 -1
- data/lib/capistrano/configuration/validated_variables.rb +1 -1
- data/lib/capistrano/templates/deploy.rb.erb +1 -1
- data/lib/capistrano/version.rb +1 -1
- data/spec/integration/dsl_spec.rb +1 -1
- data/spec/lib/capistrano/dsl_spec.rb +2 -2
- metadata +5 -5
- data/.circleci/config.yml +0 -133
- data/.github/workflows/push.yml +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae53528854f57ad3fcd21f62cc4b8c39b9299acdc58fe133379874eec9ff8d7a
|
4
|
+
data.tar.gz: 96bb90b2185d9512db08f3688f47d5d0a0ae56b8105a2f55ae0049c58256a2f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4d10e94df9a4e5b600a88337797dac5fb1c63458e2a8e567bfb25558fe0e1367ed579a001c7a42d17e135faba09a88aa18477fcfd8e63e27a471978e2d5c59b
|
7
|
+
data.tar.gz: f6cb277aea4838f5da7c16c9005fd3d17b9fac43ec46aa2c07ea32f2930bb6aa0b1403ef13459a9b7a351bdd2486765cfba0e2d1ff0fd63882159a38f6ae7879
|
data/.github/release-drafter.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
name-template: "$
|
2
|
-
tag-template: "v$
|
1
|
+
name-template: "$RESOLVED_VERSION"
|
2
|
+
tag-template: "v$RESOLVED_VERSION"
|
3
3
|
categories:
|
4
4
|
- title: "⚠️ Breaking Changes"
|
5
5
|
label: "⚠️ Breaking"
|
@@ -11,7 +11,15 @@ categories:
|
|
11
11
|
label: "📚 Docs"
|
12
12
|
- title: "🏠 Housekeeping"
|
13
13
|
label: "🏠 Housekeeping"
|
14
|
+
version-resolver:
|
15
|
+
minor:
|
16
|
+
labels:
|
17
|
+
- "⚠️ Breaking"
|
18
|
+
- "✨ Feature"
|
19
|
+
default: patch
|
14
20
|
change-template: "- $TITLE (#$NUMBER) @$AUTHOR"
|
15
21
|
no-changes-template: "- No changes"
|
16
22
|
template: |
|
17
23
|
$CHANGES
|
24
|
+
|
25
|
+
**Full Changelog:** https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
|
@@ -0,0 +1,100 @@
|
|
1
|
+
name: CI
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches: [master]
|
5
|
+
pull_request:
|
6
|
+
jobs:
|
7
|
+
spec:
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
strategy:
|
10
|
+
matrix:
|
11
|
+
ruby:
|
12
|
+
[
|
13
|
+
"2.3",
|
14
|
+
"2.4",
|
15
|
+
"2.5",
|
16
|
+
"2.6",
|
17
|
+
"2.7",
|
18
|
+
"3.0",
|
19
|
+
"3.1",
|
20
|
+
"3.2",
|
21
|
+
"3.3",
|
22
|
+
"head",
|
23
|
+
]
|
24
|
+
steps:
|
25
|
+
- uses: actions/checkout@v4
|
26
|
+
- name: Set up Ruby
|
27
|
+
uses: ruby/setup-ruby@v1
|
28
|
+
with:
|
29
|
+
ruby-version: ${{ matrix.ruby }}
|
30
|
+
bundler-cache: true
|
31
|
+
- name: rake spec
|
32
|
+
run: bundle exec rake spec
|
33
|
+
spec-legacy:
|
34
|
+
runs-on: ubuntu-20.04
|
35
|
+
strategy:
|
36
|
+
matrix:
|
37
|
+
ruby: ["2.0", "2.1", "2.2"]
|
38
|
+
steps:
|
39
|
+
- uses: actions/checkout@v4
|
40
|
+
- name: Set up Ruby
|
41
|
+
uses: ruby/setup-ruby@v1
|
42
|
+
with:
|
43
|
+
ruby-version: ${{ matrix.ruby }}
|
44
|
+
bundler-cache: true
|
45
|
+
- name: rake spec
|
46
|
+
run: bundle exec rake spec
|
47
|
+
spec-all:
|
48
|
+
runs-on: ubuntu-latest
|
49
|
+
needs: [spec, spec-legacy]
|
50
|
+
if: always()
|
51
|
+
steps:
|
52
|
+
- name: All tests ok
|
53
|
+
if: ${{ !(contains(needs.*.result, 'failure')) }}
|
54
|
+
run: exit 0
|
55
|
+
- name: Some tests failed
|
56
|
+
if: ${{ contains(needs.*.result, 'failure') }}
|
57
|
+
run: exit 1
|
58
|
+
rubocop:
|
59
|
+
runs-on: ubuntu-latest
|
60
|
+
steps:
|
61
|
+
- uses: actions/checkout@v4
|
62
|
+
- name: Set up Ruby
|
63
|
+
uses: ruby/setup-ruby@v1
|
64
|
+
with:
|
65
|
+
ruby-version: "ruby" # latest-stable
|
66
|
+
bundler-cache: true
|
67
|
+
- name: rake rubocop
|
68
|
+
run: bundle exec rake rubocop
|
69
|
+
danger:
|
70
|
+
runs-on: ubuntu-latest
|
71
|
+
steps:
|
72
|
+
- uses: actions/checkout@v4
|
73
|
+
- name: Set up Ruby
|
74
|
+
uses: ruby/setup-ruby@v1
|
75
|
+
with:
|
76
|
+
ruby-version: "ruby" # latest-stable
|
77
|
+
bundler-cache: true
|
78
|
+
- name: danger
|
79
|
+
env:
|
80
|
+
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
|
81
|
+
run: bundle exec danger
|
82
|
+
features:
|
83
|
+
needs: [spec, spec-legacy]
|
84
|
+
runs-on: macos-12
|
85
|
+
steps:
|
86
|
+
- uses: actions/checkout@v4
|
87
|
+
- name: Cache Vagrant boxes
|
88
|
+
uses: actions/cache@v3
|
89
|
+
with:
|
90
|
+
path: ~/.vagrant.d/boxes
|
91
|
+
key: ${{ runner.os }}-vagrant-${{ hashFiles('Vagrantfile') }}
|
92
|
+
restore-keys: |
|
93
|
+
${{ runner.os }}-vagrant-
|
94
|
+
- name: Set up Ruby
|
95
|
+
uses: ruby/setup-ruby@v1
|
96
|
+
with:
|
97
|
+
ruby-version: "ruby" # latest-stable
|
98
|
+
bundler-cache: true
|
99
|
+
- name: rake features
|
100
|
+
run: bundle exec rake features
|
@@ -0,0 +1,18 @@
|
|
1
|
+
name: Release Drafter
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- master
|
7
|
+
|
8
|
+
permissions:
|
9
|
+
contents: write
|
10
|
+
pull-requests: read
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
update_release_draft:
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
steps:
|
16
|
+
- uses: release-drafter/release-drafter@v5
|
17
|
+
env:
|
18
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
data/DEVELOPMENT.md
CHANGED
@@ -20,7 +20,7 @@ Everyone can help improve Capistrano. There are ways to contribute even if you a
|
|
20
20
|
|
21
21
|
## Contributing documentation
|
22
22
|
|
23
|
-
Improvements and additions to Capistrano's documentation are very much appreciated. The official
|
23
|
+
Improvements and additions to Capistrano's documentation are very much appreciated. The official documentation is stored in the `docs/` directory as Markdown files. These files are used to automatically generate the [capistranorb.com](http://capistranorb.com/) website, which is hosted by GitHub Pages. Feel free to make changes to this documentation as you see fit. Before opening a pull request, make sure your documentation renders correctly by previewing the website in your local environment. Refer to [docs/README.md][] for instructions.
|
24
24
|
|
25
25
|
## Setting up your development environment
|
26
26
|
|
@@ -51,12 +51,6 @@ $ bundle exec rake features
|
|
51
51
|
$ bundle exec rake features KEEP_RUNNING=1
|
52
52
|
```
|
53
53
|
|
54
|
-
### Report failing Cucumber features!
|
55
|
-
|
56
|
-
Currently, the Capistrano CI build does *not* run the Cucumber suite. This means it is possible for a failing Cucumber feature to sneak in without being noticed by our continuous integration checks.
|
57
|
-
|
58
|
-
**If you come across a failing Cucumber feature, this is a bug.** Please report it by opening a GitHub issue. Or even better: do your best to fix the feature and submit a pull request!
|
59
|
-
|
60
54
|
## Coding guidelines
|
61
55
|
|
62
56
|
This project uses [RuboCop](https://github.com/bbatsov/rubocop) to enforce standard Ruby coding guidelines.
|
data/Gemfile
CHANGED
@@ -40,7 +40,9 @@ end
|
|
40
40
|
|
41
41
|
# We only run danger and rubocop on a new-ish ruby; no need to install them otherwise
|
42
42
|
if Gem::Requirement.new("> 2.4").satisfied_by?(Gem::Version.new(RUBY_VERSION))
|
43
|
+
gem "base64"
|
43
44
|
gem "danger"
|
44
45
|
gem "psych", "< 4" # Ensures rubocop works on Ruby 3.1
|
46
|
+
gem "racc"
|
45
47
|
gem "rubocop", "0.48.1"
|
46
48
|
end
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
# Capistrano: A deployment automation tool built on Ruby, Rake, and SSH.
|
3
3
|
|
4
|
-
[![Gem Version](https://badge.fury.io/rb/capistrano.svg)](http://badge.fury.io/rb/capistrano) [![Build Status](https://
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/capistrano.svg)](http://badge.fury.io/rb/capistrano) [![Build Status](https://github.com/capistrano/capistrano/actions/workflows/ci.yml/badge.svg)](https://github.com/capistrano/capistrano/actions/workflows/ci.yml) [![Code Climate](https://codeclimate.com/github/capistrano/capistrano/badges/gpa.svg)](https://codeclimate.com/github/capistrano/capistrano) [![CodersClan](https://img.shields.io/badge/get-support-blue.svg)](http://codersclan.net/?repo_id=325&source=small)
|
5
5
|
|
6
6
|
Capistrano is a framework for building automated deployment scripts. Although Capistrano itself is written in Ruby, it can easily be used to deploy projects of any language or framework, be it Rails, Java, or PHP.
|
7
7
|
|
@@ -24,7 +24,7 @@ set :repo_url, "git@example.com:me/my_repo.git"
|
|
24
24
|
# append :linked_files, "config/database.yml", 'config/master.key'
|
25
25
|
|
26
26
|
# Default value for linked_dirs is []
|
27
|
-
# append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets", "
|
27
|
+
# append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets", "public/system", "vendor", "storage"
|
28
28
|
|
29
29
|
# Default value for default_env is {}
|
30
30
|
# set :default_env, { path: "/opt/ruby/bin:$PATH" }
|
data/lib/capistrano/version.rb
CHANGED
@@ -247,7 +247,7 @@ describe Capistrano::DSL do
|
|
247
247
|
end
|
248
248
|
end
|
249
249
|
|
250
|
-
context "when the attribute `primary` is
|
250
|
+
context "when the attribute `primary` is explicitly set" do
|
251
251
|
subject { dsl.primary(:app) }
|
252
252
|
it "returns the servers" do
|
253
253
|
expect(subject.hostname).to eq "example4.com"
|
@@ -72,7 +72,7 @@ module Capistrano
|
|
72
72
|
|
73
73
|
describe "#invoke" do
|
74
74
|
context "reinvoking" do
|
75
|
-
it "will not
|
75
|
+
it "will not re-enable invoking task", capture_io: true do
|
76
76
|
counter = 0
|
77
77
|
|
78
78
|
Rake::Task.define_task("A") do
|
@@ -98,7 +98,7 @@ module Capistrano
|
|
98
98
|
|
99
99
|
describe "#invoke!" do
|
100
100
|
context "reinvoking" do
|
101
|
-
it "will
|
101
|
+
it "will re-enable invoking task", capture_io: true do
|
102
102
|
counter = 0
|
103
103
|
|
104
104
|
Rake::Task.define_task("C") do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.18.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Clements
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-03-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: airbrussh
|
@@ -78,11 +78,11 @@ executables:
|
|
78
78
|
extensions: []
|
79
79
|
extra_rdoc_files: []
|
80
80
|
files:
|
81
|
-
- ".circleci/config.yml"
|
82
81
|
- ".github/issue_template.md"
|
83
82
|
- ".github/pull_request_template.md"
|
84
83
|
- ".github/release-drafter.yml"
|
85
|
-
- ".github/workflows/
|
84
|
+
- ".github/workflows/ci.yml"
|
85
|
+
- ".github/workflows/release-drafter.yml"
|
86
86
|
- ".gitignore"
|
87
87
|
- ".rubocop.yml"
|
88
88
|
- CHANGELOG.md
|
@@ -235,7 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
235
235
|
- !ruby/object:Gem::Version
|
236
236
|
version: '0'
|
237
237
|
requirements: []
|
238
|
-
rubygems_version: 3.
|
238
|
+
rubygems_version: 3.5.6
|
239
239
|
signing_key:
|
240
240
|
specification_version: 4
|
241
241
|
summary: Capistrano - Welcome to easy deployment with Ruby over SSH
|
data/.circleci/config.yml
DELETED
@@ -1,133 +0,0 @@
|
|
1
|
-
version: 2.1
|
2
|
-
|
3
|
-
executors:
|
4
|
-
ruby:
|
5
|
-
parameters:
|
6
|
-
version:
|
7
|
-
description: "Ruby version number"
|
8
|
-
default: "3.2"
|
9
|
-
type: string
|
10
|
-
docker:
|
11
|
-
- image: ruby:<< parameters.version >>
|
12
|
-
|
13
|
-
commands:
|
14
|
-
bundle_install:
|
15
|
-
description: Install Ruby dependencies with Bundler
|
16
|
-
parameters:
|
17
|
-
version:
|
18
|
-
description: "Ruby version number"
|
19
|
-
default: "3.2"
|
20
|
-
type: string
|
21
|
-
steps:
|
22
|
-
- restore_cache:
|
23
|
-
keys:
|
24
|
-
- bundle-v1-{{ arch }}-<< parameters.version >>
|
25
|
-
- run:
|
26
|
-
name: Install Ruby Dependencies
|
27
|
-
command: |
|
28
|
-
gem install bundler --conservative --no-document || gem install bundler -v '< 2' --no-document
|
29
|
-
bundle config --local path vendor/bundle
|
30
|
-
bundle check || (bundle install --jobs=4 --retry=3 && bundle clean)
|
31
|
-
- save_cache:
|
32
|
-
paths:
|
33
|
-
- ./vendor/bundle
|
34
|
-
key: bundle-v1-{{ arch }}-<< parameters.version >>-{{ checksum "Gemfile.lock" }}
|
35
|
-
update_ssh_client:
|
36
|
-
description: Install recent SSH client for compatibility with GitHub
|
37
|
-
steps:
|
38
|
-
- run:
|
39
|
-
name: Install OpenSSH 8.1p1 if necessary
|
40
|
-
command: |
|
41
|
-
if $(ssh -V 2>&1 | grep -q -v OpenSSH_8); then
|
42
|
-
# Stretch packages have been moved to the archvie.debian.org domain as of April 2023
|
43
|
-
sed -E 's/^(deb http:\/\/)(security|deb)(\.debian\.org\S+ stretch)/\1archive\3/g' -i /etc/apt/sources.list
|
44
|
-
apt-get update || true
|
45
|
-
apt-get install -y --force-yes libssl-dev || true
|
46
|
-
mkdir ~/tempdownload
|
47
|
-
cd ~/tempdownload
|
48
|
-
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
|
49
|
-
tar zxvf openssh-8.1p1.tar.gz
|
50
|
-
cd openssh-8.1p1 && ./configure --prefix=/usr && make ssh && make install
|
51
|
-
fi
|
52
|
-
|
53
|
-
jobs:
|
54
|
-
danger:
|
55
|
-
executor: ruby
|
56
|
-
steps:
|
57
|
-
- checkout
|
58
|
-
- bundle_install
|
59
|
-
- run: bundle exec danger
|
60
|
-
|
61
|
-
rubocop:
|
62
|
-
executor: ruby
|
63
|
-
steps:
|
64
|
-
- checkout
|
65
|
-
- bundle_install
|
66
|
-
- run: bundle exec rubocop
|
67
|
-
|
68
|
-
spec:
|
69
|
-
parameters:
|
70
|
-
version:
|
71
|
-
description: "Ruby version number"
|
72
|
-
default: "3.2"
|
73
|
-
type: string
|
74
|
-
executor:
|
75
|
-
name: ruby
|
76
|
-
version: << parameters.version >>
|
77
|
-
steps:
|
78
|
-
- update_ssh_client
|
79
|
-
- checkout
|
80
|
-
- bundle_install:
|
81
|
-
version: << parameters.version >>
|
82
|
-
- run: bundle exec rake spec
|
83
|
-
|
84
|
-
workflows:
|
85
|
-
version: 2
|
86
|
-
commit-workflow:
|
87
|
-
jobs:
|
88
|
-
- danger
|
89
|
-
- rubocop
|
90
|
-
- spec:
|
91
|
-
matrix:
|
92
|
-
parameters:
|
93
|
-
version:
|
94
|
-
[
|
95
|
-
"2.0",
|
96
|
-
"2.1",
|
97
|
-
"2.2",
|
98
|
-
"2.3",
|
99
|
-
"2.4",
|
100
|
-
"2.5",
|
101
|
-
"2.6",
|
102
|
-
"2.7",
|
103
|
-
"3.0",
|
104
|
-
"3.1",
|
105
|
-
"3.2",
|
106
|
-
]
|
107
|
-
cron-workflow:
|
108
|
-
jobs:
|
109
|
-
- rubocop
|
110
|
-
- spec:
|
111
|
-
matrix:
|
112
|
-
parameters:
|
113
|
-
version:
|
114
|
-
[
|
115
|
-
"2.0",
|
116
|
-
"2.1",
|
117
|
-
"2.2",
|
118
|
-
"2.3",
|
119
|
-
"2.4",
|
120
|
-
"2.5",
|
121
|
-
"2.6",
|
122
|
-
"2.7",
|
123
|
-
"3.0",
|
124
|
-
"3.1",
|
125
|
-
"3.2",
|
126
|
-
]
|
127
|
-
triggers:
|
128
|
-
- schedule:
|
129
|
-
cron: "0 13 * * 6"
|
130
|
-
filters:
|
131
|
-
branches:
|
132
|
-
only:
|
133
|
-
- master
|
data/.github/workflows/push.yml
DELETED