Commit c3977c8d authored by Jacob Vosmaer's avatar Jacob Vosmaer

Move workhorse development to main gitlab repo

parent 8e906556
......@@ -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
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:
......
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.
## 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:
......
......@@ -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
......
../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