Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/administration/geo/replication/datatypes.md2
-rw-r--r--doc/administration/integration/mailgun.md27
-rw-r--r--doc/administration/server_hooks.md2
-rw-r--r--doc/api/merge_requests.md217
-rw-r--r--doc/ci/pipeline_editor/index.md8
-rw-r--r--doc/ci/pipelines/cicd_minutes.md9
-rw-r--r--doc/ci/runners/saas/macos/codesigning.md121
-rw-r--r--doc/ci/runners/saas/macos/environment.md2
-rw-r--r--doc/ci/runners/saas/macos_saas_runner.md32
-rw-r--r--doc/development/database/batched_background_migrations.md7
-rw-r--r--doc/development/documentation/styleguide/index.md6
-rw-r--r--doc/development/feature_flags/controls.md1
-rw-r--r--doc/development/geo.md2
-rw-r--r--doc/push_rules/push_rules.md11
-rw-r--r--doc/topics/autodevops/customize.md1
15 files changed, 291 insertions, 157 deletions
diff --git a/doc/administration/geo/replication/datatypes.md b/doc/administration/geo/replication/datatypes.md
index 83e207e7a8f..8aff9226203 100644
--- a/doc/administration/geo/replication/datatypes.md
+++ b/doc/administration/geo/replication/datatypes.md
@@ -203,6 +203,8 @@ successfully, you must replicate their data using some other means.
|[External merge request diffs](../../merge_request_diffs.md) | **Yes** (13.5) | **Yes** (14.6) | Via Object Storage provider if supported. Native Geo support (Beta). | Replication is behind the feature flag `geo_merge_request_diff_replication`, enabled by default. Verification was behind the feature flag `geo_merge_request_diff_verification`, removed in 14.7.|
|[Versioned snippets](../../../user/snippets.md#versioned-snippets) | [**Yes** (13.7)](https://gitlab.com/groups/gitlab-org/-/epics/2809) | [**Yes** (14.2)](https://gitlab.com/groups/gitlab-org/-/epics/2810) | No | Verification was implemented behind the feature flag `geo_snippet_repository_verification` in 13.11, and the feature flag was removed in 14.2. |
|[GitLab Pages](../../pages/index.md) | [**Yes** (14.3)](https://gitlab.com/groups/gitlab-org/-/epics/589) | [**Yes**](#limitation-of-verification-for-files-in-object-storage) (14.6) | Via Object Storage provider if supported. Native Geo support (Beta). | Behind feature flag `geo_pages_deployment_replication`, enabled by default. Verification was behind the feature flag `geo_pages_deployment_verification`, removed in 14.7. |
+|[Incident Metric Images](../../../operations/incident_management/incidents.md#metrics) | [Planned](https://gitlab.com/gitlab-org/gitlab/-/issues/352326) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/362561) | No | |
+|[Alert Metric Images](../../../operations/incident_management/alerts.md#metrics-tab) | [Planned](https://gitlab.com/gitlab-org/gitlab/-/issues/352326) | [No](https://gitlab.com/gitlab-org/gitlab/-/issues/362561) | No | |
|[Server-side Git hooks](../../server_hooks.md) | [Not planned](https://gitlab.com/groups/gitlab-org/-/epics/1867) | No | No | Not planned because of current implementation complexity, low customer interest, and availability of alternatives to hooks. |
|[Elasticsearch integration](../../../integration/elasticsearch.md) | [Not planned](https://gitlab.com/gitlab-org/gitlab/-/issues/1186) | No | No | Not planned because further product discovery is required and Elasticsearch (ES) clusters can be rebuilt. Secondaries use the same ES cluster as the primary. |
|[Dependency proxy images](../../../user/packages/dependency_proxy/index.md) | [Not planned](https://gitlab.com/gitlab-org/gitlab/-/issues/259694) | No | No | Blocked by [Geo: Secondary Mimicry](https://gitlab.com/groups/gitlab-org/-/epics/1528). Replication of this cache is not needed for disaster recovery purposes because it can be recreated from external sources. |
diff --git a/doc/administration/integration/mailgun.md b/doc/administration/integration/mailgun.md
index 5a56aed4427..fbad201be7d 100644
--- a/doc/administration/integration/mailgun.md
+++ b/doc/administration/integration/mailgun.md
@@ -1,6 +1,6 @@
---
-stage: Growth
-group: Expansion
+stage: Plan
+group: Project Management
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
type: reference, howto
---
@@ -9,26 +9,37 @@ type: reference, howto
When you use Mailgun to send emails for your GitLab instance and [Mailgun](https://www.mailgun.com/)
integration is enabled and configured in GitLab, you can receive their webhook for
-permanent invite email failures. To set up the integration, you must:
+tracking delivery failures. To set up the integration, you must:
1. [Configure your Mailgun domain](#configure-your-mailgun-domain).
1. [Enable Mailgun integration](#enable-mailgun-integration).
-After completing the integration, Mailgun `permanent_failure` webhooks are sent to your GitLab instance.
+After completing the integration, Mailgun `temporary_failure` and `permanent_failure` webhooks are sent to your GitLab instance.
## Configure your Mailgun domain
-Before you can enable Mailgun in GitLab, set up your own Mailgun permanent failure endpoint to receive the webhooks.
+> [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/359113) the `/-/members/mailgun/permanent_failures` URL in GitLab 15.0.
+> [Added](https://gitlab.com/gitlab-org/gitlab/-/issues/359113) the URL to handle both temporary and permanent failures in GitLab 15.0.
+
+Before you can enable Mailgun in GitLab, set up your own Mailgun endpoints to receive the webhooks.
Using the [Mailgun webhook guide](https://www.mailgun.com/blog/a-guide-to-using-mailguns-webhooks/):
1. Add a webhook with the **Event type** set to **Permanent Failure**.
-1. Fill in the URL of your instance and include the `/-/members/mailgun/permanent_failures` path.
- - Example: `https://myinstance.gitlab.com/-/members/mailgun/permanent_failures`
+1. Enter the URL of your instance and include the `/-/mailgun/webhooks` path.
+
+ For example:
+
+ ```plaintext
+ https://myinstance.gitlab.com/-/mailgun/webhooks
+ ```
+
+1. Add another webhook with the **Event type** set to **Temporary Failure**.
+1. Enter the URL of your instance and use the same `/-/mailgun/webhooks` path.
## Enable Mailgun integration
-After configuring your Mailgun domain for the permanent failures endpoint,
+After configuring your Mailgun domain for the webhook endpoints,
you're ready to enable the Mailgun integration:
1. Sign in to GitLab as an [Administrator](../../user/permissions.md) user.
diff --git a/doc/administration/server_hooks.md b/doc/administration/server_hooks.md
index 9d8bc03e5e9..a83a17d6d52 100644
--- a/doc/administration/server_hooks.md
+++ b/doc/administration/server_hooks.md
@@ -23,7 +23,7 @@ alternatives to server hooks include:
- [Webhooks](../user/project/integrations/webhooks.md).
- [GitLab CI/CD](../ci/index.md).
-- [Push rules](../push_rules/push_rules.md), for a user-configurable Git hook interface.
+- [Push rules](../user/project/repository/push_rules.md), for a user-configurable Git hook interface.
[Geo](geo/index.md) doesn't replicate server hooks to secondary nodes.
diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md
index abe9cb65f95..124bbd3d5f4 100644
--- a/doc/api/merge_requests.md
+++ b/doc/api/merge_requests.md
@@ -619,92 +619,56 @@ Parameters:
```json
{
- "id": 1,
- "iid": 1,
- "project_id": 3,
- "title": "test1",
- "description": "fixed login page css paddings",
- "state": "merged",
- "created_at": "2017-04-29T08:46:00Z",
- "updated_at": "2017-04-29T08:46:00Z",
+ "id": 155016530,
+ "iid": 133,
+ "project_id": 15513260,
+ "title": "Manual job rules",
+ "description": "",
+ "state": "opened",
+ "created_at": "2022-05-13T07:26:38.402Z",
+ "updated_at": "2022-05-14T03:38:31.354Z",
+ "merged_by": null, // Deprecated and will be removed in API v5, use `merge_user` instead
+ "merge_user": null,
+ "merged_at": null,
+ "closed_by": null,
+ "closed_at": null,
"target_branch": "master",
- "source_branch": "test1",
+ "source_branch": "manual-job-rules",
+ "user_notes_count": 0,
"upvotes": 0,
"downvotes": 0,
"author": {
- "id": 1,
- "name": "Administrator",
- "username": "admin",
- "state": "active",
- "avatar_url": null,
- "web_url" : "https://gitlab.example.com/admin"
- },
- "user" : {
- "can_merge" : false
- },
- "assignee": {
- "id": 1,
- "name": "Administrator",
- "username": "admin",
- "state": "active",
- "avatar_url": null,
- "web_url" : "https://gitlab.example.com/admin"
- },
- "assignees": [{
- "name": "Miss Monserrate Beier",
- "username": "axel.block",
- "id": 12,
- "state": "active",
- "avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon",
- "web_url": "https://gitlab.example.com/axel.block"
- }],
- "reviewers": [{
- "id": 2,
- "name": "Sam Bauch",
- "username": "kenyatta_oconnell",
+ "id": 4155490,
+ "username": "marcel.amirault",
+ "name": "Marcel Amirault",
"state": "active",
- "avatar_url": "https://www.gravatar.com/avatar/956c92487c6f6f7616b536927e22c9a0?s=80&d=identicon",
- "web_url": "http://gitlab.example.com//kenyatta_oconnell"
- }],
- "source_project_id": 2,
- "target_project_id": 3,
- "labels": [
- "Community contribution",
- "Manage"
- ],
+ "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/4155490/avatar.png",
+ "web_url": "https://gitlab.com/marcel.amirault"
+ },
+ "assignees": [],
+ "assignee": null,
+ "reviewers": [],
+ "source_project_id": 15513260,
+ "target_project_id": 15513260,
+ "labels": [],
"draft": false,
"work_in_progress": false,
- "milestone": {
- "id": 5,
- "iid": 1,
- "project_id": 3,
- "title": "v2.0",
- "description": "Assumenda aut placeat expedita exercitationem labore sunt enim earum.",
- "state": "closed",
- "created_at": "2015-02-02T19:49:26.013Z",
- "updated_at": "2015-02-02T19:49:26.013Z",
- "due_date": "2018-09-22",
- "start_date": "2018-08-08",
- "web_url": "https://gitlab.example.com/my-group/my-project/milestones/1"
- },
- "merge_when_pipeline_succeeds": true,
+ "milestone": null,
+ "merge_when_pipeline_succeeds": false,
"merge_status": "can_be_merged",
- "merge_error": null,
- "sha": "8888888888888888888888888888888888888888",
+ "sha": "e82eb4a098e32c796079ca3915e07487fc4db24c",
"merge_commit_sha": null,
"squash_commit_sha": null,
- "user_notes_count": 1,
"discussion_locked": null,
- "should_remove_source_branch": true,
- "force_remove_source_branch": false,
- "allow_collaboration": false,
- "allow_maintainer_to_push": false,
- "web_url": "http://gitlab.example.com/my-group/my-project/merge_requests/1",
+ "should_remove_source_branch": null,
+ "force_remove_source_branch": true,
+ "reference": "!133",
"references": {
- "short": "!1",
- "relative": "!1",
- "full": "my-group/my-project!1"
+ "short": "!133",
+ "relative": "!133",
+ "full": "marcel.amirault/test-project!133"
},
+ "web_url": "https://gitlab.com/marcel.amirault/test-project/-/merge_requests/133",
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
@@ -712,51 +676,80 @@ Parameters:
"human_total_time_spent": null
},
"squash": false,
- "subscribed": false,
- "changes_count": "1",
- "merged_by": { // Deprecated and will be removed in API v5, use `merge_user` instead
- "id": 87854,
- "name": "Douwe Maan",
- "username": "DouweM",
- "state": "active",
- "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png",
- "web_url": "https://gitlab.com/DouweM"
- },
- "merge_user": {
- "id": 87854,
- "name": "Douwe Maan",
- "username": "DouweM",
- "state": "active",
- "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png",
- "web_url": "https://gitlab.com/DouweM"
+ "task_completion_status": {
+ "count": 0,
+ "completed_count": 0
},
- "merged_at": "2018-09-07T11:16:17.520Z",
- "closed_by": null,
- "closed_at": null,
- "latest_build_started_at": "2018-09-07T07:27:38.472Z",
- "latest_build_finished_at": "2018-09-07T08:07:06.012Z",
+ "has_conflicts": false,
+ "blocking_discussions_resolved": true,
+ "approvals_before_merge": null,
+ "subscribed": true,
+ "changes_count": "1",
+ "latest_build_started_at": "2022-05-13T09:46:50.032Z",
+ "latest_build_finished_at": null,
"first_deployed_to_production_at": null,
- "pipeline": {
- "id": 29626725,
- "sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f",
- "ref": "patch-28",
- "status": "success",
- "web_url": "https://gitlab.example.com/my-group/my-project/pipelines/29626725"
+ "pipeline": { // Old parameter, use `head_pipeline` instead.
+ "id": 538317940,
+ "iid": 1877,
+ "project_id": 15513260,
+ "sha": "1604b0c46c395822e4e9478777f8e54ac99fe5b9",
+ "ref": "refs/merge-requests/133/merge",
+ "status": "failed",
+ "source": "merge_request_event",
+ "created_at": "2022-05-13T09:46:39.560Z",
+ "updated_at": "2022-05-13T09:47:20.706Z",
+ "web_url": "https://gitlab.com/marcel.amirault/test-project/-/pipelines/538317940"
+ },
+ "head_pipeline": {
+ "id": 538317940,
+ "iid": 1877,
+ "project_id": 15513260,
+ "sha": "1604b0c46c395822e4e9478777f8e54ac99fe5b9",
+ "ref": "refs/merge-requests/133/merge",
+ "status": "failed",
+ "source": "merge_request_event",
+ "created_at": "2022-05-13T09:46:39.560Z",
+ "updated_at": "2022-05-13T09:47:20.706Z",
+ "web_url": "https://gitlab.com/marcel.amirault/test-project/-/pipelines/538317940",
+ "before_sha": "1604b0c46c395822e4e9478777f8e54ac99fe5b9",
+ "tag": false,
+ "yaml_errors": null,
+ "user": {
+ "id": 4155490,
+ "username": "marcel.amirault",
+ "name": "Marcel Amirault",
+ "state": "active",
+ "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/4155490/avatar.png",
+ "web_url": "https://gitlab.com/marcel.amirault"
+ },
+ "started_at": "2022-05-13T09:46:50.032Z",
+ "finished_at": "2022-05-13T09:47:20.697Z",
+ "committed_at": null,
+ "duration": 30,
+ "queued_duration": 10,
+ "coverage": null,
+ "detailed_status": {
+ "icon": "status_failed",
+ "text": "failed",
+ "label": "failed",
+ "group": "failed",
+ "tooltip": "failed",
+ "has_details": true,
+ "details_path": "/marcel.amirault/test-project/-/pipelines/538317940",
+ "illustration": null,
+ "favicon": "/assets/ci_favicons/favicon_status_failed-41304d7f7e3828808b0c26771f0309e55296819a9beea3ea9fbf6689d9857c12.png"
+ }
},
"diff_refs": {
- "base_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00",
- "head_sha": "2be7ddb704c7b6b83732fdd5b9f09d5a397b5f8f",
- "start_sha": "c380d3acebd181f13629a25d2e2acca46ffe1e00"
+ "base_sha": "1162f719d711319a2efb2a35566f3bfdadee8bab",
+ "head_sha": "e82eb4a098e32c796079ca3915e07487fc4db24c",
+ "start_sha": "1162f719d711319a2efb2a35566f3bfdadee8bab"
},
- "diverged_commits_count": 2,
- "rebase_in_progress": false,
+ "merge_error": null,
"first_contribution": false,
- "task_completion_status":{
- "count":0,
- "completed_count":0
- },
- "has_conflicts": false,
- "blocking_discussions_resolved": true
+ "user": {
+ "can_merge": true
+ }
}
```
diff --git a/doc/ci/pipeline_editor/index.md b/doc/ci/pipeline_editor/index.md
index 57a9d7a9358..d87b336224c 100644
--- a/doc/ci/pipeline_editor/index.md
+++ b/doc/ci/pipeline_editor/index.md
@@ -53,12 +53,8 @@ reflected in the CI lint. It displays the same results as the existing [CI Lint
## View included CI/CD configuration
-> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/7064) in GitLab 15.0 [with a flag](../../administration/feature_flags.md) named `pipeline_editor_file_tree`. Disabled by default.
-
-FLAG:
-On self-managed GitLab, by default this feature is not available. To make it available,
-ask an administrator to [enable the feature flag](../../administration/feature_flags.md)
-named `pipeline_editor_file_tree`.
+> - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/7064) in GitLab 15.0 [with a flag](../../administration/feature_flags.md) named `pipeline_editor_file_tree`. Disabled by default.
+> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/357219) in GitLab 15.1.
You can review configuration added with the [`include`](../yaml/index.md#include)
keyword in the pipeline editor. In the top right, select the file tree (**{file-tree}**)
diff --git a/doc/ci/pipelines/cicd_minutes.md b/doc/ci/pipelines/cicd_minutes.md
index 1051b176f06..2b18b1d353b 100644
--- a/doc/ci/pipelines/cicd_minutes.md
+++ b/doc/ci/pipelines/cicd_minutes.md
@@ -193,9 +193,12 @@ The cost factor for a job running on a shared runner is:
### Additional costs on GitLab SaaS
-On GitLab SaaS, shared runners can have different cost factors depending on the cost involved
-in executing the runner. For example, a high spec shared runner could be set to have a cost factor of `2`.
-Conversely, a shared runner that executes jobs for public projects could have a low cost factor, like `0.008`.
+GitLab SaaS shared runners have different cost factors, depending on the runner type (Linux, Windows, macOS) and the virtual machine configuration.
+
+| GitLab SaaS runner type | Virtual machine configuration | CI/CD minutes cost factor |
+| :--------- | :------------------- | :--------- |
+| Linux OS + Docker executor| 1 vCPU, 3.75 GB RAM |1|
+| macOS + shell executor | 4 vCPU, 10 GB RAM| 6 |
### Monthly reset of CI/CD minutes
diff --git a/doc/ci/runners/saas/macos/codesigning.md b/doc/ci/runners/saas/macos/codesigning.md
new file mode 100644
index 00000000000..4f8316faf17
--- /dev/null
+++ b/doc/ci/runners/saas/macos/codesigning.md
@@ -0,0 +1,121 @@
+---
+stage: Verify
+group: Runner
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
+---
+
+# Code signing for SaaS runners on macOS
+
+> Introduced in GitLab 15.0.
+
+Before you can integrate GitLab with Apple services, install to a device, or deploy to the Apple App Store, you must [code sign](https://developer.apple.com/support/code-signing/) your application.
+
+To code sign an iOS project, you need the following files:
+
+- A certifcate issued by Apple.
+- A provisioning profile.
+
+## Code signing iOS Projects with fastlane
+
+When you use SaaS runners on macOS, each job runs on a VM. Included in each VM is [fastlane](https://fastlane.tools/),
+an open-source solution aimed at simplifying mobile app deployment.
+
+These steps outline the minimal setup required to use fastlane to code sign your application. Refer to the fastlane [getting started guide](https://docs.fastlane.tools/), [best practices for integrating with GitLab CI](https://docs.fastlane.tools/best-practices/continuous-integration/gitlab/) and the [fastlane code signing getting started guide](https://docs.fastlane.tools/codesigning/getting-started/) for installation instructions, and an overview of how to use fastlane to handle code signing.
+
+To use fastlane to code sign your application:
+
+1. At the root of your project repository, on your local development system, run this command:
+
+ ```plaintext
+ fastlane match init
+ ```
+
+ This command creates the `fastlane` directory and adds two files: `Fastfile` and `Appfile`.
+
+1. Open `Appfile` and edit it to include your Apple ID and app ID.
+
+ ```plaintext
+ app_identifier("APP IDENTIFIER") # The bundle identifier of your app
+
+ apple_id("APPLE ID") # Your Apple email address
+ ```
+
+1. Open `Fastfile`, which includes the fastlane build steps.
+ In the following snippet, the steps `get_certificates`, `get_provisioning_profile,match`, `gym`, and
+ `upload_to_testflight` are fastlane [actions](https://docs.fastlane.tools/actions/).
+
+ ```plaintext
+ # This file contains the fastlane.tools configuration
+ # You can find the documentation at https://docs.fastlane.tools
+
+ default_platform(:ios)
+
+ platform :ios do
+ desc "Build the application"
+ lane :beta do
+ increment_build_number(
+ build_number: latest_testflight_build_number + 1,
+ xcodeproj: "${PROJECT_NAME}.xcodeproj"
+ )
+ get_certificates
+ get_provisioning_profile
+ # match(type: "appstore",read_only: true)
+ gym
+ upload_to_testflight
+ end
+ end
+ ```
+
+The example configuration also includes an optional `Gymfile`. This file stores configuration
+parameters and is used by the fastlane [`gym`](https://docs.fastlane.tools/actions/gym/) action.
+
+## Using fastlane match
+
+To simplify the code signing process and implement the
+[Code Signing Best Practices Guide](https://codesigning.guide/) recommendations,
+use [fastlane match](https://docs.fastlane.tools/actions/match/).
+
+- Use one code signing identity shared across your team.
+- Store the required certificates and provisioning profiles in a separate GitLab project repository.
+
+Match automatically syncs iOS and macOS keys and provisioning profiles across all team members with access to the GitLab project. Each team member with access to the project can use the credentials for code signing.
+
+To use fastlane match:
+
+1. Initialize match in the project repository:
+
+ ```shell
+ bundle exec fastlane match init
+ ```
+
+1. Select `git` as your storage node.
+1. Enter the URL of the GitLab project you plan to use to store your code signing identities.
+1. Optional. To create a new certificate and provisioning profile, run:
+
+ ```shell
+ bundle exec fastlane match development
+ ```
+
+For different code signing identities' storage options, and for a complete step-by-step guide for using match,
+refer to the [match documentation](https://docs.fastlane.tools/actions/match/#usage).
+
+### Environment variables and authentication
+
+To complete the setup, you must configure environment variables to use with fastlane. The required variables are outlined in the [fastlane documentation](https://docs.fastlane.tools/best-practices/continuous-integration/#environment-variables-to-set).
+
+To support Apple's two factor authentication requirement, configure these variables:
+
+- `FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD` and
+- `FASTLANE_SESSION`
+
+To authenticate fastlane with the App Store for the TestFlight upload, configure these variables:
+
+- `FASTLANE_USER` and
+- `FASTLANE_PASSWORD`
+
+View the [fastlane authentication with Apple Services guide](https://docs.fastlane.tools/getting-started/ios/authentication/) for an overview of authentication options.
+
+## Related topics
+
+- [Apple Developer Support - Code Signing](https://developer.apple.com/support/code-signing/)
+- [Code Signing Best Practice Guide](https://codesigning.guide/)
diff --git a/doc/ci/runners/saas/macos/environment.md b/doc/ci/runners/saas/macos/environment.md
index 9da35758754..edd897e4c23 100644
--- a/doc/ci/runners/saas/macos/environment.md
+++ b/doc/ci/runners/saas/macos/environment.md
@@ -20,7 +20,7 @@ Each time you run a job that requires tooling or dependencies not available in t
GitLab SaaS provides macOS build machines on Apple servers with Intel x86-64 processors.
The expectation is that virtual machines running on the Apple M1 chip will be available in the second half of 2022.
-For the [Beta](../../../../policy/alpha-beta-support.md#beta-features), there is only one available machine type, `gbc-macos-large`.
+At this time there is only one available machine type offered, `gbc-macos-large`.
| Instance type | vCPUS | Memory (GB) |
| --------- | --- | ------- |
diff --git a/doc/ci/runners/saas/macos_saas_runner.md b/doc/ci/runners/saas/macos_saas_runner.md
index bad9da960b2..0ab2de36f10 100644
--- a/doc/ci/runners/saas/macos_saas_runner.md
+++ b/doc/ci/runners/saas/macos_saas_runner.md
@@ -4,10 +4,9 @@ group: Runner
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# SaaS runners on macOS (beta) **(PREMIUM SAAS)**
+# SaaS runners on macOS (Limited Availability) **(PREMIUM SAAS)**
-SaaS runners on macOS are in [Beta](../../../policy/alpha-beta-support.md#beta-features)
-and shouldn't be relied upon for mission-critical production jobs.
+SaaS runners on macOS are now in [Limited Availability](../../../policy/alpha-beta-support.md#beta-features) for approved open source programs and customers in Premium and Ultimate plans.
SaaS runners on macOS provide an on-demand macOS build environment integrated with
GitLab SaaS [CI/CD](../../../ci/index.md).
@@ -15,11 +14,17 @@ Use these runners to build, test, and deploy apps for the Apple ecosystem (macOS
of all the capabilities of the GitLab single DevOps platform and not have to manage or operate a
build environment.
+CI/CD minutes used on GitLab SaaS macOS runners are included in your CI/CD minute consumption totals. CI jobs that run on macOS **will** consume CI minutes at a faster rate than CI jobs on the GitLab SaaS runners on Linux.
+
+Refer to the CI/CD minutes [cost factor](../../../ci/pipelines/cicd_minutes.md#cost-factor) for the cost factor applied to the GitLab SaaS macOS runners.
+
## Quickstart
-To start using SaaS runners on macOS, you must submit an access request [issue](https://gitlab.com/gitlab-com/macos-buildcloud-runners-beta/-/issues/new?issuable_template=beta_access_request). After your
-access has been granted and your build environment configured, you must configure your
-`.gitlab-ci.yml` pipeline file:
+To start using SaaS runners on macOS, you must be an active GitLab SaaS Premium or Ultimate customer. Participants in the GitLab Open Source program are also eligible to use the service.
+
+### Configuring your pipeline
+
+To start using the SaaS runners on macOS to run your CI jobs, you must configure your `.gitlab-ci.yml` file:
1. Add a `.gitlab-ci.yml` file to your project repository.
1. Specify the [image](macos/environment.md#vm-images) you want to use.
@@ -27,7 +32,7 @@ access has been granted and your build environment configured, you must configur
The runners automatically run your build.
-## Example `.gitlab-ci.yml` file
+### Example `.gitlab-ci.yml` file
The following sample `.gitlab-ci.yml` file shows how to start using the SaaS runners on macOS:
@@ -42,7 +47,7 @@ stages:
- test
before_script:
- - echo "started by ${GITLAB_USER_NAME}"
+ - echo "started by ${GITLAB_USER_NAME}"
build:
extends:
@@ -60,4 +65,13 @@ test:
```
NOTE:
-During the Beta period, the architecture of this solution will change. Rather than the jobs running on a specific VM instance, they will run on an ephemeral VM instance that is created by an autoscaling instance, known as the Runner Manager. We will notify all Beta participants of any downtime required to do this work.
+You can specify a different Xcode image to run a job. To do so, replace the value for the `image` keyword with the value of the [virtual machine image name](macos/environment.md#vm-images) from the list of available images.
+
+## SaaS runners on macOS service level objective
+
+In SaaS runners on macOS, the objective is to make 90% of CI jobs start executing in 120 seconds or less. The error rate should be less than 0.5%.
+
+## Known Limitations and Usage Constraints
+
+- If the VM image does not include the specific software version you need for your job, then the job execution time will increase as the required software needs to be fetched and installed.
+- At this time, it is not possible to bring your own OS image.
diff --git a/doc/development/database/batched_background_migrations.md b/doc/development/database/batched_background_migrations.md
index 3a0fa77eff9..008584cf803 100644
--- a/doc/development/database/batched_background_migrations.md
+++ b/doc/development/database/batched_background_migrations.md
@@ -152,9 +152,7 @@ When you start the second post-deployment migration, delete the
previously batched migration with the provided code:
```ruby
-Gitlab::Database::BackgroundMigration::BatchedMigration
- .for_configuration(MIGRATION_NAME, TABLE_NAME, COLUMN, JOB_ARGUMENTS)
- .delete_all
+delete_batched_background_migration(MIGRATION_NAME, TABLE_NAME, COLUMN, JOB_ARGUMENTS)
```
## Cleaning up
@@ -261,8 +259,7 @@ background migration.
end
def down
- Gitlab::Database::BackgroundMigration::BatchedMigration
- .for_configuration(MIGRATION, :routes, :id, []).delete_all
+ delete_batched_background_migration(MIGRATION_NAME, :routes, :id, [])
end
end
```
diff --git a/doc/development/documentation/styleguide/index.md b/doc/development/documentation/styleguide/index.md
index c11d1422167..b532826bcda 100644
--- a/doc/development/documentation/styleguide/index.md
+++ b/doc/development/documentation/styleguide/index.md
@@ -191,6 +191,8 @@ GitLab documentation should be clear and easy to understand.
### Capitalization
+As a company, we tend toward lowercase.
+
#### Headings
Use sentence case. For example:
@@ -589,6 +591,10 @@ Consider installing a plugin or extension in your editor for formatting tables:
- [Markdown Table Formatter](https://packagecontrol.io/packages/Markdown%20Table%20Formatter) for Sublime Text
- [Markdown Table Formatter](https://atom.io/packages/markdown-table-formatter) for Atom
+### Table headings
+
+Use sentence case for table headings. For example, `Keyword value` or `Project name`.
+
### Feature tables
When creating tables of lists of features (such the features
diff --git a/doc/development/feature_flags/controls.md b/doc/development/feature_flags/controls.md
index 68c14c1b0c9..7d801c00714 100644
--- a/doc/development/feature_flags/controls.md
+++ b/doc/development/feature_flags/controls.md
@@ -95,6 +95,7 @@ Guidelines:
- Consider notifying `#support_gitlab-com` beforehand. So in case if the feature has any side effects on user experience, they can mitigate and disable the feature flag to reduce some impact.
- If the feature meets the requirements for creating a [Change Management](https://about.gitlab.com/handbook/engineering/infrastructure/change-management/#feature-flags-and-the-change-management-process) issue, create a Change Management issue per [criticality guidelines](https://about.gitlab.com/handbook/engineering/infrastructure/change-management/#change-request-workflows).
- For simple, low-risk, easily reverted features, proceed and [enable the feature in `#production`](#process).
+- For support requests to toggle feature flags for specific groups or projects, please follow the process outlined in the [support workflows](https://about.gitlab.com/handbook/support/workflows/saas_feature_flags.html).
#### Process
diff --git a/doc/development/geo.md b/doc/development/geo.md
index f62b2de30db..5505d41ccc9 100644
--- a/doc/development/geo.md
+++ b/doc/development/geo.md
@@ -188,7 +188,7 @@ needs to be applied to the tracking database on each **secondary** site.
### Configuration
-The database configuration is set in [`config/database_geo.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/database_geo.yml.postgresql).
+The database configuration is set in [`config/database.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/database.yml.postgresql).
The directory [`ee/db/geo`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/ee/db/geo)
contains the schema and migrations for this database.
diff --git a/doc/push_rules/push_rules.md b/doc/push_rules/push_rules.md
deleted file mode 100644
index ab87cba9da3..00000000000
--- a/doc/push_rules/push_rules.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-redirect_to: '../user/project/repository/push_rules.md'
-remove_date: '2022-05-10'
----
-
-This document was moved to [another location](../user/project/repository/push_rules.md).
-
-<!-- This redirect file can be deleted after <2022-05-10>. -->
-<!-- Redirects that point to other docs in the same project expire in three months. -->
-<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->
diff --git a/doc/topics/autodevops/customize.md b/doc/topics/autodevops/customize.md
index e2d984dbbff..e278e95378c 100644
--- a/doc/topics/autodevops/customize.md
+++ b/doc/topics/autodevops/customize.md
@@ -409,6 +409,7 @@ applications.
| `AUTO_DEVOPS_BUILD_IMAGE_CNB_BUILDER` | The builder used when building with Cloud Native Buildpacks. The default builder is `heroku/buildpacks:18`. [More details](stages.md#auto-build-using-cloud-native-buildpacks). |
| `AUTO_DEVOPS_BUILD_IMAGE_EXTRA_ARGS` | Extra arguments to be passed to the `docker build` command. Note that using quotes doesn't prevent word splitting. [More details](#passing-arguments-to-docker-build). |
| `AUTO_DEVOPS_BUILD_IMAGE_FORWARDED_CI_VARIABLES` | A [comma-separated list of CI/CD variable names](#forward-cicd-variables-to-the-build-environment) to be forwarded to the build environment (the buildpack builder or `docker build`). |
+| `AUTO_DEVOPS_BUILD_IMAGE_CNB_PORT` | In GitLab 15.0 and later, port exposed by the generated Docker image. Set to `false` to prevent exposing any ports. Defaults to `5000`. |
| `AUTO_DEVOPS_CHART` | Helm Chart used to deploy your apps. Defaults to the one [provided by GitLab](https://gitlab.com/gitlab-org/cluster-integration/auto-deploy-image/-/tree/master/assets/auto-deploy-app). |
| `AUTO_DEVOPS_CHART_REPOSITORY` | Helm Chart repository used to search for charts. Defaults to `https://charts.gitlab.io`. |
| `AUTO_DEVOPS_CHART_REPOSITORY_NAME` | Used to set the name of the Helm repository. Defaults to `gitlab`. |