mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2025-01-06 09:07:53 -05:00
Use the matching complement branch when running tests in CI. (#10160)
This implements similar behavior to sytest where a matching branch is used, if one exists. This is useful when needing to modify both application code and tests at the same time. The following rules are used to find a matching complement branch: 1. Search for the branch name of the pull request. (E.g. feature/foo.) 2. Search for the base branch of the pull request. (E.g. develop or release-vX.Y.) 3. Search for the reference branch of the commit. (E.g. master or release-vX.Y.) 4. Fallback to 'master', the default complement branch name.
This commit is contained in:
parent
c8dd4db9eb
commit
a14884fbb0
28
.github/workflows/tests.yml
vendored
28
.github/workflows/tests.yml
vendored
@ -305,11 +305,29 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
path: synapse
|
path: synapse
|
||||||
|
|
||||||
- name: Run actions/checkout@v2 for complement
|
# Attempt to check out the same branch of Complement as the PR. If it
|
||||||
uses: actions/checkout@v2
|
# doesn't exist, fallback to master.
|
||||||
with:
|
- name: Checkout complement
|
||||||
repository: "matrix-org/complement"
|
shell: bash
|
||||||
path: complement
|
run: |
|
||||||
|
mkdir -p complement
|
||||||
|
# Attempt to use the version of complement which best matches the current
|
||||||
|
# build. Depending on whether this is a PR or release, etc. we need to
|
||||||
|
# use different fallbacks.
|
||||||
|
#
|
||||||
|
# 1. First check if there's a similarly named branch (GITHUB_HEAD_REF
|
||||||
|
# for pull requests, otherwise GITHUB_REF).
|
||||||
|
# 2. Attempt to use the base branch, e.g. when merging into release-vX.Y
|
||||||
|
# (GITHUB_BASE_REF for pull requests).
|
||||||
|
# 3. Use the default complement branch ("master").
|
||||||
|
for BRANCH_NAME in "$GITHUB_HEAD_REF" "$GITHUB_BASE_REF" "${GITHUB_REF#refs/heads/}" "master"; do
|
||||||
|
# Skip empty branch names and merge commits.
|
||||||
|
if [[ -z "$BRANCH_NAME" || $BRANCH_NAME =~ ^refs/pull/.* ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
(wget -O - "https://github.com/matrix-org/complement/archive/$BRANCH_NAME.tar.gz" | tar -xz --strip-components=1 -C complement) && break
|
||||||
|
done
|
||||||
|
|
||||||
# Build initial Synapse image
|
# Build initial Synapse image
|
||||||
- run: docker build -t matrixdotorg/synapse:latest -f docker/Dockerfile .
|
- run: docker build -t matrixdotorg/synapse:latest -f docker/Dockerfile .
|
||||||
|
1
changelog.d/10160.misc
Normal file
1
changelog.d/10160.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fetch the corresponding complement branch when performing CI.
|
Loading…
Reference in New Issue
Block a user