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
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/trigger-build-docs')
-rwxr-xr-xscripts/trigger-build-docs136
1 files changed, 0 insertions, 136 deletions
diff --git a/scripts/trigger-build-docs b/scripts/trigger-build-docs
deleted file mode 100755
index 2957dde6fc0..00000000000
--- a/scripts/trigger-build-docs
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'gitlab'
-
-#
-# Configure credentials to be used with gitlab gem
-#
-Gitlab.configure do |config|
- config.endpoint = 'https://gitlab.com/api/v4'
- config.private_token = ENV["DOCS_API_TOKEN"] # GitLab Docs bot access token with Developer access to gitlab-docs
-end
-
-#
-# The remote docs project
-#
-GITLAB_DOCS_REPO = 'gitlab-org/gitlab-docs'.freeze
-
-#
-# This is the branch that will be created in the gitlab-docs project.
-# Name it after the product we're previewing and the ID of the MR that
-# kicked the review app.
-#
-def docs_branch
- # Check if CI_MERGE_REQUEST_IID is present. This requires pipelines
- # for merge requests to be enabled.
- if ENV["CI_MERGE_REQUEST_IID"].nil?
- "docs-preview-#{slug}-#{ENV["CI_COMMIT_REF_SLUG"]}"
- else
- "docs-preview-#{slug}-#{ENV["CI_MERGE_REQUEST_IID"]}"
- end
-end
-
-#
-# Create a remote branch in gitlab-docs and immediately cancel the pipeline
-# to avoid race conditions, since a triggered pipeline will also run right
-# after the branch creation. This only happens the very first time a branch
-# is created and will be skipped in subsequent runs. Read more in
-# https://gitlab.com/gitlab-org/gitlab-docs/issues/154.
-#
-def create_remote_branch
- Gitlab.create_branch(GITLAB_DOCS_REPO, docs_branch, 'master')
- puts "=> Remote branch '#{docs_branch}' created"
-
- pipelines = nil
-
- # Wait until the pipeline is started
- loop do
- sleep 1
- puts "=> Waiting for pipeline to start..."
- pipelines = Gitlab.pipelines(GITLAB_DOCS_REPO, { ref: docs_branch })
- break if pipelines.any?
- end
-
- # Get the first pipeline ID which should be the only one for the branch
- pipeline_id = pipelines.first.id
-
- # Cancel the pipeline
- Gitlab.cancel_pipeline(GITLAB_DOCS_REPO, pipeline_id)
-rescue Gitlab::Error::BadRequest
- puts "=> Remote branch '#{docs_branch}' already exists"
-end
-
-#
-# Remove a remote branch in gitlab-docs
-#
-def remove_remote_branch
- Gitlab.delete_branch(GITLAB_DOCS_REPO, docs_branch)
- puts "=> Remote branch '#{docs_branch}' deleted"
-end
-
-#
-# Define suffix in review app URL based on project
-#
-def slug
- case ENV["CI_PROJECT_PATH"]
- when 'gitlab-org/gitlab-foss'
- 'ce'
- when 'gitlab-org/gitlab'
- 'ee'
- when 'gitlab-org/gitlab-runner'
- 'runner'
- when 'gitlab-org/omnibus-gitlab'
- 'omnibus'
- when 'gitlab-org/charts/gitlab'
- 'charts'
- end
-end
-
-#
-# Overriding vars in https://gitlab.com/gitlab-org/gitlab-docs/blob/master/.gitlab-ci.yml
-#
-def param_name
- "BRANCH_#{slug.upcase}"
-end
-
-#
-# Trigger a pipeline in gitlab-docs
-#
-def trigger_pipeline
- # The review app URL
- app_url = "http://#{docs_branch}.#{ENV["DOCS_REVIEW_APPS_DOMAIN"]}/#{slug}"
-
- # Create the cross project pipeline using CI_JOB_TOKEN
- pipeline = Gitlab.run_trigger(GITLAB_DOCS_REPO, ENV["CI_JOB_TOKEN"], docs_branch, { param_name => ENV["CI_COMMIT_REF_NAME"] })
-
- puts "=> Follow the status of the triggered pipeline:"
- puts ""
- puts pipeline.web_url
- puts ""
- puts "=> In a few minutes, you will be able to preview your changes under the following URL:"
- puts ""
- puts app_url
- puts ""
- puts "=> For more information, see the documentation"
- puts "=> https://docs.gitlab.com/ee/development/documentation/index.html#previewing-the-changes-live"
- puts ""
- puts "=> If something doesn't work, drop a line in the #docs chat channel."
- puts ""
-end
-
-#
-# When the first argument is deploy then create the branch and trigger pipeline
-# When it is 'stop', it deleted the remote branch. That way, we ensure there
-# are no stale remote branches and the Review server doesn't fill.
-#
-case ARGV[0]
-when 'deploy'
- create_remote_branch
- trigger_pipeline
-when 'cleanup'
- remove_remote_branch
-else
- puts "Please provide a valid option:
- deploy - Creates the remote branch and triggers a pipeline
- cleanup - Deletes the remote branch and stops the Review App"
-end