Commit 847d6b31 authored by Alessio Caiazza's avatar Alessio Caiazza

Merge branch 'jv-move-workhorse-development' into 'master'

Move Workhorse development to main GitLab repository

See merge request gitlab-org/gitlab!54941
parents 79192223 c3977c8d
...@@ -280,3 +280,6 @@ Dangerfile @gl-quality/eng-prod ...@@ -280,3 +280,6 @@ Dangerfile @gl-quality/eng-prod
[Legal] [Legal]
/config/dependency_decisions.yml @gitlab-org/legal-reviewers /config/dependency_decisions.yml @gitlab-org/legal-reviewers
[Workhorse]
/workhorse/ @jacobvosmaer-gitlab @nick.thomas @nolith @patrickbajao
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: workhorse:verify:
extends: .workhorse:rules:workhorse extends: .workhorse:rules:workhorse
image: ${GITLAB_DEPENDENCY_PROXY}golang:1.15 image: ${GITLAB_DEPENDENCY_PROXY}golang:1.15
stage: test stage: test
needs: [] needs: []
script: script:
- make -C workhorse # test build
- make -C workhorse verify - make -C workhorse verify
.workhorse:test: .workhorse:test:
......
VERSION
\ No newline at end of file
#!/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
...@@ -31,6 +31,10 @@ The final merge must be performed by a maintainer. ...@@ -31,6 +31,10 @@ The final merge must be performed by a maintainer.
## Releases ## 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 New versions of Workhorse can be released by one of the Workhorse
maintainers. The release process is: maintainers. The release process is:
......
...@@ -9,17 +9,11 @@ GitLab](doc/architecture/gitlab_features.md) that would not work efficiently wit ...@@ -9,17 +9,11 @@ GitLab](doc/architecture/gitlab_features.md) that would not work efficiently wit
## Canonical source ## Canonical source
The canonical source for Workhorse is currently The canonical source for Workhorse is
[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
[gitlab-org/gitlab/workhorse](https://gitlab.com/gitlab-org/gitlab/tree/master/workhorse). [gitlab-org/gitlab/workhorse](https://gitlab.com/gitlab-org/gitlab/tree/master/workhorse).
Prior to https://gitlab.com/groups/gitlab-org/-/epics/4826, it was
Until that transition is complete, changes (Merge Requests) for [gitlab-org/gitlab/workhorse](https://gitlab.com/gitlab-org/gitlab-workhorse/tree/master),
Workhorse should be submitted at but that repository is no longer used for development.
[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.
## Documentation ## Documentation
......
../VERSION
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment