-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Build Docker images for using worker-mode Synapse in automated test tools. #11852
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -63,3 +63,69 @@ jobs: | |
tags: "matrixdotorg/synapse:${{ steps.set-tag.outputs.tag }}" | ||
file: "docker/Dockerfile" | ||
platforms: linux/amd64,linux/arm64 | ||
|
||
build_workers_test: | ||
runs-on: ubuntu-latest | ||
|
||
# The worker test image depends on the base image, so we must build the base | ||
# first. | ||
needs: build | ||
|
||
permissions: | ||
packages: write | ||
contents: read | ||
|
||
steps: | ||
- name: Set up QEMU | ||
id: qemu | ||
uses: docker/setup-qemu-action@v1 | ||
with: | ||
platforms: arm64 | ||
|
||
- name: Set up Docker Buildx | ||
id: buildx | ||
uses: docker/setup-buildx-action@v1 | ||
|
||
- name: Inspect builder | ||
run: docker buildx inspect | ||
|
||
- name: Login to GitHub Container Registry (for worker-testing-only image) | ||
if: github.event_name != 'pull_request' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it looks like the push is not conditional on this, so why is the login? (maybe we can make the entire |
||
uses: docker/login-action@v1 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.repository_owner }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
# This must match EXACTLY the one in the `build` pipeline. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. could use a yaml alias thingy to avoid the duplication There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Apparently GHA doesn't support YAML anchors. I was surprised but this is what the net says. |
||
- name: Calculate docker image tag | ||
id: set-tag | ||
run: | | ||
case "${GITHUB_REF}" in | ||
refs/heads/develop) | ||
tag=develop | ||
;; | ||
refs/heads/master|refs/heads/main) | ||
tag=latest | ||
;; | ||
refs/tags/*) | ||
tag=${GITHUB_REF#refs/tags/} | ||
;; | ||
*) | ||
tag=${GITHUB_SHA} | ||
;; | ||
esac | ||
echo "::set-output name=tag::$tag" | ||
|
||
# This image is solely intended to be used for automated test tools, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. .oO (we should probably use https://github.com/peter-evans/dockerhub-description to upload/sync the image descriptions on ghcr/dockerhub) |
||
# such as mx-tester. | ||
- name: Build and push worker-testing-only image for all platforms | ||
uses: docker/build-push-action@v2 | ||
with: | ||
push: true | ||
build-args: | | ||
"base_version=${{ steps.set-tag.outputs.tag }}" | ||
labels: "gitsha1=${{ github.sha }}" | ||
tags: "ghcr.io/matrix-org/synapse-workers-testing-only:${{ steps.set-tag.outputs.tag }}" | ||
file: "docker/Dockerfile-workers" | ||
platforms: linux/amd64,linux/arm64 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Build Docker images for using worker-mode Synapse in automated test tools. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the "(for worker-testing-only image)" is a bit weird here. Why only this step?