capistrano 3.11.0 → 3.19.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.docker/Dockerfile +7 -0
- data/.docker/ssh_key_rsa +49 -0
- data/.docker/ssh_key_rsa.pub +1 -0
- data/.docker/ubuntu_setup.sh +23 -0
- data/.github/pull_request_template.md +0 -4
- data/.github/release-drafter.yml +25 -0
- data/.github/workflows/ci.yml +80 -0
- data/.github/workflows/release-drafter.yml +18 -0
- data/.rubocop.yml +4 -3
- data/CHANGELOG.md +1 -651
- data/DEVELOPMENT.md +5 -20
- data/Gemfile +40 -3
- data/LICENSE.txt +1 -1
- data/README.md +3 -3
- data/RELEASING.md +3 -3
- data/Rakefile +13 -5
- data/capistrano.gemspec +8 -7
- data/docker-compose.yml +8 -0
- data/features/deploy.feature +11 -1
- data/features/sshconnect.feature +1 -1
- data/features/step_definitions/assertions.rb +34 -24
- data/features/step_definitions/setup.rb +15 -16
- data/features/support/docker_gateway.rb +53 -0
- data/features/support/env.rb +0 -10
- data/features/support/remote_command_helpers.rb +3 -3
- data/features/support/remote_ssh_helpers.rb +33 -0
- data/lib/capistrano/configuration/question.rb +16 -4
- data/lib/capistrano/configuration/validated_variables.rb +1 -1
- data/lib/capistrano/doctor/variables_doctor.rb +2 -0
- data/lib/capistrano/dsl.rb +1 -1
- data/lib/capistrano/i18n.rb +2 -0
- data/lib/capistrano/scm/git.rb +15 -4
- data/lib/capistrano/scm/tasks/git.rake +19 -7
- data/lib/capistrano/tasks/deploy.rake +26 -3
- data/lib/capistrano/templates/deploy.rb.erb +2 -2
- data/lib/capistrano/templates/stage.rb.erb +1 -1
- data/lib/capistrano/version.rb +1 -1
- data/spec/integration/dsl_spec.rb +16 -14
- data/spec/lib/capistrano/application_spec.rb +16 -40
- data/spec/lib/capistrano/configuration/plugin_installer_spec.rb +1 -1
- data/spec/lib/capistrano/configuration/question_spec.rb +31 -13
- data/spec/lib/capistrano/configuration/scm_resolver_spec.rb +4 -2
- data/spec/lib/capistrano/doctor/environment_doctor_spec.rb +1 -1
- data/spec/lib/capistrano/doctor/gems_doctor_spec.rb +1 -1
- data/spec/lib/capistrano/doctor/servers_doctor_spec.rb +1 -1
- data/spec/lib/capistrano/doctor/variables_doctor_spec.rb +1 -1
- data/spec/lib/capistrano/dsl/task_enhancements_spec.rb +6 -6
- data/spec/lib/capistrano/dsl_spec.rb +5 -5
- data/spec/lib/capistrano/plugin_spec.rb +2 -2
- data/spec/lib/capistrano/scm/git_spec.rb +37 -5
- data/spec/spec_helper.rb +13 -0
- data/spec/support/test_app.rb +23 -14
- metadata +25 -73
- data/.travis.yml +0 -27
- data/Dangerfile +0 -1
- data/features/support/vagrant_helpers.rb +0 -35
- data/spec/support/.gitignore +0 -1
- data/spec/support/Vagrantfile +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e00f29cd54bf8ffea1fdaf725fc260c3bdcf12290dda825a76c518d62fd86cf
|
4
|
+
data.tar.gz: bafa1c5c53bb543df6a583ac12d449232abc1900c572e4166f2ab51f5e2889b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5d0e2ef2a9786a926c67480cb5a397e9c0dee02bcb99b1719026b1fad440912f245953e595c00c284378c5ae6e2b03732754c3f72cd3dbcf7af9db6374efa2d
|
7
|
+
data.tar.gz: feee6f4862320a9db782639a74db9b7d64a614ed8803193b2463c44246ce07270f061c3f16ec9c1e6f5a50a6d3ce29fc1fa6f18b90e612a148fe1bc233b79213
|
data/.docker/Dockerfile
ADDED
data/.docker/ssh_key_rsa
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
-----BEGIN OPENSSH PRIVATE KEY-----
|
2
|
+
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
|
49
|
+
-----END OPENSSH PRIVATE KEY-----
|
@@ -0,0 +1 @@
|
|
1
|
+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6wVCoBOGYS5qfXZGiKjuh7RWExlzrQ1Gml8Z3DDCggSEibh1WXJU9+rNKTqHmVoGy36iarPfjsGWw3IbiWiMOXD7crg3BCyRbksAdrVV/MIq6BiKqnGaQvOV9AE5RbA6W4/prkEKL/tdnpVaWpMbtthEo6H/IO3Ih+iXomni4NkUBjDjJf6sr8B/vI4aIcp0I5/uXNI3zIWVhQ6yBZ4hORs8jPBMpe7jMoFb5z8t6AUUfmIc66JiLmLX2hqYEreIB7rzlPOsDsOByADubyA/r3zYaA5kZxLbHT+sgQitjb4TATdoCxX6+utxVQeRZK4YrCR3D/aWzhmOgl5OHxO7ArWgICXC18icrvDdUACxOWKRaSe0WXw0nX1L0ZteKuYsvFAf0t0nNPStnWkxzRA4snzJCiptuWcjx8p7WY0Ph267ERq9rNFgMDmSsHaYMOnJAXr8WF00zFcVgAW6b3MBJSmBEtcz45RvMDv4XiMvzZiP/1+we+JXI1f5Y8LhyVtkeME5J7u6LrNUI5bvBMyDodMkmOonRdpL4iwOUXwpETX7i8fsr7+8YFw+JtXQ0iePq4V2PmmPNXThljhkhConwVnGsfV4qfuGaGJgMKJfK/E6hF8W9ejEH9BvmX7l75fyAK0zMq+n6ohOr4M4wVcz9G+s+5vSZ5JNwYTyVrAthtw== test@example.com
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
export DEBIAN_FRONTEND=noninteractive
|
6
|
+
|
7
|
+
# Create `deployer` user
|
8
|
+
adduser --disabled-password deployer < /dev/null
|
9
|
+
mkdir -p /home/deployer/.ssh
|
10
|
+
cp /root/.ssh/authorized_keys /home/deployer/.ssh
|
11
|
+
chown -R deployer:deployer /home/deployer/.ssh
|
12
|
+
chmod 600 /home/deployer/.ssh/authorized_keys
|
13
|
+
|
14
|
+
# Install and configure sshd
|
15
|
+
apt -y update
|
16
|
+
apt-get -y install openssh-server git
|
17
|
+
{
|
18
|
+
echo "Port 22"
|
19
|
+
echo "PasswordAuthentication no"
|
20
|
+
echo "ChallengeResponseAuthentication no"
|
21
|
+
} >> /etc/ssh/sshd_config
|
22
|
+
mkdir /var/run/sshd
|
23
|
+
chmod 0755 /var/run/sshd
|
@@ -13,14 +13,10 @@ to keep the conversation linked together.
|
|
13
13
|
- [ ] Did you run `bundle exec rubocop -a` to fix linter issues?
|
14
14
|
- [ ] If relevant, did you create a test?
|
15
15
|
- [ ] Did you confirm that the RSpec tests pass?
|
16
|
-
- [ ] If you are fixing a bug or introducing a new feature, did you add a CHANGELOG entry?
|
17
16
|
|
18
17
|
### Other Information
|
19
18
|
|
20
19
|
If there's anything else that's important and relevant to your pull
|
21
20
|
request, mention that information here.
|
22
21
|
|
23
|
-
If you are updating any of the CHANGELOG files or are asked to update the
|
24
|
-
CHANGELOG files by reviewers, please add the CHANGELOG entry at the top of the file where indicated.
|
25
|
-
|
26
22
|
Thanks for helping improve Capistrano!
|
@@ -0,0 +1,25 @@
|
|
1
|
+
name-template: "$RESOLVED_VERSION"
|
2
|
+
tag-template: "v$RESOLVED_VERSION"
|
3
|
+
categories:
|
4
|
+
- title: "⚠️ Breaking Changes"
|
5
|
+
label: "⚠️ Breaking"
|
6
|
+
- title: "✨ New Features"
|
7
|
+
label: "✨ Feature"
|
8
|
+
- title: "🐛 Bug Fixes"
|
9
|
+
label: "🐛 Bug Fix"
|
10
|
+
- title: "📚 Documentation"
|
11
|
+
label: "📚 Docs"
|
12
|
+
- title: "🏠 Housekeeping"
|
13
|
+
label: "🏠 Housekeeping"
|
14
|
+
version-resolver:
|
15
|
+
minor:
|
16
|
+
labels:
|
17
|
+
- "⚠️ Breaking"
|
18
|
+
- "✨ Feature"
|
19
|
+
default: patch
|
20
|
+
change-template: "- $TITLE (#$NUMBER) @$AUTHOR"
|
21
|
+
no-changes-template: "- No changes"
|
22
|
+
template: |
|
23
|
+
$CHANGES
|
24
|
+
|
25
|
+
**Full Changelog:** https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
|
@@ -0,0 +1,80 @@
|
|
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
|
+
features:
|
70
|
+
needs: [spec, spec-legacy]
|
71
|
+
runs-on: ubuntu-latest
|
72
|
+
steps:
|
73
|
+
- uses: actions/checkout@v4
|
74
|
+
- name: Set up Ruby
|
75
|
+
uses: ruby/setup-ruby@v1
|
76
|
+
with:
|
77
|
+
ruby-version: "ruby" # latest-stable
|
78
|
+
bundler-cache: true
|
79
|
+
- name: rake features
|
80
|
+
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/.rubocop.yml
CHANGED
@@ -8,17 +8,18 @@ Lint/AmbiguousBlockAssociation:
|
|
8
8
|
false
|
9
9
|
Metrics/BlockLength:
|
10
10
|
Exclude:
|
11
|
+
- "*.gemspec"
|
11
12
|
- "spec/**/*"
|
12
13
|
- "lib/**/*.rake"
|
13
14
|
Style/BarePercentLiterals:
|
14
15
|
EnforcedStyle: percent_q
|
16
|
+
Style/BracesAroundHashParameters:
|
17
|
+
Exclude:
|
18
|
+
- spec/integration/dsl_spec.rb
|
15
19
|
Style/ClassAndModuleChildren:
|
16
20
|
Enabled: false
|
17
21
|
Style/DoubleNegation:
|
18
22
|
Enabled: false
|
19
|
-
Style/FileName:
|
20
|
-
Exclude:
|
21
|
-
- "Dangerfile"
|
22
23
|
Style/IndentHeredoc:
|
23
24
|
Enabled: false
|
24
25
|
Style/SpaceAroundEqualsInParameterDefault:
|