Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
049fd8333a
commit
f8edb3a740
14 changed files with 126 additions and 109 deletions
|
@ -438,7 +438,7 @@
|
|||
- "vendor/assets/javascripts/**/*"
|
||||
|
||||
.feature-flag-development-config-patterns: &feature-flag-development-config-patterns
|
||||
- "{,ee/}config/feature_flags/development/*.yml"
|
||||
- "{,ee/}config/feature_flags/{development,ops}/*.yml"
|
||||
|
||||
################
|
||||
# Shared rules #
|
||||
|
|
2
.nvmrc
2
.nvmrc
|
@ -1 +1 @@
|
|||
14.15.4
|
||||
14.17.5
|
||||
|
|
|
@ -2556,7 +2556,6 @@ Style/OpenStructUse:
|
|||
- 'ee/spec/features/projects/new_project_spec.rb'
|
||||
- 'ee/spec/finders/template_finder_spec.rb'
|
||||
- 'ee/spec/graphql/ee/resolvers/board_lists_resolver_spec.rb'
|
||||
- 'ee/spec/graphql/mutations/merge_requests/accept_spec.rb'
|
||||
- 'ee/spec/graphql/resolvers/board_groupings/epics_resolvers_spec.rb'
|
||||
- 'ee/spec/helpers/ee/blob_helper_spec.rb'
|
||||
- 'ee/spec/lib/gitlab/auth/group_saml/failure_handler_spec.rb'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- name: "Rename Task Runner pod to Toolbox" # The name of the feature to be deprecated
|
||||
announcement_milestone: "14.2" # The milestone when this feature was first announced as deprecated.
|
||||
announcement_date: "2021-08-22" # The date of the milestone release when this feature was first announced as deprecated
|
||||
removal_milestone: "14.4" # The milestone when this feature is planned to be removed
|
||||
removal_milestone: "14.5" # The milestone when this feature is planned to be removed
|
||||
body: | # Do not modify this line, instead modify the lines below.
|
||||
The Task Runner pod is used to execute periodic housekeeping tasks within the GitLab application and is often confused with the GitLab Runner. Thus, [Task Runner will be renamed to Toolbox](https://gitlab.com/groups/gitlab-org/charts/-/epics/25).
|
||||
|
||||
|
|
6
data/deprecations/15-0-deprecate-sles-12sp2.yml
Normal file
6
data/deprecations/15-0-deprecate-sles-12sp2.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
- name: "Deprecate support for SLES 12 SP2" # The name of the feature to be deprecated
|
||||
announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated.
|
||||
announcement_date: "2021-11-22"
|
||||
removal_milestone: "15.0" # the milestone when this feature is planned to be removed
|
||||
body: | # Do not modify this line, instead modify the lines below.
|
||||
Long term service and support (LTSS) for SUSE Linux Enterprise Server (SLES) 12 SP2 [ended on March 31, 2021](https://www.suse.com/lifecycle/). The CA certificates on SP2 include the expired DST root certificate, and it's not getting new CA certificate package updates. We have implemented some [workarounds](https://gitlab.com/gitlab-org/gitlab-omnibus-builder/-/merge_requests/191), but we will not be able to continue to keep the build running properly.
|
|
@ -8,55 +8,9 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
|
||||
## Filter parameters
|
||||
|
||||
### Action Types
|
||||
|
||||
Available types for the `action` parameter, and the resources that might be affected:
|
||||
|
||||
- `approved`
|
||||
- Merge request
|
||||
- `closed`
|
||||
- Epic **(PREMIUM)**
|
||||
- Issue
|
||||
- Merge request
|
||||
- Milestone
|
||||
- `commented` on any `Noteable` record.
|
||||
- Alert
|
||||
- Commit
|
||||
- Design
|
||||
- Issue
|
||||
- Merge request
|
||||
- Snippet
|
||||
- `created`
|
||||
- Design
|
||||
- Epic **(PREMIUM)**
|
||||
- Issue
|
||||
- Merge request
|
||||
- Milestone
|
||||
- Project
|
||||
- Wiki page
|
||||
- `destroyed`
|
||||
- Design
|
||||
- Milestone
|
||||
- Wiki page
|
||||
- `expired`
|
||||
- Project membership
|
||||
- `joined`
|
||||
- Project membership
|
||||
- `left`
|
||||
- Project membership
|
||||
- `merged`
|
||||
- Merge request
|
||||
- `pushed` commits to (or deleted commits from) a repository, individually or in bulk.
|
||||
- Project
|
||||
- `reopened`
|
||||
- Epic **(PREMIUM)**
|
||||
- Issue
|
||||
- Merge request
|
||||
- Milestone
|
||||
- `updated`
|
||||
- Design
|
||||
- Wiki page
|
||||
### Actions
|
||||
|
||||
See [User contribution events](../user/index.md#user-contribution-events) for available types for the `action` parameter.
|
||||
These options are in lowercase.
|
||||
|
||||
### Target Types
|
||||
|
@ -72,6 +26,7 @@ Available target types for the `target_type` parameter are:
|
|||
- `user`
|
||||
|
||||
These options are in lowercase.
|
||||
Events associated with epics are not available using the API.
|
||||
|
||||
### Date formatting
|
||||
|
||||
|
@ -88,6 +43,7 @@ GitLab removes events older than 3 years from the events table for performance r
|
|||
## List currently authenticated user's events
|
||||
|
||||
Get a list of events for the authenticated user. Scope `read_user` or `api` is required.
|
||||
Events associated with epics are not available using the API.
|
||||
|
||||
```plaintext
|
||||
GET /events
|
||||
|
@ -97,7 +53,7 @@ Parameters:
|
|||
|
||||
| Attribute | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `action` | string | no | Include only events of a particular [action type](#action-types) |
|
||||
| `action` | string | no | Include only events of a particular [action type](#actions) |
|
||||
| `target_type` | string | no | Include only events of a particular [target type](#target-types) |
|
||||
| `before` | date | no | Include only events created before a particular date. [View how to format dates](#date-formatting). |
|
||||
| `after` | date | no | Include only events created after a particular date. [View how to format dates](#date-formatting). |
|
||||
|
@ -160,6 +116,7 @@ Example response:
|
|||
### Get user contribution events
|
||||
|
||||
Get the contribution events for the specified user, sorted from newest to oldest. Scope `read_user` or `api` is required.
|
||||
Events associated with epics are not available using API.
|
||||
|
||||
```plaintext
|
||||
GET /users/:id/events
|
||||
|
@ -170,7 +127,7 @@ Parameters:
|
|||
| Attribute | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `id` | integer | yes | The ID or Username of the user |
|
||||
| `action` | string | no | Include only events of a particular [action type](#action-types) |
|
||||
| `action` | string | no | Include only events of a particular [action type](#actions) |
|
||||
| `target_type` | string | no | Include only events of a particular [target type](#target-types) |
|
||||
| `before` | date | no | Include only events created before a particular date. [View how to format dates](#date-formatting). |
|
||||
| `after` | date | no | Include only events created after a particular date. [View how to format dates](#date-formatting). |
|
||||
|
@ -308,7 +265,7 @@ Parameters:
|
|||
| Attribute | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `project_id` | integer/string | yes | The ID or [URL-encoded path of the project](index.md#namespaced-path-encoding) |
|
||||
| `action` | string | no | Include only events of a particular [action type](#action-types) |
|
||||
| `action` | string | no | Include only events of a particular [action type](#actions) |
|
||||
| `target_type` | string | no | Include only events of a particular [target type](#target-types) |
|
||||
| `before` | date | no | Include only events created before a particular date. [View how to format dates](#date-formatting). |
|
||||
| `after` | date | no | Include only events created after a particular date. [View how to format dates](#date-formatting). |
|
||||
|
|
|
@ -36,7 +36,7 @@ For deprecation reviewers (Technical Writers only):
|
|||
https://about.gitlab.com/handbook/marketing/blog/release-posts/#update-the-deprecations-doc
|
||||
-->
|
||||
|
||||
## 14.4
|
||||
## 14.5
|
||||
|
||||
### Rename Task Runner pod to Toolbox
|
||||
|
||||
|
@ -94,6 +94,12 @@ In milestone 15.0, we will completely remove `Version` from `PackageType`.
|
|||
|
||||
Announced: 2021-11-22
|
||||
|
||||
### Deprecate support for SLES 12 SP2
|
||||
|
||||
Long term service and support (LTSS) for SUSE Linux Enterprise Server (SLES) 12 SP2 [ended on March 31, 2021](https://www.suse.com/lifecycle/). The CA certificates on SP2 include the expired DST root certificate, and it's not getting new CA certificate package updates. We have implemented some [workarounds](https://gitlab.com/gitlab-org/gitlab-omnibus-builder/-/merge_requests/191), but we will not be able to continue to keep the build running properly.
|
||||
|
||||
Announced: 2021-11-22
|
||||
|
||||
### GitLab Serverless
|
||||
|
||||
[GitLab Serverless](https://docs.gitlab.com/ee/user/project/clusters/serverless/) is a feature set to support Knative-based serverless development with automatic deployments and monitoring.
|
||||
|
|
|
@ -308,7 +308,7 @@ To support the following package managers, the GitLab analyzers proceed in two s
|
|||
| Bundler | [2.1.4](https://gitlab.com/gitlab-org/security-products/analyzers/bundler-audit/-/blob/v2.11.3/Dockerfile#L15)<sup><b><a href="#exported-dependency-information-notes-1">1</a></b></sup> | [1.17.3](https://gitlab.com/gitlab-org/security-products/tests/ruby-bundler/-/blob/master/Gemfile.lock#L118), [2.1.4](https://gitlab.com/gitlab-org/security-products/tests/ruby-bundler/-/blob/bundler2-FREEZE/Gemfile.lock#L118) |
|
||||
| sbt | [1.3.8](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven/-/blob/v2.23.0/config/.tool-versions#L4) | [1.0.4](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven/-/blob/master/.gitlab-ci.yml#L263), [1.1.4](https://gitlab.com/gitlab-org/security-products/tests/scala-sbt-multiproject/-/blob/main/project/build.properties#L1), [1.1.6](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven/-/blob/master/.gitlab-ci.yml#L272), [1.2.8](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven/-/blob/master/.gitlab-ci.yml#L281), [1.3.12](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven/-/blob/master/.gitlab-ci.yml#L290), [1.4.6](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven/-/blob/master/.gitlab-ci.yml#L299) |
|
||||
| Maven | [3.6.3](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven/-/blob/v2.23.0/config/.tool-versions#L3) | [3.6.3](https://gitlab.com/gitlab-org/security-products/tests/java-maven/-/blob/master/pom.xml#L3) |
|
||||
| Gradle | [6.7.1](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven/-/blob/v2.23.0/config/.tool-versions#L5) | [5.6.4](https://gitlab.com/gitlab-org/security-products/tests/java-gradle/-/blob/master/gradle/wrapper/gradle-wrapper.properties#L3), [6.5](https://gitlab.com/gitlab-org/security-products/tests/java-gradle/-/blob/java-14/gradle/wrapper/gradle-wrapper.properties#L3), [6.7-rc-1](https://gitlab.com/gitlab-org/security-products/tests/java-gradle/-/blob/java-15/gradle/wrapper/gradle-wrapper.properties#L3), [7.0-rc-2](https://gitlab.com/gitlab-org/security-products/tests/java-gradle/-/blob/java-16/gradle/wrapper/gradle-wrapper.properties#L3) |
|
||||
| Gradle | [6.7.1](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-maven/-/blob/v2.23.0/config/.tool-versions#L5) | [5.6.4](https://gitlab.com/gitlab-org/security-products/tests/java-gradle/-/blob/master/gradle/wrapper/gradle-wrapper.properties#L3), [6.5](https://gitlab.com/gitlab-org/security-products/tests/java-gradle/-/blob/java-14/gradle/wrapper/gradle-wrapper.properties#L3), [6.7-rc-1](https://gitlab.com/gitlab-org/security-products/tests/java-gradle/-/blob/java-15/gradle/wrapper/gradle-wrapper.properties#L3), [6.9](https://gitlab.com/gitlab-org/security-products/tests/java-gradle/-/blob/java-14-gradle-6-9/gradle/wrapper/gradle-wrapper.properties#L3), [7.0-rc-2](https://gitlab.com/gitlab-org/security-products/tests/java-gradle/-/blob/java-16/gradle/wrapper/gradle-wrapper.properties#L3) |
|
||||
| setuptools | [50.3.2](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/v2.29.9/Dockerfile#L27) | |
|
||||
| pip | [20.2.4](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium/-/blob/v2.29.9/Dockerfile#L26) | [20.x](https://gitlab.com/gitlab-org/security-products/tests/python-pip/-/blob/master/requirements.txt) |
|
||||
| Pipenv | [2018.11.26](https://gitlab.com/gitlab-org/security-products/analyzers/gemnasium-python/-/blob/v2.18.4/requirements.txt#L13) | [2018.11.26](https://gitlab.com/gitlab-org/security-products/tests/python-pipenv/-/blob/pipfile-lock-FREEZE/Pipfile.lock#L6)<sup><b><a href="#exported-dependency-information-notes-2">2</a></b></sup>, [2018.11.26](https://gitlab.com/gitlab-org/security-products/tests/python-pipenv/-/blob/master/Pipfile) |
|
||||
|
|
|
@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/3090) in GitLab 12.2 for subgroups.
|
||||
|
||||
With Contribution Analytics you can get an overview of the [contribution actions](../../../api/events.md#action-types) in your
|
||||
With Contribution Analytics, you can get an overview of the [contribution events](../../index.md#user-contribution-events) in your
|
||||
group.
|
||||
|
||||
- Analyze your team's contributions over a period of time, and offer a bonus for the top
|
||||
|
|
|
@ -85,6 +85,7 @@ There are several types of users in GitLab:
|
|||
|
||||
## User activity
|
||||
|
||||
GitLab tracks user contribution activity.
|
||||
You can follow or unfollow other users from their [user profiles](profile/index.md#access-your-user-profile).
|
||||
To view a user's activity in a top-level Activity view:
|
||||
|
||||
|
@ -92,6 +93,55 @@ To view a user's activity in a top-level Activity view:
|
|||
1. In the GitLab menu, select **Activity**.
|
||||
1. Select the **Followed users** tab.
|
||||
|
||||
### User contribution events
|
||||
|
||||
Each of these contribution events is tracked:
|
||||
|
||||
- `approved`
|
||||
- Merge request
|
||||
- `closed`
|
||||
- [Epic](group/epics/index.md)
|
||||
- Issue
|
||||
- Merge request
|
||||
- Milestone
|
||||
- `commented` on any `Noteable` record.
|
||||
- Alert
|
||||
- Commit
|
||||
- Design
|
||||
- Issue
|
||||
- Merge request
|
||||
- Snippet
|
||||
- `created`
|
||||
- Design
|
||||
- [Epic](group/epics/index.md)
|
||||
- Issue
|
||||
- Merge request
|
||||
- Milestone
|
||||
- Project
|
||||
- Wiki page
|
||||
- `destroyed`
|
||||
- Design
|
||||
- Milestone
|
||||
- Wiki page
|
||||
- `expired`
|
||||
- Project membership
|
||||
- `joined`
|
||||
- Project membership
|
||||
- `left`
|
||||
- Project membership
|
||||
- `merged`
|
||||
- Merge request
|
||||
- `pushed` commits to (or deleted commits from) a repository, individually or in bulk.
|
||||
- Project
|
||||
- `reopened`
|
||||
- [Epic](group/epics/index.md)
|
||||
- Issue
|
||||
- Merge request
|
||||
- Milestone
|
||||
- `updated`
|
||||
- Design
|
||||
- Wiki page
|
||||
|
||||
## Projects
|
||||
|
||||
In GitLab, you can create [projects](project/index.md) to host
|
||||
|
|
|
@ -129,7 +129,7 @@ To add links to other accounts:
|
|||
|
||||
## Show private contributions on your user profile page
|
||||
|
||||
In the user contribution calendar graph and recent activity list, you can see your [contribution actions](../../api/events.md#action-types) to private projects.
|
||||
In the user contribution calendar graph and recent activity list, you can see your [contribution actions](../index.md#user-contribution-events) to private projects.
|
||||
|
||||
To show private contributions:
|
||||
|
||||
|
|
|
@ -223,16 +223,13 @@ Consider a Pages site deployed with the following files:
|
|||
|
||||
```plaintext
|
||||
public/
|
||||
├─┬ index.html
|
||||
│ ├ data.html
|
||||
│ └ info.html
|
||||
│
|
||||
├── index.html
|
||||
├── data.html
|
||||
├── info.html
|
||||
├── data/
|
||||
│ └── index.html
|
||||
├── info/
|
||||
│ └── details.html
|
||||
└── other/
|
||||
└── index.html
|
||||
└── info/
|
||||
└── details.html
|
||||
```
|
||||
|
||||
Pages supports reaching each of these files through several different URLs. In
|
||||
|
@ -241,23 +238,19 @@ specifies the directory. If the URL references a file that doesn't exist, but
|
|||
adding `.html` to the URL leads to a file that *does* exist, it's served
|
||||
instead. Here are some examples of what happens given the above Pages site:
|
||||
|
||||
| URL path | HTTP response | File served |
|
||||
| -------------------- | ------------- | ----------- |
|
||||
| `/` | `200 OK` | `public/index.html` |
|
||||
| `/index.html` | `200 OK` | `public/index.html` |
|
||||
| `/index` | `200 OK` | `public/index.html` |
|
||||
| `/data` | `200 OK` | `public/data/index.html` |
|
||||
| `/data/` | `200 OK` | `public/data/index.html` |
|
||||
| `/data.html` | `200 OK` | `public/data.html` |
|
||||
| `/info` | `200 OK` | `public/info.html` |
|
||||
| `/info/` | `200 OK` | `public/info.html` |
|
||||
| `/info.html` | `200 OK` | `public/info.html` |
|
||||
| `/info/details` | `200 OK` | `public/info/details.html` |
|
||||
| `/info/details.html` | `200 OK` | `public/info/details.html` |
|
||||
| `/other` | `302 Found` | `public/other/index.html` |
|
||||
| `/other/` | `200 OK` | `public/other/index.html` |
|
||||
| `/other/index` | `200 OK` | `public/other/index.html` |
|
||||
| `/other/index.html` | `200 OK` | `public/other/index.html` |
|
||||
| URL path | HTTP response |
|
||||
| -------------------- | ------------- |
|
||||
| `/` | `200 OK`: `public/index.html` |
|
||||
| `/index.html` | `200 OK`: `public/index.html` |
|
||||
| `/index` | `200 OK`: `public/index.html` |
|
||||
| `/data` | `302 Found`: redirecting to `/data/` |
|
||||
| `/data/` | `200 OK`: `public/data/index.html` |
|
||||
| `/data.html` | `200 OK`: `public/data.html` |
|
||||
| `/info` | `302 Found`: redirecting to `/info/` |
|
||||
| `/info/` | `404 Not Found` Error Page |
|
||||
| `/info.html` | `200 OK`: `public/info.html` |
|
||||
| `/info/details` | `200 OK`: `public/info/details.html` |
|
||||
| `/info/details.html` | `200 OK`: `public/info/details.html` |
|
||||
|
||||
Note that when `public/data/index.html` exists, it takes priority over the `public/data.html` file
|
||||
for both the `/data` and `/data/` URL paths.
|
||||
|
|
|
@ -19,7 +19,7 @@ class GetFeatureFlagsFromFiles
|
|||
|
||||
def extracted_flags
|
||||
files.each_with_object([]) do |file_path, all|
|
||||
next unless file_path =~ %r{/feature_flags/development/.*\.yml}
|
||||
next unless file_path =~ %r{/feature_flags/(development|ops)/.*\.yml}
|
||||
next unless File.exist?(file_path)
|
||||
|
||||
ff_yaml = YAML.safe_load(File.read(file_path))
|
||||
|
|
|
@ -6,8 +6,6 @@ load File.expand_path('../../scripts/changed-feature-flags', __dir__)
|
|||
|
||||
RSpec.describe 'scripts/changed-feature-flags' do
|
||||
describe GetFeatureFlagsFromFiles do
|
||||
let(:ff_dir) { FileUtils.mkdir_p(File.join(Dir.tmpdir, 'feature_flags', 'development')) }
|
||||
|
||||
let(:feature_flag_definition1) do
|
||||
file = Tempfile.new('foo.yml', ff_dir)
|
||||
file.write(<<~YAML)
|
||||
|
@ -30,43 +28,51 @@ RSpec.describe 'scripts/changed-feature-flags' do
|
|||
file
|
||||
end
|
||||
|
||||
let(:feature_flag_definition_invalid_path) do
|
||||
file = Tempfile.new('foobar.yml')
|
||||
file.write(<<~YAML)
|
||||
---
|
||||
name: not a feature flag
|
||||
YAML
|
||||
file.rewind
|
||||
file
|
||||
end
|
||||
|
||||
after do
|
||||
FileUtils.remove_entry(ff_dir, true)
|
||||
end
|
||||
|
||||
describe '.extracted_flags' do
|
||||
it 'returns feature flags' do
|
||||
subject = described_class.new({ files: [feature_flag_definition1.path, feature_flag_definition2.path] })
|
||||
shared_examples 'extract feature flags' do
|
||||
it 'returns feature flags on their own' do
|
||||
subject = described_class.new({ files: [feature_flag_definition1.path, feature_flag_definition2.path] })
|
||||
|
||||
expect(subject.extracted_flags).to eq('foo_flag,bar_flag')
|
||||
expect(subject.extracted_flags).to eq('foo_flag,bar_flag')
|
||||
end
|
||||
|
||||
it 'returns feature flags and their state as enabled' do
|
||||
subject = described_class.new({ files: [feature_flag_definition1.path, feature_flag_definition2.path], state: 'enabled' })
|
||||
|
||||
expect(subject.extracted_flags).to eq('foo_flag=enabled,bar_flag=enabled')
|
||||
end
|
||||
|
||||
it 'returns feature flags and their state as disabled' do
|
||||
subject = described_class.new({ files: [feature_flag_definition1.path, feature_flag_definition2.path], state: 'disabled' })
|
||||
|
||||
expect(subject.extracted_flags).to eq('foo_flag=disabled,bar_flag=disabled')
|
||||
end
|
||||
end
|
||||
|
||||
it 'returns feature flags and their state as enabled' do
|
||||
subject = described_class.new({ files: [feature_flag_definition1.path, feature_flag_definition2.path], state: 'enabled' })
|
||||
context 'with definition files in the development directory' do
|
||||
let(:ff_dir) { FileUtils.mkdir_p(File.join(Dir.tmpdir, 'feature_flags', 'development')) }
|
||||
|
||||
expect(subject.extracted_flags).to eq('foo_flag=enabled,bar_flag=enabled')
|
||||
it_behaves_like 'extract feature flags'
|
||||
end
|
||||
|
||||
it 'returns feature flags and their state as disabled' do
|
||||
subject = described_class.new({ files: [feature_flag_definition1.path, feature_flag_definition2.path], state: 'disabled' })
|
||||
context 'with definition files in the ops directory' do
|
||||
let(:ff_dir) { FileUtils.mkdir_p(File.join(Dir.tmpdir, 'feature_flags', 'ops')) }
|
||||
|
||||
expect(subject.extracted_flags).to eq('foo_flag=disabled,bar_flag=disabled')
|
||||
it_behaves_like 'extract feature flags'
|
||||
end
|
||||
|
||||
it 'ignores files that are not in the feature_flags/development directory' do
|
||||
subject = described_class.new({ files: [feature_flag_definition_invalid_path.path] })
|
||||
context 'with definition files in the experiment directory' do
|
||||
let(:ff_dir) { FileUtils.mkdir_p(File.join(Dir.tmpdir, 'feature_flags', 'experiment')) }
|
||||
|
||||
expect(subject.extracted_flags).to eq('')
|
||||
it 'ignores the files' do
|
||||
subject = described_class.new({ files: [feature_flag_definition1.path, feature_flag_definition2.path] })
|
||||
|
||||
expect(subject.extracted_flags).to eq('')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue