Skip to content

Commit d5b5af5

Browse files
Merge pull request #14331 from rabbitmq/add-spring-to-selenium
Add a Spring component to selenium
2 parents df2dd96 + 8fb3603 commit d5b5af5

32 files changed

+1237
-49
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Spring Authorization Server docker image (make)
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- .github/workflows/authorization-server-make.yaml
9+
- selenium/authorization-server
10+
pull_request:
11+
paths:
12+
- .github/workflows/authorization-server-make.yaml
13+
- selenium/authorization-server
14+
15+
env:
16+
REGISTRY_IMAGE: pivotalrabbitmq/spring-authorization-server
17+
IMAGE_TAG: 0.0.11
18+
jobs:
19+
docker:
20+
runs-on: ubuntu-latest
21+
steps:
22+
23+
- name: CHECKOUT REPOSITORY
24+
uses: actions/checkout@v4
25+
26+
- name: Login to Docker Hub
27+
uses: docker/login-action@v3
28+
with:
29+
username: ${{ secrets.DOCKERHUB_USERNAME }}
30+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
31+
32+
- name: Build and push
33+
uses: docker/build-push-action@v6
34+
with:
35+
context: selenium/authorization-server
36+
push: true
37+
tags: ${{ env.REGISTRY_IMAGE }}:${{ env.IMAGE_TAG }}

