Skip to content

Commit e16c151

Browse files
committed
Test docker compose file now refers to a distro-agnostic freeradius image tag.
1 parent 55ef9ed commit e16c151

2 files changed

Lines changed: 27 additions & 15 deletions

File tree

.github/workflows/ci-multi-server-tests.yml

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,20 @@ on:
1212
workflow_dispatch:
1313

1414
jobs:
15+
pre-test:
16+
runs-on: ubuntu-latest
17+
outputs:
18+
selfhosted: 0
19+
#selfhosted: ${{ github.repository_owner == 'FreeRADIUS' && '1' || '0' }}
20+
steps:
21+
- run: echo "Pre-test job; checking if using self-hosted runners"
22+
1523
test-5hs-autoaccept:
16-
runs-on: ubuntu-24.04
24+
needs: pre-test
25+
runs-on: ${{ needs.pre-test.outputs.selfhosted == '1' && 'self-hosted' || 'ubuntu-24.04' }}
1726

1827
env:
19-
DOCKER_BUILD_OS: ubuntu22
28+
MULTI_SERVER_ENV_DOCKER_BUILD_OS: ubuntu24
2029
MULTI_SERVER_TEST_LOG: build/tests/multi-server/freeradius-multi-server/multi_server_test.log
2130

2231
steps:
@@ -61,31 +70,34 @@ jobs:
6170
sudo mk-build-deps -irt"apt-get -y --no-install-recommends" scripts/ci/extra-packages.debian.control
6271
6372
- name: Build Docker image for multi-server test environment
73+
if: ${{ needs.pre-test.outputs.selfhosted != '1' }}
6474
run: |
6575
./configure
66-
make docker.${DOCKER_BUILD_OS}.build
76+
make docker.${MULTI_SERVER_ENV_DOCKER_BUILD_OS}.build
6777
6878
# List all images
6979
docker images --all
7080
71-
# Retag image to what the multi-server test's docker compose environment expects
72-
docker tag freeradius4/${DOCKER_BUILD_OS}:latest fr-build-${DOCKER_BUILD_OS}:latest
81+
# Tag freeradius build image using using a non-OS specific name to be used with the multi-server docker compose environment.
82+
docker tag freeradius4/${MULTI_SERVER_ENV_DOCKER_BUILD_OS}:latest freeradius-build:latest
83+
84+
- name: Get pre-built Docker image for self-hosted runner test
85+
if: ${{ needs.pre-test.outputs.selfhosted == '1' }}
86+
run: |
87+
docker pull docker.internal.networkradius.com/self-hosted-${MULTI_SERVER_ENV_DOCKER_BUILD_OS}:latest
7388
74-
docker images --format 'table {{.Repository}}\t{{.Tag}}\t{{.ID}}' | grep -E "freeradius4/${DOCKER_BUILD_OS}|fr-build-${DOCKER_BUILD_OS}"
89+
# Tag freeradius build image using using a non-OS specific name to be used with the multi-server docker compose environment.
90+
docker tag docker.internal.networkradius.com/self-hosted-${MULTI_SERVER_ENV_DOCKER_BUILD_OS}:latest freeradius-build:latest
7591
7692
- name: Run test-5hs-autoaccept test
93+
if: ${{ needs.pre-test.outputs.selfhosted != '1' }}
7794
run: |
78-
if ! docker images --format '{{.Repository}}:{{.Tag}}' | grep -q "^fr-build-${DOCKER_BUILD_OS}:latest$"; then
79-
echo "Error: fr-build-${DOCKER_BUILD_OS}:latest Docker image not found and required for multi-server test environment."
95+
if ! docker images --format '{{.Repository}}:{{.Tag}}' | grep -q "^freeradius-build:latest$"; then
96+
echo "Error: freeradius-build:latest Docker image not found and required for multi-server test environment."
8097
exit 1
8198
fi
8299
make -f src/tests/multi-server/all.mk test-5hs-autoaccept
83100
84-
# Display contents of the multi-server test log file for debugging purposes,
85-
# regardless of test success or failure.
86-
echo "============ ${MULTI_SERVER_TEST_LOG} ============"
87-
cat "${MULTI_SERVER_TEST_LOG}"
88-
89101
- name: Verify test results
90102
shell: bash
91103
run: |

src/tests/multi-server/environments/docker-compose/env-5hs-autoaccept.yml.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ x-common-config: &id001
1919
services:
2020
{% for i in range(1, (num_of_dst_servers + 1)) %}
2121
homeserver{{ i }}:
22-
image: fr-build-ubuntu22:latest
22+
image: freeradius-build:latest
2323
volumes:
2424
- ${DATA_PATH}/freeradius/homeserver/radiusd.conf:/etc/raddb/radiusd.conf
2525
- ${DATA_PATH}/freeradius/env-setup.sh:/tmp/env-setup.sh
@@ -41,7 +41,7 @@ services:
4141
<<: *id001
4242
{% endfor %}
4343
load-generator:
44-
image: fr-build-ubuntu22:latest
44+
image: freeradius-build:latest
4545
ports:
4646
# Expose RADIUS ports for load generator to allow us to access the server from outside docker
4747
- "1812:1812/udp"

0 commit comments

Comments
 (0)