Commit ae50a43c authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent eca3cd3a
...@@ -42,7 +42,6 @@ module Ci ...@@ -42,7 +42,6 @@ module Ci
has_one :deployment, as: :deployable, class_name: 'Deployment' has_one :deployment, as: :deployable, class_name: 'Deployment'
has_many :trace_sections, class_name: 'Ci::BuildTraceSection' has_many :trace_sections, class_name: 'Ci::BuildTraceSection'
has_many :trace_chunks, class_name: 'Ci::BuildTraceChunk', foreign_key: :build_id has_many :trace_chunks, class_name: 'Ci::BuildTraceChunk', foreign_key: :build_id
has_many :needs, class_name: 'Ci::BuildNeed', foreign_key: :build_id, inverse_of: :build
has_many :job_artifacts, class_name: 'Ci::JobArtifact', foreign_key: :job_id, dependent: :destroy, inverse_of: :job # rubocop:disable Cop/ActiveRecordDependent has_many :job_artifacts, class_name: 'Ci::JobArtifact', foreign_key: :job_id, dependent: :destroy, inverse_of: :job # rubocop:disable Cop/ActiveRecordDependent
has_many :job_variables, class_name: 'Ci::JobVariable', foreign_key: :job_id has_many :job_variables, class_name: 'Ci::JobVariable', foreign_key: :job_id
...@@ -56,7 +55,6 @@ module Ci ...@@ -56,7 +55,6 @@ module Ci
accepts_nested_attributes_for :runner_session accepts_nested_attributes_for :runner_session
accepts_nested_attributes_for :job_variables accepts_nested_attributes_for :job_variables
accepts_nested_attributes_for :needs
delegate :url, to: :runner_session, prefix: true, allow_nil: true delegate :url, to: :runner_session, prefix: true, allow_nil: true
delegate :terminal_specification, to: :runner_session, allow_nil: true delegate :terminal_specification, to: :runner_session, allow_nil: true
......
...@@ -8,6 +8,14 @@ module Ci ...@@ -8,6 +8,14 @@ module Ci
# #
# #
module Processable module Processable
extend ActiveSupport::Concern
included do
has_many :needs, class_name: 'Ci::BuildNeed', foreign_key: :build_id, inverse_of: :build
accepts_nested_attributes_for :needs
end
def schedulable? def schedulable?
raise NotImplementedError raise NotImplementedError
end end
......
...@@ -24,6 +24,8 @@ class PagesDomain < ApplicationRecord ...@@ -24,6 +24,8 @@ class PagesDomain < ApplicationRecord
validate :validate_matching_key, if: ->(domain) { domain.certificate.present? || domain.key.present? } validate :validate_matching_key, if: ->(domain) { domain.certificate.present? || domain.key.present? }
validate :validate_intermediates, if: ->(domain) { domain.certificate.present? && domain.certificate_changed? } validate :validate_intermediates, if: ->(domain) { domain.certificate.present? && domain.certificate_changed? }
default_value_for(:auto_ssl_enabled, allow_nil: false) { ::Gitlab::LetsEncrypt.enabled? }
attr_encrypted :key, attr_encrypted :key,
mode: :per_attribute_iv_and_salt, mode: :per_attribute_iv_and_salt,
insecure_mode: true, insecure_mode: true,
......
...@@ -37,7 +37,8 @@ ...@@ -37,7 +37,8 @@
%button.btn.js-settings-toggle{ type: 'button' } %button.btn.js-settings-toggle{ type: 'button' }
= expanded ? _('Collapse') : _('Expand') = expanded ? _('Collapse') : _('Expand')
%p %p
= _("Register and see your runners for this project.") = _("Runners are processes that pick up and execute jobs for GitLab. Here you can register and see your Runners for this project.")
= link_to s_('More information'), help_page_path('ci/runners/README')
.settings-content .settings-content
= render 'projects/runners/index' = render 'projects/runners/index'
......
.light.prepend-top-default .light.prepend-top-default
%p %p
= _("A 'Runner' is a process which runs a job. You can set up as many Runners as you need.") = _("You can set up as many Runners as you need to run your jobs.")
%br %br
= _('Runners can be placed on separate users, servers, and even on your local machine.') = _('Runners can be placed on separate users, servers, and even on your local machine.')
......
---
title: Update Runners Settings Text + Link to Docs
merge_request: 18534
author:
type: changed
---
title: Upgrade pages to 1.12.0
merge_request: 20217
author:
type: added
...@@ -14082,9 +14082,6 @@ msgstr "" ...@@ -14082,9 +14082,6 @@ msgstr ""
msgid "Register and see your runners for this group." msgid "Register and see your runners for this group."
msgstr "" msgstr ""
msgid "Register and see your runners for this project."
msgstr ""
msgid "Register for GitLab" msgid "Register for GitLab"
msgstr "" msgstr ""
...@@ -14720,6 +14717,9 @@ msgstr "" ...@@ -14720,6 +14717,9 @@ msgstr ""
msgid "Runners activated for this project" msgid "Runners activated for this project"
msgstr "" msgstr ""
msgid "Runners are processes that pick up and execute jobs for GitLab. Here you can register and see your Runners for this project."
msgstr ""
msgid "Runners can be placed on separate users, servers, and even on your local machine." msgid "Runners can be placed on separate users, servers, and even on your local machine."
msgstr "" msgstr ""
...@@ -19722,6 +19722,9 @@ msgstr "" ...@@ -19722,6 +19722,9 @@ msgstr ""
msgid "You can see your chat accounts." msgid "You can see your chat accounts."
msgstr "" msgstr ""
msgid "You can set up as many Runners as you need to run your jobs."
msgstr ""
msgid "You can set up jobs to only use Runners with specific tags. Separate tags with commas." msgid "You can set up jobs to only use Runners with specific tags. Separate tags with commas."
msgstr "" msgstr ""
......
...@@ -23,6 +23,18 @@ describe "Pages with Let's Encrypt", :https_pages_enabled do ...@@ -23,6 +23,18 @@ describe "Pages with Let's Encrypt", :https_pages_enabled do
end end
end end
it "creates new domain with Let's Encrypt enabled by default" do
visit new_project_pages_domain_path(project)
fill_in 'Domain', with: 'my.test.domain.com'
expect(find("#pages_domain_auto_ssl_enabled", visible: false).value).to eq 'true'
click_button 'Create New Domain'
expect(page).to have_content('my.test.domain.com')
expect(PagesDomain.find_by_domain('my.test.domain.com').auto_ssl_enabled).to eq(true)
end
context 'when the auto SSL management is initially disabled' do context 'when the auto SSL management is initially disabled' do
let(:domain) do let(:domain) do
create(:pages_domain, auto_ssl_enabled: false, project: project) create(:pages_domain, auto_ssl_enabled: false, project: project)
...@@ -96,7 +108,7 @@ describe "Pages with Let's Encrypt", :https_pages_enabled do ...@@ -96,7 +108,7 @@ describe "Pages with Let's Encrypt", :https_pages_enabled do
end end
context 'when certificate is provided by user' do context 'when certificate is provided by user' do
let(:domain) { create(:pages_domain, project: project) } let(:domain) { create(:pages_domain, project: project, auto_ssl_enabled: false) }
it 'user sees certificate subject' do it 'user sees certificate subject' do
visit edit_project_pages_domain_path(project, domain) visit edit_project_pages_domain_path(project, domain)
......
...@@ -133,7 +133,7 @@ shared_examples 'pages settings editing' do ...@@ -133,7 +133,7 @@ shared_examples 'pages settings editing' do
end end
end end
context 'when pages are exposed on external HTTPS address', :https_pages_enabled do context 'when pages are exposed on external HTTPS address', :https_pages_enabled, :js do
let(:certificate_pem) do let(:certificate_pem) do
<<~PEM <<~PEM
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
...@@ -178,6 +178,11 @@ shared_examples 'pages settings editing' do ...@@ -178,6 +178,11 @@ shared_examples 'pages settings editing' do
visit new_project_pages_domain_path(project) visit new_project_pages_domain_path(project)
fill_in 'Domain', with: 'my.test.domain.com' fill_in 'Domain', with: 'my.test.domain.com'
if ::Gitlab::LetsEncrypt.enabled?
find('.js-auto-ssl-toggle-container .project-feature-toggle').click
end
fill_in 'Certificate (PEM)', with: certificate_pem fill_in 'Certificate (PEM)', with: certificate_pem
fill_in 'Key (PEM)', with: certificate_key fill_in 'Key (PEM)', with: certificate_key
click_button 'Create New Domain' click_button 'Create New Domain'
...@@ -202,7 +207,7 @@ shared_examples 'pages settings editing' do ...@@ -202,7 +207,7 @@ shared_examples 'pages settings editing' do
describe 'updating the certificate for an existing domain' do describe 'updating the certificate for an existing domain' do
let!(:domain) do let!(:domain) do
create(:pages_domain, project: project) create(:pages_domain, project: project, auto_ssl_enabled: false)
end end
it 'allows the certificate to be updated' do it 'allows the certificate to be updated' do
...@@ -215,7 +220,7 @@ shared_examples 'pages settings editing' do ...@@ -215,7 +220,7 @@ shared_examples 'pages settings editing' do
end end
context 'when the certificate is invalid' do context 'when the certificate is invalid' do
let_it_be(:domain) do let!(:domain) do
create(:pages_domain, :without_certificate, :without_key, project: project) create(:pages_domain, :without_certificate, :without_key, project: project)
end end
...@@ -224,6 +229,10 @@ shared_examples 'pages settings editing' do ...@@ -224,6 +229,10 @@ shared_examples 'pages settings editing' do
within('#content-body') { click_link 'Edit' } within('#content-body') { click_link 'Edit' }
if ::Gitlab::LetsEncrypt.enabled?
find('.js-auto-ssl-toggle-container .project-feature-toggle').click
end
fill_in 'Certificate (PEM)', with: 'invalid data' fill_in 'Certificate (PEM)', with: 'invalid data'
click_button 'Save Changes' click_button 'Save Changes'
......
...@@ -13,7 +13,7 @@ describe PagesDomainSslRenewalCronWorker do ...@@ -13,7 +13,7 @@ describe PagesDomainSslRenewalCronWorker do
describe '#perform' do describe '#perform' do
let(:project) { create :project } let(:project) { create :project }
let!(:domain) { create(:pages_domain, project: project) } let!(:domain) { create(:pages_domain, project: project, auto_ssl_enabled: false) }
let!(:domain_with_enabled_auto_ssl) { create(:pages_domain, project: project, auto_ssl_enabled: true) } let!(:domain_with_enabled_auto_ssl) { create(:pages_domain, project: project, auto_ssl_enabled: true) }
let!(:domain_with_obtained_letsencrypt) do let!(:domain_with_obtained_letsencrypt) do
create(:pages_domain, :letsencrypt, project: project, auto_ssl_enabled: true) create(:pages_domain, :letsencrypt, project: project, auto_ssl_enabled: true)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment