Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2021-02-26 00:11:20 +00:00
parent a53c0ca02c
commit 2d099cf5e6
21 changed files with 327 additions and 247 deletions

View File

@ -37,11 +37,6 @@
&.gl-modal .modal-md { &.gl-modal .modal-md {
max-width: 640px; max-width: 640px;
} }
.dropdown-menu {
max-height: $dropdown-max-height;
@include gl-overflow-y-auto;
}
} }
//// Copied from roadmaps.scss - adapted for on-call schedules //// Copied from roadmaps.scss - adapted for on-call schedules

View File

@ -97,7 +97,7 @@ class Explore::ProjectsController < Explore::ApplicationController
end end
def default_sort_order def default_sort_order
sort_value_name sort_value_latest_activity
end end
def sorting_field def sorting_field

View File

@ -37,6 +37,11 @@ module Repositories
next unless matches next unless matches
# When using this class for generating changelog data for a range of
# commits, we want to compare against the tag of the last _stable_
# release; not some random RC that came after that.
next if matches[:prerelease]
version = matches[:version] version = matches[:version]
tags[version] = tag tags[version] = tag
versions << version versions << version

View File

@ -0,0 +1,5 @@
---
title: Fix Auto DevOps deploys that use a default branch that's not named 'master'
merge_request: 53280
author: Mitchell Cash @MitchellCash
type: fixed

View File

@ -0,0 +1,5 @@
---
title: Ignore prerelease tags when generating changelogs
merge_request: 55065
author:
type: changed

View File

@ -0,0 +1,5 @@
---
title: Reverts default sort order for Explore Projects to Last updated
merge_request: 54879
author:
type: changed

View File

@ -8,7 +8,11 @@ require 'marginalia'
# query. Prepending the comment allows us to trace the source of the # query. Prepending the comment allows us to trace the source of the
# query without having to increase the `track_activity_query_size` # query without having to increase the `track_activity_query_size`
# parameter. # parameter.
Marginalia::Comment.prepend_comment = true unless Rails.env.test? # Some tests do string matching against raw SQL #
# We only enable this in production because a number of tests do string
# matching against the raw SQL, and prepending the comment prevents color
# coding from working in the development log.
Marginalia::Comment.prepend_comment = true if Rails.env.production?
Marginalia::Comment.components = [:application, :controller, :action, :correlation_id, :jid, :job_class] Marginalia::Comment.components = [:application, :controller, :action, :correlation_id, :jid, :job_class]
# As mentioned in https://github.com/basecamp/marginalia/pull/93/files, # As mentioned in https://github.com/basecamp/marginalia/pull/93/files,

View File

@ -311,9 +311,9 @@ Supported attributes:
| `message` | string | no | The commit message to produce when committing the changes, defaults to `Add changelog for version X` where X is the value of the `version` argument. | | `message` | string | no | The commit message to produce when committing the changes, defaults to `Add changelog for version X` where X is the value of the `version` argument. |
If the `from` attribute is unspecified, GitLab uses the Git tag of the last If the `from` attribute is unspecified, GitLab uses the Git tag of the last
version that came before the version specified in the `version` attribute. For stable version that came before the version specified in the `version`
this to work, your project must create Git tags for versions using one of the attribute. For this to work, your project must create Git tags for versions
following formats: using one of the following formats:
- `vX.Y.Z` - `vX.Y.Z`
- `X.Y.Z` - `X.Y.Z`
@ -322,17 +322,58 @@ Where `X.Y.Z` is a version that follows [semantic
versioning](https://semver.org/). For example, consider a project with the versioning](https://semver.org/). For example, consider a project with the
following tags: following tags:
- v1.0.0-pre1
- v1.0.0 - v1.0.0
- v1.1.0 - v1.1.0
- v2.0.0 - v2.0.0
If the `version` attribute is `2.1.0`, GitLab uses tag v2.0.0. And when the If the `version` attribute is `2.1.0`, GitLab uses tag v2.0.0. And when the
version is `1.1.1`, or `1.2.0`, GitLab uses tag v1.1.0. version is `1.1.1`, or `1.2.0`, GitLab uses tag v1.1.0. The tag `v1.0.0-pre1` is
never used, because pre-release tags are ignored.
If `from` is unspecified and no tag to use is found, the API produces an error. If `from` is unspecified and no tag to use is found, the API produces an error.
To solve such an error, you must explicitly specify a value for the `from` To solve such an error, you must explicitly specify a value for the `from`
attribute. attribute.
### Examples
For these examples we use the project ID 42, and assume the project is hosted on
GitLab.com. The example API token we use is `token`. We use
[curl](https://curl.se/) to perform the HTTP requests.
Let's start with a basic example:
```shell
curl --header "PRIVATE-TOKEN: token" --data "version=1.0.0" "https://gitlab.com/api/v4/projects/42/repository/changelog"
```
This generates a changelog for version `1.0.0`. The start of the range of
commits to include is the tag of the last release. The end of the range is the
last commit on the target branch, which defaults to the project's default
branch. So if the last tag is `v0.9.0`, and the default branch is `main`, this
means the range of commits is `v0.9.0..main`.
If you want to generate the data on a different branch, you can do so as
follows:
```shell
curl --header "PRIVATE-TOKEN: token" --data "version=1.0.0&branch=foo" "https://gitlab.com/api/v4/projects/42/repository/changelog"
```
This generates the data on the `foo` branch.
A different trailer to use is specified as follows:
```shell
curl --header "PRIVATE-TOKEN: token" --data "version=1.0.0&trailer=Type" "https://gitlab.com/api/v4/projects/42/repository/changelog"
```
Or perhaps you want to store the results in a different file:
```shell
curl --header "PRIVATE-TOKEN: token" --data "version=1.0.0&file=NEWS" "https://gitlab.com/api/v4/projects/42/repository/changelog"
```
### How it works ### How it works
Changelogs are generated based on commit titles. Commits are only included if Changelogs are generated based on commit titles. Commits are only included if

View File

@ -23,7 +23,7 @@ review:
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$REVIEW_DISABLED' - if: '$REVIEW_DISABLED'
when: never when: never
@ -44,7 +44,7 @@ stop_review:
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$REVIEW_DISABLED' - if: '$REVIEW_DISABLED'
when: never when: never
@ -73,7 +73,7 @@ staging:
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$STAGING_ENABLED' - if: '$STAGING_ENABLED'
@ -98,7 +98,7 @@ canary:
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CANARY_ENABLED' - if: '$CANARY_ENABLED'
when: manual when: manual
@ -136,7 +136,7 @@ production:
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE' - if: '$INCREMENTAL_ROLLOUT_MODE'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
production_manual: production_manual:
<<: *production_template <<: *production_template
@ -148,9 +148,9 @@ production_manual:
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE' - if: '$INCREMENTAL_ROLLOUT_MODE'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master" && $STAGING_ENABLED' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $STAGING_ENABLED'
when: manual when: manual
- if: '$CI_COMMIT_BRANCH == "master" && $CANARY_ENABLED' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CANARY_ENABLED'
when: manual when: manual
# This job implements incremental rollout on for every push to `master`. # This job implements incremental rollout on for every push to `master`.
@ -184,7 +184,7 @@ production_manual:
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE == "timed"' - if: '$INCREMENTAL_ROLLOUT_MODE == "timed"'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
# $INCREMENTAL_ROLLOUT_ENABLED is for compatibility with pre-GitLab 11.4 syntax # $INCREMENTAL_ROLLOUT_ENABLED is for compatibility with pre-GitLab 11.4 syntax
- if: '$INCREMENTAL_ROLLOUT_MODE == "manual" || $INCREMENTAL_ROLLOUT_ENABLED' - if: '$INCREMENTAL_ROLLOUT_MODE == "manual" || $INCREMENTAL_ROLLOUT_ENABLED'
@ -197,7 +197,7 @@ production_manual:
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE == "manual"' - if: '$INCREMENTAL_ROLLOUT_MODE == "manual"'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE == "timed"' - if: '$INCREMENTAL_ROLLOUT_MODE == "timed"'
when: delayed when: delayed

View File

@ -23,7 +23,7 @@ review:
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$REVIEW_DISABLED' - if: '$REVIEW_DISABLED'
when: never when: never
@ -44,7 +44,7 @@ stop_review:
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$REVIEW_DISABLED' - if: '$REVIEW_DISABLED'
when: never when: never
@ -73,7 +73,7 @@ staging:
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$STAGING_ENABLED' - if: '$STAGING_ENABLED'
@ -98,7 +98,7 @@ canary:
rules: rules:
- if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""' - if: '$CI_KUBERNETES_ACTIVE == null || $CI_KUBERNETES_ACTIVE == ""'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CANARY_ENABLED' - if: '$CANARY_ENABLED'
when: manual when: manual
@ -135,7 +135,7 @@ production:
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE' - if: '$INCREMENTAL_ROLLOUT_MODE'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
production_manual: production_manual:
<<: *production_template <<: *production_template
@ -147,9 +147,9 @@ production_manual:
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE' - if: '$INCREMENTAL_ROLLOUT_MODE'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master" && $STAGING_ENABLED' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $STAGING_ENABLED'
when: manual when: manual
- if: '$CI_COMMIT_BRANCH == "master" && $CANARY_ENABLED' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CANARY_ENABLED'
when: manual when: manual
# This job implements incremental rollout on for every push to `master`. # This job implements incremental rollout on for every push to `master`.
@ -181,7 +181,7 @@ production_manual:
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE == "timed"' - if: '$INCREMENTAL_ROLLOUT_MODE == "timed"'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
# $INCREMENTAL_ROLLOUT_ENABLED is for compatibility with pre-GitLab 11.4 syntax # $INCREMENTAL_ROLLOUT_ENABLED is for compatibility with pre-GitLab 11.4 syntax
- if: '$INCREMENTAL_ROLLOUT_MODE == "manual" || $INCREMENTAL_ROLLOUT_ENABLED' - if: '$INCREMENTAL_ROLLOUT_MODE == "manual" || $INCREMENTAL_ROLLOUT_ENABLED'
@ -194,7 +194,7 @@ production_manual:
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE == "manual"' - if: '$INCREMENTAL_ROLLOUT_MODE == "manual"'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$INCREMENTAL_ROLLOUT_MODE == "timed"' - if: '$INCREMENTAL_ROLLOUT_MODE == "timed"'
when: delayed when: delayed

View File

@ -20,7 +20,7 @@ review_ec2:
when: never when: never
- if: '$REVIEW_DISABLED' - if: '$REVIEW_DISABLED'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'
@ -34,6 +34,6 @@ production_ec2:
when: never when: never
- if: '$CI_KUBERNETES_ACTIVE' - if: '$CI_KUBERNETES_ACTIVE'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'

View File

@ -46,7 +46,7 @@ review_ecs:
when: never when: never
- if: '$REVIEW_DISABLED' - if: '$REVIEW_DISABLED'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'
@ -62,7 +62,7 @@ stop_review_ecs:
when: never when: never
- if: '$REVIEW_DISABLED' - if: '$REVIEW_DISABLED'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'
when: manual when: manual
@ -81,7 +81,7 @@ review_fargate:
when: never when: never
- if: '$REVIEW_DISABLED' - if: '$REVIEW_DISABLED'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'
@ -97,7 +97,7 @@ stop_review_fargate:
when: never when: never
- if: '$REVIEW_DISABLED' - if: '$REVIEW_DISABLED'
when: never when: never
- if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'
when: manual when: manual
@ -109,7 +109,7 @@ production_ecs:
when: never when: never
- if: '$CI_KUBERNETES_ACTIVE' - if: '$CI_KUBERNETES_ACTIVE'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'
@ -120,6 +120,6 @@ production_fargate:
when: never when: never
- if: '$CI_KUBERNETES_ACTIVE' - if: '$CI_KUBERNETES_ACTIVE'
when: never when: never
- if: '$CI_COMMIT_BRANCH != "master"' - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
when: never when: never
- if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH' - if: '$CI_COMMIT_TAG || $CI_COMMIT_BRANCH'

View File

@ -81,7 +81,7 @@
"codesandbox-api": "0.0.23", "codesandbox-api": "0.0.23",
"compression-webpack-plugin": "^5.0.2", "compression-webpack-plugin": "^5.0.2",
"copy-webpack-plugin": "^5.1.2", "copy-webpack-plugin": "^5.1.2",
"core-js": "^3.8.3", "core-js": "^3.9.0",
"cron-validator": "^1.1.1", "cron-validator": "^1.1.1",
"cropper": "^2.3.0", "cropper": "^2.3.0",
"css-loader": "^2.1.1", "css-loader": "^2.1.1",

View File

@ -4,6 +4,8 @@ require 'spec_helper'
RSpec.describe Explore::ProjectsController do RSpec.describe Explore::ProjectsController do
shared_examples 'explore projects' do shared_examples 'explore projects' do
let(:expected_default_sort) { 'latest_activity_desc' }
describe 'GET #index.json' do describe 'GET #index.json' do
render_views render_views
@ -12,6 +14,11 @@ RSpec.describe Explore::ProjectsController do
end end
it { is_expected.to respond_with(:success) } it { is_expected.to respond_with(:success) }
it 'sets a default sort parameter' do
expect(controller.params[:sort]).to eq(expected_default_sort)
expect(assigns[:sort]).to eq(expected_default_sort)
end
end end
describe 'GET #trending.json' do describe 'GET #trending.json' do
@ -22,6 +29,11 @@ RSpec.describe Explore::ProjectsController do
end end
it { is_expected.to respond_with(:success) } it { is_expected.to respond_with(:success) }
it 'sets a default sort parameter' do
expect(controller.params[:sort]).to eq(expected_default_sort)
expect(assigns[:sort]).to eq(expected_default_sort)
end
end end
describe 'GET #starred.json' do describe 'GET #starred.json' do
@ -32,6 +44,11 @@ RSpec.describe Explore::ProjectsController do
end end
it { is_expected.to respond_with(:success) } it { is_expected.to respond_with(:success) }
it 'sets a default sort parameter' do
expect(controller.params[:sort]).to eq(expected_default_sort)
expect(assigns[:sort]).to eq(expected_default_sort)
end
end end
describe 'GET #trending' do describe 'GET #trending' do

View File

@ -13,11 +13,6 @@ FactoryBot.define do
deleted_designs { [] } deleted_designs { [] }
end end
# Warning: this will intentionally result in an invalid version!
trait :empty do
designs_count { 0 }
end
trait :importing do trait :importing do
issue { nil } issue { nil }

View File

@ -194,7 +194,7 @@ FactoryBot.define do
filename, filename,
content, content,
message: "Automatically created file #{filename}", message: "Automatically created file #{filename}",
branch_name: 'master' branch_name: project.default_branch_or_master
) )
end end
end end

