diff options
-rw-r--r-- | .devfile.yaml | 2 | ||||
-rw-r--r-- | .gitlab-ci.yml | 1 | ||||
-rw-r--r-- | .gitlab/ci/docker-images.gitlab-ci.yml | 37 | ||||
-rw-r--r-- | .hadolint.yaml | 1 | ||||
-rw-r--r-- | content/_data/navigation.yaml | 6 | ||||
-rw-r--r-- | dockerfiles/gitlab-docs-workspace.Dockerfile | 37 |
6 files changed, 83 insertions, 1 deletions
diff --git a/.devfile.yaml b/.devfile.yaml index 56db07a7..be303b1f 100644 --- a/.devfile.yaml +++ b/.devfile.yaml @@ -4,7 +4,7 @@ components: attributes: gl/inject-editor: true container: - image: registry.gitlab.com/gitlab-org/gitlab-build-images:www-gitlab-com-debian-bullseye-ruby-3.2-node-18 + image: registry.gitlab.com/gitlab-org/gitlab-docs:workspace env: - name: SEARCH_BACKEND value: lunr diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a8265239..8199c15a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,6 +26,7 @@ variables: MARKDOWNLINT_VERSION: '0.35.0' # Version also set in package.json MARKDOWNLINT2_VERSION: '0.8.1' # Version also set in package.json RUBY_VERSION: '3.2.2' + ASDF_VERSION: '0.12.0' # # workflow:rules to prevent duplicate pipelines when pushing to a branch with an open MR. diff --git a/.gitlab/ci/docker-images.gitlab-ci.yml b/.gitlab/ci/docker-images.gitlab-ci.yml index ab5abcaa..5b04862e 100644 --- a/.gitlab/ci/docker-images.gitlab-ci.yml +++ b/.gitlab/ci/docker-images.gitlab-ci.yml @@ -319,3 +319,40 @@ test:image:docs-archives: needs: [] script: - docker build -t $IMAGE_NAME -f $DOCKERFILE . + +# +# Build the image that is used for the gitlab-docs Workspace +# +image:docs-workspace: + extends: + - .docker_prepare + - .rules_docker_images + needs: ["test:image:docs-workspace"] + stage: build-images + variables: + IMAGE_NAME: $CI_REGISTRY_IMAGE/workspace + DOCKERFILE: dockerfiles/gitlab-docs-workspace.Dockerfile + script: + - docker build --build-arg ASDF_VERSION=${ASDF_VERSION} -t $IMAGE_NAME -f $DOCKERFILE . + - docker push $IMAGE_NAME + +# +# Test the GitLab docs workspace Docker image if changes made to its Dockerfile +# +test:image:docs-workspace: + extends: + - .docker_prepare + stage: test + variables: + IMAGE_NAME: $CI_REGISTRY_IMAGE/workspace + DOCKERFILE: dockerfiles/gitlab-docs-workspace.Dockerfile + needs: [] + script: + - docker build --build-arg ASDF_VERSION=${ASDF_VERSION} -t $IMAGE_NAME -f $DOCKERFILE . + rules: + - if: '$DOCS_PROJECT_PIPELINE_TYPE == "Build docker images pipeline"' + - if: '$DOCS_PROJECT_PIPELINE_TYPE =~ /^MR pipeline.*/' + # This image uses asdf to manage dependencies, so run this test if tool versions change. + changes: + - .tool-versions + - $DOCKERFILE diff --git a/.hadolint.yaml b/.hadolint.yaml index 2f6ca0f1..3fdc0ed2 100644 --- a/.hadolint.yaml +++ b/.hadolint.yaml @@ -2,3 +2,4 @@ ignored: - DL3018 - DL3022 - DL4006 + - DL3008 diff --git a/content/_data/navigation.yaml b/content/_data/navigation.yaml index 69e3f48f..32880c9f 100644 --- a/content/_data/navigation.yaml +++ b/content/_data/navigation.yaml @@ -1326,6 +1326,8 @@ sections: doc_url: 'ee/user/project/issue_board.html' - doc_title: 'Tutorial: Set up issue boards for team hand-off' doc_url: 'ee/tutorials/boards_for_teams/' + - doc_title: 'Tutorial: Set up a single project for issue triage' + doc_url: 'ee/tutorials/issue_triage/' - doc_title: Multiple assignees doc_url: 'ee/user/project/issues/multiple_assignees_for_issues.html' - doc_title: Linked issues @@ -1394,6 +1396,8 @@ sections: docs: - doc_title: 'Tutorial: Make your first Git commit' doc_url: 'ee/tutorials/make_first_git_commit/' + - doc_title: 'Tutorial: How to update Git commit messages' + doc_url: 'ee/tutorials/update_commit_messages/' - doc_title: Concepts doc_url: 'ee/topics/git/terminology.html' - doc_title: Installing Git @@ -2154,6 +2158,8 @@ sections: docs: - doc_title: Amazon EKS doc_url: 'ee/user/infrastructure/clusters/connect/new_eks_cluster.html' + - doc_title: Azure AKS + doc_url: 'ee/user/infrastructure/clusters/connect/new_aks_cluster.html' - doc_title: Google GKE doc_url: 'ee/user/infrastructure/clusters/connect/new_gke_cluster.html' - doc_title: Civo diff --git a/dockerfiles/gitlab-docs-workspace.Dockerfile b/dockerfiles/gitlab-docs-workspace.Dockerfile new file mode 100644 index 00000000..c05d3f38 --- /dev/null +++ b/dockerfiles/gitlab-docs-workspace.Dockerfile @@ -0,0 +1,37 @@ +# GitLab Docs Workspace Docker image + +FROM debian:12.1-slim + +ARG ASDF_VERSION + +# Install dependencies, including packages from the Brewfile. +# hadolint ignore=DL3015 +RUN printf "\n\e[32mINFO: Installing dependencies..\e[39m\n" && apt-get update && apt-get install -y \ + build-essential \ + ca-certificates \ + curl \ + git \ + jq \ + libssl-dev \ + libyaml-dev \ + minify \ + yamllint \ + zlib1g-dev \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Install hadolint +RUN curl -L -o /bin/hadolint https://github.com/hadolint/hadolint/releases/download/v2.12.0/hadolint-Linux-x86_64 \ + && chmod +x /bin/hadolint + +# Install asdf +# See https://asdf-vm.com/guide/getting-started.html#official-download +RUN git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v${ASDF_VERSION} && \ + echo ". $HOME/.asdf/asdf.sh" >> /root/.bashrc + +# Build the docs from this branch +COPY . /source/ +WORKDIR /source + +# Install asdf-managed dependencies +RUN ASDF_DIR="${ASDF_DIR:-${HOME}/.asdf}" && . ~/.asdf/asdf.sh && make setup |