diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 709a8fa9b2aabf2f59860cde7feeafff0eb08eeb..2eda1a890d9c07b157f5814eb9f7969ca281407e 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -280,3 +280,6 @@ Dangerfile @gl-quality/eng-prod [Legal] /config/dependency_decisions.yml @gitlab-org/legal-reviewers + +[Workhorse] +/workhorse/ @jacobvosmaer-gitlab @nick.thomas @nolith @patrickbajao diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml index a40eebd131b7ada96413c6eaf96362abd890fee7..8361d20d2b79c68a4d53dd749650ef3b556bec04 100644 --- a/.gitlab/ci/workhorse.gitlab-ci.yml +++ b/.gitlab/ci/workhorse.gitlab-ci.yml @@ -1,20 +1,10 @@ -workhorse: - extends: .workhorse:rules:workhorse - image: ${GITLAB_DEPENDENCY_PROXY}golang:1.14 - stage: test - needs: [] - script: - - rm .git/hooks/post-checkout - - git checkout . - - scripts/update-workhorse check - - make -C workhorse - workhorse:verify: extends: .workhorse:rules:workhorse image: ${GITLAB_DEPENDENCY_PROXY}golang:1.15 stage: test needs: [] script: + - make -C workhorse # test build - make -C workhorse verify .workhorse:test: diff --git a/GITLAB_WORKHORSE_VERSION b/GITLAB_WORKHORSE_VERSION deleted file mode 100644 index d97ab403ee4a14e22da4d7fdf15effc7b310c51a..0000000000000000000000000000000000000000 --- a/GITLAB_WORKHORSE_VERSION +++ /dev/null @@ -1 +0,0 @@ -8.65.0 diff --git a/GITLAB_WORKHORSE_VERSION b/GITLAB_WORKHORSE_VERSION new file mode 120000 index 0000000000000000000000000000000000000000..974cf28e008370583378f57d7adb451dc7d25fe8 --- /dev/null +++ b/GITLAB_WORKHORSE_VERSION @@ -0,0 +1 @@ +VERSION \ No newline at end of file diff --git a/scripts/update-workhorse b/scripts/update-workhorse deleted file mode 100755 index 2c43b249fe4529d331fb19c70ab465a2512cc2ba..0000000000000000000000000000000000000000 --- a/scripts/update-workhorse +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh -set -e -WORKHORSE_DIR=workhorse/ -WORKHORSE_REF="$(cat GITLAB_WORKHORSE_VERSION)" -WORKHORSE_URL=${GITLAB_WORKHORSE_URL:-https://gitlab.com/gitlab-org/gitlab-workhorse.git} - -if [ $# -gt 1 ] || ([ $# = 1 ] && [ x$1 != xcheck ]); then - echo "Usage: update-workhorse [check]" - exit 1 -fi - -if echo "$WORKHORSE_REF" | grep -q '^[0-9]\+\.[0-9]\+\.[0-9]\+' ; then - # Assume this is a tagged release - WORKHORSE_REF="v${WORKHORSE_REF}" -fi - -clean="$(git status --porcelain)" -if [ -n "$clean" ] ; then - echo 'error: working directory is not clean:' - echo "$clean" - exit 1 -fi - -git fetch "$WORKHORSE_URL" "$WORKHORSE_REF" -git rm -rf --quiet -- "$WORKHORSE_DIR" -git read-tree --prefix="$WORKHORSE_DIR" -u FETCH_HEAD - -status="$(git status --porcelain)" - -if [ x$1 = xcheck ]; then - if [ -n "$status" ]; then - cat <<MSG -error: $WORKHORSE_DIR does not match $WORKHORSE_REF - -During the transition period of https://gitlab.com/groups/gitlab-org/-/epics/4826, -the workhorse/ directory in this repository is read-only. To make changes: - -1. Submit a MR to https://gitlab.com/gitlab-org/gitlab-workhorse -2. Once your MR is merged, have a new gitlab-workhorse tag made - by a maintainer -3. Update the GITLAB_WORKHORSE_VERSION file in this repository -4. Run scripts/update-workhorse to update the workhorse/ directory - -MSG - exit 1 - fi - exit 0 -fi - -if [ -z "$status" ]; then - echo "warn: $WORKHORSE_DIR is already up to date, exiting without commit" - exit 0 -fi - -tree=$(git write-tree) -msg="Update vendored workhorse to $WORKHORSE_REF" -commit=$(git commit-tree -p HEAD -p FETCH_HEAD^{commit} -m "$msg" "$tree") -git update-ref HEAD "$commit" -git log -1 diff --git a/workhorse/PROCESS.md b/workhorse/PROCESS.md index 797de59d47e993237edcdd89cb9396883b6d3cc5..cf29b23b2c043f9ab50a1aaadc1105284fe164ed 100644 --- a/workhorse/PROCESS.md +++ b/workhorse/PROCESS.md @@ -31,6 +31,10 @@ The final merge must be performed by a maintainer. ## Releases +> Below we describe the legacy release process, from when Workhorse +> had its own repository. These instructions are still useful for +> security backports. + New versions of Workhorse can be released by one of the Workhorse maintainers. The release process is: diff --git a/workhorse/README.md b/workhorse/README.md index c1ff104cda8bd2eb05bdec9b1bf18a0c3554aec9..3284813285f59021f8cb08df8e968c79cadab2d5 100644 --- a/workhorse/README.md +++ b/workhorse/README.md @@ -9,17 +9,11 @@ GitLab](doc/architecture/gitlab_features.md) that would not work efficiently wit ## Canonical source -The canonical source for Workhorse is currently -[gitlab-org/gitlab-workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse). -As explained in https://gitlab.com/groups/gitlab-org/-/epics/4826, we -are in the process of moving the canonical source to +The canonical source for Workhorse is [gitlab-org/gitlab/workhorse](https://gitlab.com/gitlab-org/gitlab/tree/master/workhorse). - -Until that transition is complete, changes (Merge Requests) for -Workhorse should be submitted at -[gitlab-org/gitlab-workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse). -Once merged, they will propagate to gitlab-org/gitlab/workhorse via -the usual Workhorse release process. +Prior to https://gitlab.com/groups/gitlab-org/-/epics/4826, it was +[gitlab-org/gitlab/workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse/tree/master), +but that repository is no longer used for development. ## Documentation diff --git a/workhorse/VERSION b/workhorse/VERSION deleted file mode 100644 index d97ab403ee4a14e22da4d7fdf15effc7b310c51a..0000000000000000000000000000000000000000 --- a/workhorse/VERSION +++ /dev/null @@ -1 +0,0 @@ -8.65.0 diff --git a/workhorse/VERSION b/workhorse/VERSION new file mode 120000 index 0000000000000000000000000000000000000000..6ff19de4b804f2eca2b2d72657dd908c216b6537 --- /dev/null +++ b/workhorse/VERSION @@ -0,0 +1 @@ +../VERSION \ No newline at end of file