View File

@ -13,7 +13,6 @@ RSpec.describe 'factories' do
[:ci_job_artifact, :raw], [:ci_job_artifact, :raw],
[:ci_job_artifact, :gzip], [:ci_job_artifact, :gzip],
[:ci_job_artifact, :correct_checksum], [:ci_job_artifact, :correct_checksum],
[:design_version, :empty],
[:environment, :non_playable], [:environment, :non_playable],
[:go_module_commit, :files], [:go_module_commit, :files],
[:go_module_commit, :package], [:go_module_commit, :package],

View File

@ -13,18 +13,19 @@ RSpec.describe Repositories::PreviousTagFinder do
tag2 = double(:tag2, name: 'v1.1.0') tag2 = double(:tag2, name: 'v1.1.0')
tag3 = double(:tag3, name: 'v2.0.0') tag3 = double(:tag3, name: 'v2.0.0')
tag4 = double(:tag4, name: '0.9.0') tag4 = double(:tag4, name: '0.9.0')
tag5 = double(:tag4, name: 'v0.8.0-pre1') tag5 = double(:tag5, name: 'v0.8.0-pre1')
tag6 = double(:tag6, name: 'v0.7.0')
allow(project.repository) allow(project.repository)
.to receive(:tags) .to receive(:tags)
.and_return([tag1, tag3, tag2, tag4, tag5]) .and_return([tag1, tag3, tag2, tag4, tag5, tag6])
expect(finder.execute('2.1.0')).to eq(tag3) expect(finder.execute('2.1.0')).to eq(tag3)
expect(finder.execute('2.0.0')).to eq(tag2) expect(finder.execute('2.0.0')).to eq(tag2)
expect(finder.execute('1.5.0')).to eq(tag2) expect(finder.execute('1.5.0')).to eq(tag2)
expect(finder.execute('1.0.1')).to eq(tag1) expect(finder.execute('1.0.1')).to eq(tag1)
expect(finder.execute('1.0.0')).to eq(tag4) expect(finder.execute('1.0.0')).to eq(tag4)
expect(finder.execute('0.9.0')).to eq(tag5) expect(finder.execute('0.9.0')).to eq(tag6)
end end
end end

