Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
95f5aad5aa
commit
05d0c6959a
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Deprecation of ECS template
|
||||||
|
merge_request: 36143
|
||||||
|
author:
|
||||||
|
type: deprecated
|
|
@ -81,11 +81,12 @@ path to point to your ECR image.
|
||||||
|
|
||||||
### Deploy your application to the AWS Elastic Container Service (ECS)
|
### Deploy your application to the AWS Elastic Container Service (ECS)
|
||||||
|
|
||||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/207962) in GitLab 12.9.
|
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/207962) in GitLab 12.9.
|
||||||
|
> - The `Deploy-ECS.gitlab-ci.yml` template was deprecated in favor of `AWS/Deploy-ECS.gitlab-ci.yml` template in GitLab 13.2.
|
||||||
|
|
||||||
GitLab provides a series of [CI templates that you can include in your project](../yaml/README.md#include).
|
GitLab provides a series of [CI templates that you can include in your project](../yaml/README.md#include).
|
||||||
To automate deployments of your application to your [Amazon Elastic Container Service](https://aws.amazon.com/ecs/) (AWS ECS)
|
To automate deployments of your application to your [Amazon Elastic Container Service](https://aws.amazon.com/ecs/) (AWS ECS)
|
||||||
cluster, you can `include` the `Deploy-ECS.gitlab-ci.yml` template in your `.gitlab-ci.yml` file.
|
cluster, you can `include` the `AWS/Deploy-ECS.gitlab-ci.yml` template in your `.gitlab-ci.yml` file.
|
||||||
|
|
||||||
GitLab also provides [Docker images](https://gitlab.com/gitlab-org/cloud-deploy/-/tree/master/aws) that can be used in your `gitlab-ci.yml` file to simplify working with AWS:
|
GitLab also provides [Docker images](https://gitlab.com/gitlab-org/cloud-deploy/-/tree/master/aws) that can be used in your `gitlab-ci.yml` file to simplify working with AWS:
|
||||||
|
|
||||||
|
@ -129,7 +130,7 @@ After you're all set up on AWS ECS, follow these steps:
|
||||||
- template: AWS/Deploy-ECS.gitlab-ci.yml
|
- template: AWS/Deploy-ECS.gitlab-ci.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
The `Deploy-ECS` template ships with GitLab and is available [on
|
The `AWS/Deploy-ECS` template ships with GitLab and is available [on
|
||||||
GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml).
|
GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml).
|
||||||
|
|
||||||
1. Commit and push your updated `.gitlab-ci.yml` to your project's repository, and you're done!
|
1. Commit and push your updated `.gitlab-ci.yml` to your project's repository, and you're done!
|
||||||
|
@ -143,17 +144,17 @@ After you're all set up on AWS ECS, follow these steps:
|
||||||
application.
|
application.
|
||||||
|
|
||||||
CAUTION: **Warning:**
|
CAUTION: **Warning:**
|
||||||
The [`Deploy-ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml)
|
The [`AWS/Deploy-ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/AWS/Deploy-ECS.gitlab-ci.yml)
|
||||||
template includes both the [`Jobs/Build.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml)
|
template includes both the [`Jobs/Build.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml)
|
||||||
and [`Jobs/Deploy/ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Deploy/ECS.gitlab-ci.yml)
|
and [`Jobs/Deploy/ECS.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Deploy/ECS.gitlab-ci.yml)
|
||||||
"sub-templates". Do not include these "sub-templates" on their own, and only include the main
|
"sub-templates". Do not include these "sub-templates" on their own, and only include the main
|
||||||
`Deploy-ECS.gitlab-ci.yml` template. The "sub-templates" are designed to only be
|
`AWS/Deploy-ECS.gitlab-ci.yml` template. The "sub-templates" are designed to only be
|
||||||
used along with the main template. They may move or change unexpectedly causing your
|
used along with the main template. They may move or change unexpectedly causing your
|
||||||
pipeline to fail if you didn't include the main template. Also, the job names within
|
pipeline to fail if you didn't include the main template. Also, the job names within
|
||||||
these templates may change. Do not override these jobs names in your own pipeline,
|
these templates may change. Do not override these jobs names in your own pipeline,
|
||||||
as the override will stop working when the name changes.
|
as the override will stop working when the name changes.
|
||||||
|
|
||||||
Alternatively, if you don't wish to use the `Deploy-ECS.gitlab-ci.yml` template
|
Alternatively, if you don't wish to use the `AWS/Deploy-ECS.gitlab-ci.yml` template
|
||||||
to deploy to AWS ECS, you can always use our
|
to deploy to AWS ECS, you can always use our
|
||||||
`aws-base` Docker image to run your own [AWS CLI commands for ECS](https://docs.aws.amazon.com/cli/latest/reference/ecs/index.html#cli-aws-ecs).
|
`aws-base` Docker image to run your own [AWS CLI commands for ECS](https://docs.aws.amazon.com/cli/latest/reference/ecs/index.html#cli-aws-ecs).
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# This template is deprecated and will be removed as part of GitLab 13.2!
|
# This template is deprecated.
|
||||||
#
|
#
|
||||||
# If you have referenced this template in your CI pipeline, please
|
# If you have referenced this template in your CI pipeline, please
|
||||||
# update your CI configuration by replacing the following occurrence(s):
|
# update your CI configuration by replacing the following occurrence(s):
|
||||||
|
@ -20,12 +20,8 @@ stages:
|
||||||
- deploy
|
- deploy
|
||||||
- production
|
- production
|
||||||
|
|
||||||
before_script:
|
"error: Template has moved":
|
||||||
- printf '\nWARNING!\nThis job includes "Deploy-ECS.gitlab-ci.yml". Please rename this to "AWS/Deploy-ECS.gitlab-ci.yml".\n'
|
stage: deploy
|
||||||
|
script:
|
||||||
variables:
|
- echo "Deploy-ECS.gitlab-ci.yml has been moved to AWS/Deploy-ECS.gitlab-ci.yml, see https://docs.gitlab.com/ee/ci/cloud_deployment/#deploy-your-application-to-the-aws-elastic-container-service-ecs for more details."
|
||||||
AUTO_DEVOPS_PLATFORM_TARGET: ECS
|
- exit 1
|
||||||
|
|
||||||
include:
|
|
||||||
- template: Jobs/Build.gitlab-ci.yml
|
|
||||||
- template: Jobs/Deploy/ECS.gitlab-ci.yml
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ gem 'faker', '~> 1.6', '>= 1.6.6'
|
||||||
gem 'knapsack', '~> 1.17'
|
gem 'knapsack', '~> 1.17'
|
||||||
gem 'parallel_tests', '~> 2.29'
|
gem 'parallel_tests', '~> 2.29'
|
||||||
gem 'rotp', '~> 3.1.0'
|
gem 'rotp', '~> 3.1.0'
|
||||||
|
gem 'rspec-parameterized', '~> 0.4.2'
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
gem 'pry-byebug', '~> 3.5.1', platform: :mri
|
gem 'pry-byebug', '~> 3.5.1', platform: :mri
|
||||||
|
|
119
qa/Gemfile.lock
119
qa/Gemfile.lock
|
@ -1,12 +1,16 @@
|
||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
activesupport (6.0.3.1)
|
abstract_type (0.0.7)
|
||||||
|
activesupport (6.0.3.2)
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
i18n (>= 0.7, < 2)
|
i18n (>= 0.7, < 2)
|
||||||
minitest (~> 5.1)
|
minitest (~> 5.1)
|
||||||
tzinfo (~> 1.1)
|
tzinfo (~> 1.1)
|
||||||
zeitwerk (~> 2.2, >= 2.2.2)
|
zeitwerk (~> 2.2, >= 2.2.2)
|
||||||
|
adamantium (0.2.0)
|
||||||
|
ice_nine (~> 0.11.0)
|
||||||
|
memoizable (~> 0.4.0)
|
||||||
addressable (2.7.0)
|
addressable (2.7.0)
|
||||||
public_suffix (>= 2.0.2, < 5.0)
|
public_suffix (>= 2.0.2, < 5.0)
|
||||||
airborne (0.3.4)
|
airborne (0.3.4)
|
||||||
|
@ -15,6 +19,8 @@ GEM
|
||||||
rack-test (>= 1.1.0, < 2.0)
|
rack-test (>= 1.1.0, < 2.0)
|
||||||
rest-client (>= 2.0.2, < 3.0)
|
rest-client (>= 2.0.2, < 3.0)
|
||||||
rspec (~> 3.8)
|
rspec (~> 3.8)
|
||||||
|
ast (2.4.1)
|
||||||
|
binding_ninja (0.2.3)
|
||||||
byebug (9.1.0)
|
byebug (9.1.0)
|
||||||
capybara (3.29.0)
|
capybara (3.29.0)
|
||||||
addressable
|
addressable
|
||||||
|
@ -24,55 +30,93 @@ GEM
|
||||||
rack-test (>= 0.6.3)
|
rack-test (>= 0.6.3)
|
||||||
regexp_parser (~> 1.5)
|
regexp_parser (~> 1.5)
|
||||||
xpath (~> 3.2)
|
xpath (~> 3.2)
|
||||||
capybara-screenshot (1.0.23)
|
capybara-screenshot (1.0.24)
|
||||||
capybara (>= 1.0, < 4)
|
capybara (>= 1.0, < 4)
|
||||||
launchy
|
launchy
|
||||||
childprocess (3.0.0)
|
childprocess (3.0.0)
|
||||||
coderay (1.1.2)
|
coderay (1.1.3)
|
||||||
|
concord (0.1.5)
|
||||||
|
adamantium (~> 0.2.0)
|
||||||
|
equalizer (~> 0.0.9)
|
||||||
concurrent-ruby (1.1.6)
|
concurrent-ruby (1.1.6)
|
||||||
debase (0.2.4.1)
|
debase (0.2.4.1)
|
||||||
debase-ruby_core_source (>= 0.10.2)
|
debase-ruby_core_source (>= 0.10.2)
|
||||||
debase-ruby_core_source (0.10.6)
|
debase-ruby_core_source (0.10.9)
|
||||||
diff-lcs (1.3)
|
diff-lcs (1.4.4)
|
||||||
domain_name (0.5.20190701)
|
domain_name (0.5.20190701)
|
||||||
unf (>= 0.0.5, < 1.0.0)
|
unf (>= 0.0.5, < 1.0.0)
|
||||||
faker (1.9.3)
|
equalizer (0.0.11)
|
||||||
|
faker (1.9.6)
|
||||||
i18n (>= 0.7)
|
i18n (>= 0.7)
|
||||||
gitlab-qa (4.0.0)
|
ffi (1.13.1)
|
||||||
|
ffi-compiler (1.0.1)
|
||||||
|
ffi (>= 1.0.0)
|
||||||
|
rake
|
||||||
|
gitlab (4.11.0)
|
||||||
|
httparty (~> 0.14, >= 0.14.0)
|
||||||
|
terminal-table (~> 1.5, >= 1.5.1)
|
||||||
|
gitlab-qa (5.15.0)
|
||||||
|
activesupport (~> 6.0.2)
|
||||||
|
gitlab (~> 4.11.0)
|
||||||
|
http (= 4.3.0)
|
||||||
|
nokogiri (~> 1.10)
|
||||||
|
table_print (= 1.5.6)
|
||||||
|
http (4.3.0)
|
||||||
|
addressable (~> 2.3)
|
||||||
|
http-cookie (~> 1.0)
|
||||||
|
http-form_data (~> 2.2)
|
||||||
|
http-parser (~> 1.2.0)
|
||||||
http-accept (1.7.0)
|
http-accept (1.7.0)
|
||||||
http-cookie (1.0.3)
|
http-cookie (1.0.3)
|
||||||
domain_name (~> 0.5)
|
domain_name (~> 0.5)
|
||||||
i18n (1.8.2)
|
http-form_data (2.3.0)
|
||||||
|
http-parser (1.2.1)
|
||||||
|
ffi-compiler (>= 1.0, < 2.0)
|
||||||
|
httparty (0.18.1)
|
||||||
|
mime-types (~> 3.0)
|
||||||
|
multi_xml (>= 0.5.2)
|
||||||
|
i18n (1.8.3)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
knapsack (1.17.1)
|
ice_nine (0.11.2)
|
||||||
|
knapsack (1.18.0)
|
||||||
rake
|
rake
|
||||||
launchy (2.4.3)
|
launchy (2.5.0)
|
||||||
addressable (~> 2.3)
|
addressable (~> 2.7)
|
||||||
method_source (0.9.0)
|
memoizable (0.4.2)
|
||||||
|
thread_safe (~> 0.3, >= 0.3.1)
|
||||||
|
method_source (1.0.0)
|
||||||
mime-types (3.3.1)
|
mime-types (3.3.1)
|
||||||
mime-types-data (~> 3.2015)
|
mime-types-data (~> 3.2015)
|
||||||
mime-types-data (3.2020.0425)
|
mime-types-data (3.2020.0512)
|
||||||
mini_mime (1.0.2)
|
mini_mime (1.0.2)
|
||||||
mini_portile2 (2.4.0)
|
mini_portile2 (2.4.0)
|
||||||
minitest (5.14.1)
|
minitest (5.14.1)
|
||||||
|
multi_xml (0.6.0)
|
||||||
netrc (0.11.0)
|
netrc (0.11.0)
|
||||||
nokogiri (1.10.9)
|
nokogiri (1.10.10)
|
||||||
mini_portile2 (~> 2.4.0)
|
mini_portile2 (~> 2.4.0)
|
||||||
parallel (1.17.0)
|
parallel (1.19.2)
|
||||||
parallel_tests (2.29.0)
|
parallel_tests (2.32.0)
|
||||||
parallel
|
parallel
|
||||||
pry (0.11.3)
|
parser (2.7.1.4)
|
||||||
coderay (~> 1.1.0)
|
ast (~> 2.4.1)
|
||||||
method_source (~> 0.9.0)
|
proc_to_ast (0.1.0)
|
||||||
|
coderay
|
||||||
|
parser
|
||||||
|
unparser
|
||||||
|
procto (0.0.3)
|
||||||
|
pry (0.13.1)
|
||||||
|
coderay (~> 1.1)
|
||||||
|
method_source (~> 1.0)
|
||||||
pry-byebug (3.5.1)
|
pry-byebug (3.5.1)
|
||||||
byebug (~> 9.1)
|
byebug (~> 9.1)
|
||||||
pry (~> 0.10)
|
pry (~> 0.10)
|
||||||
public_suffix (4.0.1)
|
public_suffix (4.0.5)
|
||||||
rack (2.2.2)
|
rack (2.2.3)
|
||||||
rack-test (1.1.0)
|
rack-test (1.1.0)
|
||||||
rack (>= 1.0, < 3)
|
rack (>= 1.0, < 3)
|
||||||
rake (12.3.0)
|
rake (12.3.3)
|
||||||
regexp_parser (1.6.0)
|
regexp_parser (1.7.1)
|
||||||
rest-client (2.1.0)
|
rest-client (2.1.0)
|
||||||
http-accept (>= 1.7.0, < 2.0)
|
http-accept (>= 1.7.0, < 2.0)
|
||||||
http-cookie (>= 1.0.2, < 2.0)
|
http-cookie (>= 1.0.2, < 2.0)
|
||||||
|
@ -85,23 +129,32 @@ GEM
|
||||||
rspec-mocks (~> 3.9.0)
|
rspec-mocks (~> 3.9.0)
|
||||||
rspec-core (3.9.2)
|
rspec-core (3.9.2)
|
||||||
rspec-support (~> 3.9.3)
|
rspec-support (~> 3.9.3)
|
||||||
rspec-expectations (3.9.1)
|
rspec-expectations (3.9.2)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.9.0)
|
rspec-support (~> 3.9.0)
|
||||||
rspec-mocks (3.9.1)
|
rspec-mocks (3.9.1)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.9.0)
|
rspec-support (~> 3.9.0)
|
||||||
rspec-retry (0.6.1)
|
rspec-parameterized (0.4.2)
|
||||||
|
binding_ninja (>= 0.2.3)
|
||||||
|
parser
|
||||||
|
proc_to_ast
|
||||||
|
rspec (>= 2.13, < 4)
|
||||||
|
unparser
|
||||||
|
rspec-retry (0.6.2)
|
||||||
rspec-core (> 3.3)
|
rspec-core (> 3.3)
|
||||||
rspec-support (3.9.3)
|
rspec-support (3.9.3)
|
||||||
rspec_junit_formatter (0.4.1)
|
rspec_junit_formatter (0.4.1)
|
||||||
rspec-core (>= 2, < 4, != 2.12.0)
|
rspec-core (>= 2, < 4, != 2.12.0)
|
||||||
ruby-debug-ide (0.7.2)
|
ruby-debug-ide (0.7.2)
|
||||||
rake (>= 0.8.1)
|
rake (>= 0.8.1)
|
||||||
rubyzip (1.3.0)
|
rubyzip (2.3.0)
|
||||||
selenium-webdriver (3.142.6)
|
selenium-webdriver (3.142.7)
|
||||||
childprocess (>= 0.5, < 4.0)
|
childprocess (>= 0.5, < 4.0)
|
||||||
rubyzip (>= 1.2.2)
|
rubyzip (>= 1.2.2)
|
||||||
|
table_print (1.5.6)
|
||||||
|
terminal-table (1.8.0)
|
||||||
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||||
thread_safe (0.3.6)
|
thread_safe (0.3.6)
|
||||||
timecop (0.9.1)
|
timecop (0.9.1)
|
||||||
tzinfo (1.2.7)
|
tzinfo (1.2.7)
|
||||||
|
@ -109,9 +162,18 @@ GEM
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
unf_ext
|
unf_ext
|
||||||
unf_ext (0.0.7.7)
|
unf_ext (0.0.7.7)
|
||||||
|
unicode-display_width (1.7.0)
|
||||||
|
unparser (0.4.7)
|
||||||
|
abstract_type (~> 0.0.7)
|
||||||
|
adamantium (~> 0.2.0)
|
||||||
|
concord (~> 0.1.5)
|
||||||
|
diff-lcs (~> 1.3)
|
||||||
|
equalizer (~> 0.0.9)
|
||||||
|
parser (>= 2.6.5)
|
||||||
|
procto (~> 0.0.2)
|
||||||
xpath (3.2.0)
|
xpath (3.2.0)
|
||||||
nokogiri (~> 1.8)
|
nokogiri (~> 1.8)
|
||||||
zeitwerk (2.3.0)
|
zeitwerk (2.3.1)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
@ -132,6 +194,7 @@ DEPENDENCIES
|
||||||
rest-client (~> 2.1.0)
|
rest-client (~> 2.1.0)
|
||||||
rotp (~> 3.1.0)
|
rotp (~> 3.1.0)
|
||||||
rspec (~> 3.7)
|
rspec (~> 3.7)
|
||||||
|
rspec-parameterized (~> 0.4.2)
|
||||||
rspec-retry (~> 0.6.1)
|
rspec-retry (~> 0.6.1)
|
||||||
rspec_junit_formatter (~> 0.4.1)
|
rspec_junit_formatter (~> 0.4.1)
|
||||||
ruby-debug-ide (~> 0.7.0)
|
ruby-debug-ide (~> 0.7.0)
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module QA
|
||||||
|
RSpec.describe 'Configure' do
|
||||||
|
describe 'AutoDevOps Templates', only: { subdomain: :staging } do
|
||||||
|
let(:optional_jobs) do
|
||||||
|
%w[
|
||||||
|
LICENSE_MANAGEMENT_DISABLED
|
||||||
|
SAST_DISABLED DAST_DISABLED
|
||||||
|
DEPENDENCY_SCANNING_DISABLED
|
||||||
|
CONTAINER_SCANNING_DISABLED
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
where(:template) do
|
||||||
|
%w[rails spring express]
|
||||||
|
end
|
||||||
|
|
||||||
|
with_them do
|
||||||
|
let(:project) do
|
||||||
|
Resource::Project.fabricate_via_api! do |project|
|
||||||
|
project.name = "#{template}-autodevops-project-template"
|
||||||
|
project.template_name = template
|
||||||
|
project.description = "Let's see if the #{template} project works..."
|
||||||
|
project.auto_devops_enabled = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
let(:pipeline) do
|
||||||
|
Resource::Pipeline.fabricate_via_api! do |pipeline|
|
||||||
|
pipeline.project = project
|
||||||
|
pipeline.variables =
|
||||||
|
optional_jobs.map do |job|
|
||||||
|
{ key: job, value: '1', variable_type: 'env_var' }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
before do
|
||||||
|
Flow::Login.sign_in
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'works with Auto DevOps' do
|
||||||
|
%w[build test].each do |job|
|
||||||
|
pipeline.visit!
|
||||||
|
|
||||||
|
Page::Project::Pipeline::Show.perform do |show_page|
|
||||||
|
show_page.click_job(job)
|
||||||
|
end
|
||||||
|
|
||||||
|
Page::Project::Job::Show.perform do |show|
|
||||||
|
expect(show).to have_passed(timeout: 360)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
require_relative '../qa'
|
require_relative '../qa'
|
||||||
require 'rspec/retry'
|
require 'rspec/retry'
|
||||||
|
require 'rspec-parameterized'
|
||||||
|
|
||||||
if ENV['CI'] && QA::Runtime::Env.knapsack? && !ENV['NO_KNAPSACK']
|
if ENV['CI'] && QA::Runtime::Env.knapsack? && !ENV['NO_KNAPSACK']
|
||||||
require 'knapsack'
|
require 'knapsack'
|
||||||
|
|
Loading…
Reference in New Issue