.github/workflows/test-authnz.yaml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,20 +74,22 @@ jobs:
7474
- name: Run Suites
7575
id: tests
7676
run: |
77-
IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
78-
CONF_DIR_PREFIX="$(mktemp -d)" RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
79-
${SELENIUM_DIR}/run-suites.sh full-suite-authnz-messaging
80-
echo "SELENIUM_ARTIFACTS=$CONF_DIR_PREFIX" >> "$GITHUB_OUTPUT"
81-
77+
export IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
78+
export CONF_DIR_PREFIX="$(mktemp -d)"
79+
export RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG
80+
echo "Running selenium tests with "
81+
echo " - CONF_DIR_PREFIX: ${CONF_DIR_PREFIX}"
82+
echo " - IMAGE_TAG: ${IMAGE_TAG}"
83+
echo " - RABBITMQ_DOCKER_IMAGE: ${RABBITMQ_DOCKER_IMAGE}"
84+
echo "SELENIUM_ARTIFACTS=${CONF_DIR_PREFIX}" >> $GITHUB_ENV
85+
${SELENIUM_DIR}/run-suites.sh full-suite-authnz-messaging
86+
8287
- name: Upload Test Artifacts
83-
if: always()
88+
if: ${{ failure() && steps.tests.outcome == 'failure' }}
8489
uses: actions/[email protected]
85-
env:
86-
SELENIUM_ARTIFACTS: ${{ steps.tests.outputs.SELENIUM_ARTIFACTS }}
8790
with:
8891
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
89-
path: |
90-
$SELENIUM_ARTIFACTS/*
92+
path: ${{ env.SELENIUM_ARTIFACTS }}/*
9193

9294
summary-selenium:
9395
needs:

.github/workflows/test-management-ui-for-pr.yaml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,19 @@ jobs:
6262
- name: Run short UI suites on a standalone rabbitmq server
6363
id: tests
6464
run: |
65-
IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
66-
CONF_DIR_PREFIX="$(mktemp -d)" RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
67-
${SELENIUM_DIR}/run-suites.sh short-suite-management-ui
68-
echo "SELENIUM_ARTIFACTS=$CONF_DIR_PREFIX" >> "$GITHUB_OUTPUT"
69-
65+
export IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
66+
export CONF_DIR_PREFIX="$(mktemp -d)"
67+
export RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG
68+
echo "Running selenium tests with "
69+
echo " - CONF_DIR_PREFIX: ${CONF_DIR_PREFIX}"
70+
echo " - IMAGE_TAG: ${IMAGE_TAG}"
71+
echo " - RABBITMQ_DOCKER_IMAGE: ${RABBITMQ_DOCKER_IMAGE}"
72+
echo "SELENIUM_ARTIFACTS=${CONF_DIR_PREFIX}" >> $GITHUB_ENV
73+
${SELENIUM_DIR}/run-suites.sh short-suite-management-ui
74+
7075
- name: Upload Test Artifacts
71-
if: ${{ failure() && steps.tests.outcome == 'failed' }}
76+
if: ${{ failure() && steps.tests.outcome == 'failure' }}
7277
uses: actions/upload-artifact@v4
73-
env:
74-
SELENIUM_ARTIFACTS: ${{ steps.tests.outputs.SELENIUM_ARTIFACTS }}
7578
with:
7679
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
77-
path: |
78-
$SELENIUM_ARTIFACTS/*
80+
path: ${{ env.SELENIUM_ARTIFACTS }}/*

.github/workflows/test-management-ui.yaml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,17 +66,19 @@ jobs:
6666
- name: Run full UI suite on a 3-node rabbitmq cluster
6767
id: tests
6868
run: |
69-
IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
70-
CONF_DIR_PREFIX="$(mktemp -d)" RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG \
71-
${SELENIUM_DIR}/run-suites.sh full-suite-management-ui
72-
echo "SELENIUM_ARTIFACTS=$CONF_DIR_PREFIX" >> "$GITHUB_OUTPUT"
69+
export IMAGE_TAG=$(find PACKAGES/rabbitmq-server-generic-unix-*.tar.xz | awk -F 'PACKAGES/rabbitmq-server-generic-unix-|.tar.xz' '{print $2}')
70+
export CONF_DIR_PREFIX="$(mktemp -d)"
71+
export RABBITMQ_DOCKER_IMAGE=pivotalrabbitmq/rabbitmq:$IMAGE_TAG
72+
echo "Running selenium tests with "
73+
echo " - CONF_DIR_PREFIX: ${CONF_DIR_PREFIX}"
74+
echo " - IMAGE_TAG: ${IMAGE_TAG}"
75+
echo " - RABBITMQ_DOCKER_IMAGE: ${RABBITMQ_DOCKER_IMAGE}"
76+
echo "SELENIUM_ARTIFACTS=${CONF_DIR_PREFIX}" >> $GITHUB_ENV
77+
${SELENIUM_DIR}/run-suites.sh full-suite-management-ui
7378
7479
- name: Upload Test Artifacts
75-
if: ${{ failure() && steps.tests.outcome == 'failed' }}
80+
if: ${{ failure() && steps.tests.outcome == 'failure' }}
7681
uses: actions/[email protected]
77-
env:
78-
SELENIUM_ARTIFACTS: ${{ steps.run-suites.outputs.SELENIUM_ARTIFACTS }}
7982
with:
8083
name: test-artifacts-${{ matrix.browser }}-${{ matrix.erlang_version }}
81-
path: |
82-
$SELENIUM_ARTIFACTS/*
84+
path: ${{ env.SELENIUM_ARTIFACTS }}/*
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/mvnw text eol=lf
2+
*.cmd text eol=crlf
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
HELP.md
2+
target/
3+
.mvn/wrapper/maven-wrapper.jar
4+
!**/src/main/**/target/
5+
!**/src/test/**/target/
6+
7+
### STS ###
8+
.apt_generated
9+
.classpath
10+
.factorypath
11+
.project
12+
.settings
13+
.springBeans
14+
.sts4-cache
15+
16+
### IntelliJ IDEA ###
17+
.idea
18+
*.iws
19+
*.iml
20+
*.ipr
21+
22+
### NetBeans ###
23+
/nbproject/private/
24+
/nbbuild/
25+
/dist/
26+
/nbdist/
27+
/.nb-gradle/
28+
build/
29+
!**/src/main/**/build/
30+
!**/src/test/**/build/
31+
32+
### VS Code ###
33+
.vscode/
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
wrapperVersion=3.3.2
18+
distributionType=only-script
19+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM maven:3.9.9-eclipse-temurin-24-alpine as builder
2+
WORKDIR /home/app/authorization-server
3+
COPY ./ .
4+
RUN mvn -Dmaven.test.skip=true clean package
5+
6+
FROM openjdk:24-jdk
7+
EXPOSE 8080
8+
ENTRYPOINT ["java","-jar","/authorization-server.jar"]
9+
ARG JAR_FILE=target/*.jar
10+
COPY --from=builder /home/app/authorization-server/target/*.jar authorization-server.jar
11+
12+

0 commit comments

Comments
 (0)