View File

@ -3,10 +3,16 @@
require 'spec_helper' require 'spec_helper'
RSpec.describe 'Auto-DevOps.gitlab-ci.yml' do RSpec.describe 'Auto-DevOps.gitlab-ci.yml' do
using RSpec::Parameterized::TableSyntax
subject(:template) { Gitlab::Template::GitlabCiYmlTemplate.find('Auto-DevOps') } subject(:template) { Gitlab::Template::GitlabCiYmlTemplate.find('Auto-DevOps') }
where(:default_branch) do
%w[master main]
end
with_them do
describe 'the created pipeline' do describe 'the created pipeline' do
let(:default_branch) { 'master' }
let(:pipeline_branch) { default_branch } let(:pipeline_branch) { default_branch }
let(:project) { create(:project, :auto_devops, :custom_repo, files: { 'README.md' => '' }) } let(:project) { create(:project, :auto_devops, :custom_repo, files: { 'README.md' => '' }) }
let(:user) { project.owner } let(:user) { project.owner }
@ -15,9 +21,9 @@ RSpec.describe 'Auto-DevOps.gitlab-ci.yml' do
let(:build_names) { pipeline.builds.pluck(:name) } let(:build_names) { pipeline.builds.pluck(:name) }
before do before do
stub_application_setting(default_branch_name: default_branch)
stub_ci_pipeline_yaml_file(template.content) stub_ci_pipeline_yaml_file(template.content)
allow_any_instance_of(Ci::BuildScheduleWorker).to receive(:perform).and_return(true) allow_any_instance_of(Ci::BuildScheduleWorker).to receive(:perform).and_return(true)
allow(project).to receive(:default_branch).and_return(default_branch)
end end
shared_examples 'no Kubernetes deployment job' do shared_examples 'no Kubernetes deployment job' do
@ -84,7 +90,7 @@ RSpec.describe 'Auto-DevOps.gitlab-ci.yml' do
let(:pipeline_branch) { 'patch-1' } let(:pipeline_branch) { 'patch-1' }
before do before do
project.repository.create_branch(pipeline_branch) project.repository.create_branch(pipeline_branch, default_branch)
end end
%w(review_ecs review_fargate).each do |job| %w(review_ecs review_fargate).each do |job|
@ -190,7 +196,7 @@ RSpec.describe 'Auto-DevOps.gitlab-ci.yml' do
let(:pipeline_branch) { 'patch-1' } let(:pipeline_branch) { 'patch-1' }
before do before do
project.repository.create_branch(pipeline_branch) project.repository.create_branch(pipeline_branch, default_branch)
end end
it 'does not include rollout jobs besides review' do it 'does not include rollout jobs besides review' do
@ -234,11 +240,12 @@ RSpec.describe 'Auto-DevOps.gitlab-ci.yml' do
with_them do with_them do
let(:project) { create(:project, :custom_repo, files: files) } let(:project) { create(:project, :custom_repo, files: files) }
let(:user) { project.owner } let(:user) { project.owner }
let(:service) { Ci::CreatePipelineService.new(project, user, ref: 'master' ) } let(:service) { Ci::CreatePipelineService.new(project, user, ref: default_branch ) }
let(:pipeline) { service.execute(:push) } let(:pipeline) { service.execute(:push) }
let(:build_names) { pipeline.builds.pluck(:name) } let(:build_names) { pipeline.builds.pluck(:name) }
before do before do
stub_application_setting(default_branch_name: default_branch)
stub_ci_pipeline_yaml_file(template.content) stub_ci_pipeline_yaml_file(template.content)
allow_any_instance_of(Ci::BuildScheduleWorker).to receive(:perform).and_return(true) allow_any_instance_of(Ci::BuildScheduleWorker).to receive(:perform).and_return(true)
variables.each do |(key, value)| variables.each do |(key, value)|
@ -253,3 +260,4 @@ RSpec.describe 'Auto-DevOps.gitlab-ci.yml' do
end end
end end
end end
end

View File

@ -35,7 +35,7 @@ module DesignManagementTestHelpers
def act_on_designs(designs, &block) def act_on_designs(designs, &block)
issue = designs.first.issue issue = designs.first.issue
version = build(:design_version, :empty, issue: issue).tap { |v| v.save!(validate: false) } version = build(:design_version, designs_count: 0, issue: issue).tap { |v| v.save!(validate: false) }
designs.each do |d| designs.each do |d|
yield.create!(design: d, version: version) yield.create!(design: d, version: version)
end end

View File

@ -3407,10 +3407,10 @@ core-js-pure@^3.0.0:
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813"
integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==
core-js@^3.1.3, core-js@^3.8.3: core-js@^3.1.3, core-js@^3.9.0:
version "3.8.3" version "3.9.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz#c21906e1f14f3689f93abcc6e26883550dd92dd0" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.0.tgz#790b1bb11553a2272b36e2625c7179db345492f8"
integrity sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== integrity sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ==
core-js@~2.3.0: core-js@~2.3.0:
version "2.3.0" version "2.3.0"