Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split CI workflow jobs #872

Merged
merged 123 commits into from
Jul 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
366f93f
Create tutorial-support.yml
r9-pena Jun 22, 2021
3ae4682
Update tutorial-support.yml
r9-pena Jun 25, 2021
bc050af
Merge branch 'nasa:devel' into devel
r9-pena Jun 28, 2021
9a6e941
Implementation of tutorial workflow
r9-pena Jun 28, 2021
4078ce3
typo in repo address
r9-pena Jun 28, 2021
b0b3806
Added missing github action file
r9-pena Jun 28, 2021
45e99a1
Changed workflow path
r9-pena Jun 28, 2021
bce2af6
Changed dir paths
r9-pena Jun 28, 2021
0811db7
Work around for workflow
r9-pena Jun 28, 2021
f70bb74
work around
r9-pena Jun 28, 2021
7783654
troubleshooting
r9-pena Jun 28, 2021
2b47ec7
troubleshoot
r9-pena Jun 28, 2021
e80529c
troubleshoot
r9-pena Jun 28, 2021
0a3d2e6
Performance update
r9-pena Jun 29, 2021
2103604
Path correction
r9-pena Jun 29, 2021
e03fd06
troubleshoot
r9-pena Jun 29, 2021
15374d0
Dockerfile correction
r9-pena Jun 29, 2021
6ce47d2
path change
r9-pena Jun 30, 2021
4c2c09f
path change
r9-pena Jun 30, 2021
91f3ab3
path fix
r9-pena Jun 30, 2021
61191bf
path fix
r9-pena Jun 30, 2021
c819a78
path fix
r9-pena Jun 30, 2021
1096697
path fix
r9-pena Jun 30, 2021
202100b
paht fix
r9-pena Jun 30, 2021
2761184
Merge branch 'nasa:devel' into devel
r9-pena Jun 30, 2021
a22de72
Revert to changes
r9-pena Jun 30, 2021
8e7e1ca
Merge branch 'devel' of https://github.com/r9-pena/fprime into devel
r9-pena Jun 30, 2021
d6b1a7d
Completed workflow for tutorial support
r9-pena Jun 30, 2021
e54d12d
troubleshoot
r9-pena Jun 30, 2021
9c95406
Build path error
r9-pena Jun 30, 2021
a8b0f27
Optimization of workflow
r9-pena Jun 30, 2021
91e4a84
Path fix
r9-pena Jun 30, 2021
83eb472
Path fix
r9-pena Jun 30, 2021
8b261b4
Path fix #1
r9-pena Jun 30, 2021
09f7fad
path fix #2
r9-pena Jun 30, 2021
aae982f
path check
r9-pena Jun 30, 2021
e09f537
Workflow test
r9-pena Jun 30, 2021
051604e
Workflow test #2
r9-pena Jun 30, 2021
d0ad5f1
Added logging feature
r9-pena Jul 1, 2021
0e0be62
Logs Troubleshoot
r9-pena Jul 1, 2021
cb7bfca
Typo fix
r9-pena Jul 1, 2021
68cc720
Troubleshoot #1
r9-pena Jul 1, 2021
b575437
Troubleshoot #2
r9-pena Jul 1, 2021
62102b8
Corrected typo on path
r9-pena Jul 1, 2021
ee6e8f2
Troubleshoot #3
r9-pena Jul 1, 2021
3ccff2c
Troubleshoot #4
r9-pena Jul 1, 2021
9000af6
Troubleshoot #5
r9-pena Jul 1, 2021
f75fafc
Removed log archive feature
r9-pena Jul 1, 2021
0aa43bd
Changed repo path to conform pull request merge
r9-pena Jul 6, 2021
7ff80f1
Merge branch 'nasa:devel' into devel
r9-pena Jul 6, 2021
3a5f6d0
Merge branch 'nasa:devel' into devel
r9-pena Jul 14, 2021
6e5cc22
Test run #1
r9-pena Jul 14, 2021
8582422
Merge branch 'devel' of https://github.com/r9-pena/fprime into devel
r9-pena Jul 14, 2021
1b1dab2
test #2
r9-pena Jul 14, 2021
0c412ed
test #3
r9-pena Jul 14, 2021
21fa031
added branch for workflow test
r9-pena Jul 14, 2021
b6f8247
test #4
r9-pena Jul 14, 2021
e287452
test #4
r9-pena Jul 14, 2021
458e1f9
test #5
r9-pena Jul 14, 2021
793bb9b
test #6
r9-pena Jul 14, 2021
aca3f78
Test #7
r9-pena Jul 14, 2021
b38764e
test #8
r9-pena Jul 14, 2021
6dcdb5d
test #8
r9-pena Jul 14, 2021
b31b67a
Test #9
r9-pena Jul 14, 2021
93ab848
Test #9
r9-pena Jul 14, 2021
b825557
Test #10
r9-pena Jul 15, 2021
cd1f0c8
Test #11
r9-pena Jul 15, 2021
326bef6
Test #12
r9-pena Jul 15, 2021
b80827f
Test #13
r9-pena Jul 15, 2021
50c0cc3
Test #14
r9-pena Jul 15, 2021
ebe155d
Test #15
r9-pena Jul 20, 2021
d01f825
Test #16
r9-pena Jul 20, 2021
55f9c79
Test #17
r9-pena Jul 20, 2021
32d4de7
Test #18
r9-pena Jul 20, 2021
bf86771
Test #20
r9-pena Jul 20, 2021
7414f1b
Test #21
r9-pena Jul 20, 2021
442807d
Test #22
r9-pena Jul 20, 2021
322d7ce
Test #23
r9-pena Jul 20, 2021
f0a2f16
Test #24
r9-pena Jul 20, 2021
8bf818a
Test #25
r9-pena Jul 20, 2021
5ad6d77
Split test files
r9-pena Jul 20, 2021
87da673
Split tests #2
r9-pena Jul 20, 2021
0b04c18
Added executable permissions
r9-pena Jul 20, 2021
03e3871
Delete RPI.bash
r9-pena Jul 21, 2021
cf8aa08
Delete Ref.bash
r9-pena Jul 21, 2021
8e92aef
Delete Framework.bash
r9-pena Jul 21, 2021
74f1eb0
exe files
r9-pena Jul 21, 2021
941037f
Merge branch 'CI-test' of https://github.com/r9-pena/fprime into CI-test
r9-pena Jul 21, 2021
e92e714
Make Framework.bash executable
r9-pena Jul 21, 2021
a79165b
Make RPI.bash and Ref.bash executable
r9-pena Jul 21, 2021
b308206
Test #26
r9-pena Jul 21, 2021
7ade858
Test #27
r9-pena Jul 21, 2021
a31c10b
Test #28
r9-pena Jul 21, 2021
158ecab
Attached Integration test to Ref test
r9-pena Jul 22, 2021
aa26e28
Test #29
r9-pena Jul 22, 2021
90e2b47
Test #30
r9-pena Jul 22, 2021
b7edab7
Test #31
r9-pena Jul 23, 2021
2310583
Test #32
r9-pena Jul 23, 2021
1418ec5
Test #33
r9-pena Jul 23, 2021
b3e09c4
Test #34
r9-pena Jul 23, 2021
713760c
Test #35
r9-pena Jul 23, 2021
6e0db34
Test #35
r9-pena Jul 23, 2021
47b5f8e
Test #37
r9-pena Jul 23, 2021
d233deb
Test #38
r9-pena Jul 23, 2021
69341c1
Test #39
r9-pena Jul 23, 2021
68fd4b4
Test #40
r9-pena Jul 23, 2021
b4dda97
Test #41
r9-pena Jul 23, 2021
54699ce
Test #42
r9-pena Jul 23, 2021
d35cc3e
Test #43
r9-pena Jul 23, 2021
a2b0a52
Test #43
r9-pena Jul 23, 2021
f4b2ced
Test #44
r9-pena Jul 23, 2021
5f90df0
Test #45
r9-pena Jul 23, 2021
8f01759
Cleaned up files to remove commented code
r9-pena Jul 23, 2021
fa70aba
Remove CI test branch from workflow
r9-pena Jul 26, 2021
e2fff8a
Merge branch 'nasa:devel' into CI-test
r9-pena Jul 26, 2021
dcdc066
Merge branch 'nasa:devel' into devel
r9-pena Jul 26, 2021
089c7e4
Merge pull request #1 from r9-pena/CI-test
r9-pena Jul 26, 2021
6c0a663
Incorporated comments for PR
r9-pena Jul 26, 2021
28a82fb
Modified path for framework job test
r9-pena Jul 26, 2021
6b2fd3a
Incoporate reviewer comment for PR
r9-pena Jul 26, 2021
55ac01e
Incoporated reviewer comment for PR
r9-pena Jul 26, 2021
01c0013
Was using incorrect directory for the test
r9-pena Jul 26, 2021
028d283
Merge branch 'nasa:devel' into devel
r9-pena Jul 26, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/actions/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@ USER fprime

# Code file to execute when the docker container starts up (`entrypoint.sh`)
ENTRYPOINT ["/entrypoint.sh"]

7 changes: 4 additions & 3 deletions .github/actions/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
set -e
set -x
cd "$GITHUB_WORKSPACE"
if [ "$GITHUB_WORKFLOW" != "Autodocs" ]
if [ "$GITHUB_WORKFLOW" == "Autodocs" ]
then
"$GITHUB_WORKSPACE/ci/master.bash" QUICK
else
/autodoc.bash
else
#echo "$INPUT_TEST1"
"$GITHUB_WORKSPACE/ci/master.bash" $INPUT_TEST
fi
7 changes: 7 additions & 0 deletions .github/actions/github-ci-action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: 'F prime CI'
description: 'Runs continuous integration testing on F prime'
inputs:
test:
description: Test number to run
required: true
default: ''
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.test }}
77 changes: 74 additions & 3 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ on:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# This workflow contains 4 jobs. One for every CI test."
Framework:
# The type of runner that the job will run on
runs-on: ubuntu-latest

Expand All @@ -25,11 +25,82 @@ jobs:
- name: F prime CI step
uses: ./.github/actions/
id: github-ci-action
with:
test: Framework
# Archive the outputs
- name: 'Archive Logs'
uses: actions/upload-artifact@v2
if: always()
with:
name: ci-framework-logs
path: ci-logs.tar.gz
retention-days: 5

Ref:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Runs the CI action internal to the repository
- name: F prime CI step
uses: ./.github/actions/
id: github-ci-action
with:
test: 'Ref'
# Archive the outputs
- name: 'Archive Logs'
uses: actions/upload-artifact@v2
if: always()
with:
name: ci-ref-logs
path: ci-logs.tar.gz
retention-days: 5

RPI:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Runs the CI action internal to the repository
- name: F prime CI step
uses: ./.github/actions/
id: github-ci-action
with:
test: 'RPI'
# Archive the outputs
- name: 'Archive Logs'
uses: actions/upload-artifact@v2
if: always()
with:
name: ci-logs
name: ci-rpi-logs
path: ci-logs.tar.gz
retention-days: 5

Integration:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Runs the CI action internal to the repository
- name: F prime CI step
uses: ./.github/actions/
id: github-ci-action
with:
test: '30-ints'
# Archive the outputs
- name: 'Archive Logs'
uses: actions/upload-artifact@v2
if: always()
with:
name: ci-int-logs
path: ci-logs.tar.gz
retention-days: 5
33 changes: 9 additions & 24 deletions ci/master.bash
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,23 @@
#
# Master script to run the CI process. This will setup and run the tests for the CI system.
####

export CTEST_OUTPUT_ON_FAILURE=1
export SCRIPT_DIR="$(dirname ${BASH_SOURCE})"
. "${SCRIPT_DIR}/helpers.bash"

TESTS="${@}"
export TEST_TYPE="FULL"
if (( $# == 0 )) || [[ "${TESTS}" == "FULL" ]]
then
TESTS="$(ls "${SCRIPT_DIR}/tests"/*)"
elif [[ "${TESTS}" == "QUICK" ]]
then
TESTS="${SCRIPT_DIR}/tests/20-fputil.bash ${SCRIPT_DIR}/tests/30-ints.bash"
export TEST_TYPE="QUICK"
elif [[ "${TESTS}" == "STATIC" ]]
then
TESTS="${SCRIPT_DIR}/tests/40-pylama.bash"
export TEST_TYPE="STATIC"
fi
export TEST="${@}"
TEST_RUN="${SCRIPT_DIR}/tests/${TEST}.bash"
export TEST_TYPE="${TEST}"

#### NEEDED ENVIRONMENT ####
export FPRIME_DIR="$(cd ${SCRIPT_DIR}/..; pwd)"
export LOG_DIR="${FPRIME_DIR}/ci-logs-$(date +"%Y-%m-%dT%H%M%S")"
export LOG_DIR="${FPRIME_DIR}/ci-${TEST}-logs-$(date +"%Y-%m-%dT%H%M%S")"
mkdir -p "${LOG_DIR}"

. "${SCRIPT_DIR}/bootstrap.bash"
# Run the test script
echo -e "${BLUE}Starting CI test ${TEST_RUN} ${TEST}${NOCOLOR}"
/usr/bin/time "${TEST_RUN}" || fail_and_stop "${TEST} failed"
echo -e "${GREEN}CI test ${TEST_RUN} ${TEST} SUCCESSFUL${NOCOLOR}"

# Loop through all scripts in tests directory and run them
for test_script in ${TESTS}
do
"${SCRIPT_DIR}/clean.bash" || fail_and_stop "Cleaning directory"
echo -e "${BLUE}Starting CI test ${test_script}${NOCOLOR}"
/usr/bin/time "${test_script}" || fail_and_stop "${test_script} failed"
echo -e "${GREEN}CI test ${test_script} SUCCESSFUL${NOCOLOR}"
done
archive_logs
39 changes: 0 additions & 39 deletions ci/tests/20-fputil.bash

This file was deleted.

13 changes: 7 additions & 6 deletions ci/tests/30-ints.bash
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@
#
# Integration tests for CI
####
# Directory to be used for Integration CI test
export FPUTIL_DEPLOYS="${FPRIME_DIR}/Ref"

export SCRIPT_DIR="$(dirname ${BASH_SOURCE})/.."
. "${SCRIPT_DIR}/helpers.bash"

. ${SCRIPT_DIR}/tests/fputil.bash
# Loop over deployments and targets
for deployment in ${INT_DEPLOYS}
do
echo -e "${BLUE}Testing ${deployment} against integration tests${NOCOLOR}"
integration_test "${deployment}"
done

# Run integration tests
echo -e "${BLUE}Testing ${INT_DEPLOYS} against integration tests${NOCOLOR}"
integration_test "${FPUTIL_DEPLOYS}"
24 changes: 24 additions & 0 deletions ci/tests/Framework.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash
####
# Framework.bash:
#
# Run the tests on the software through fp-util.
####
# Directory to be used for Framework CI test
export FPUTIL_DEPLOYS="${FPRIME_DIR}"

export SCRIPT_DIR="$(dirname ${BASH_SOURCE})/.."
. "${SCRIPT_DIR}/helpers.bash"
. ${SCRIPT_DIR}/tests/fputil.bash

export CMAKE_EXTRA_SETTINGS=""
echo -e "${BLUE}Testing ${FPUTIL_DEPLOYS} against fprime-util targets: ${FPUTIL_TARGETS[@]}${NOCOLOR}"
export CHECK_TARGET_PLATFORM="native"
for target in "${FPUTIL_TARGETS[@]}"
do
if [[ "${target}" == "generate" ]]
then
rm -rf "${FPUTIL_DEPLOYS}/build-fprime-automatic-"*
fi
fputil_action "${FPUTIL_DEPLOYS}" "${target}"
done
32 changes: 32 additions & 0 deletions ci/tests/RPI.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash
####
# RPI.bash:
#
# Run the tests on the software through fp-util.
####
# Directory to be used for RPI CI test
export FPUTIL_DEPLOYS="${FPRIME_DIR}/RPI"

export SCRIPT_DIR="$(dirname ${BASH_SOURCE})/.."
. "${SCRIPT_DIR}/helpers.bash"
. ${SCRIPT_DIR}/tests/fputil.bash

export CMAKE_EXTRA_SETTINGS=""
if [ ! -d "/opt/rpi/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf" ]
then
warn_and_cont "RPI tools not installed, refusing to test."
continue
fi
# For RPI deployment to disable FRAMEWORK UTS
export CMAKE_EXTRA_SETTINGS="${CMAKE_EXTRA_SETTINGS} -DFPRIME_ENABLE_FRAMEWORK_UTS=OFF"

echo -e "${BLUE}Testing ${FPUTIL_DEPLOYS} against fprime-util targets: ${FPUTIL_TARGETS[@]}${NOCOLOR}"
export CHECK_TARGET_PLATFORM="native"
for target in "${FPUTIL_TARGETS[@]}"
do
if [[ "${target}" == "generate" ]]
then
rm -rf "${FPUTIL_DEPLOYS}/build-fprime-automatic-"*
fi
fputil_action "${FPUTIL_DEPLOYS}" "${target}"
done
27 changes: 27 additions & 0 deletions ci/tests/Ref.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash
####
# Ref.bash:
#
# Run the tests on the software through fp-util.
####
# Directory to be used for Ref CI test
export FPUTIL_DEPLOYS="${FPRIME_DIR}/Ref"

export SCRIPT_DIR="$(dirname ${BASH_SOURCE})/.."
. "${SCRIPT_DIR}/helpers.bash"
. ${SCRIPT_DIR}/tests/fputil.bash

export CMAKE_EXTRA_SETTINGS=""
# For Ref deployment to disable FRAMEWORK UTS
export CMAKE_EXTRA_SETTINGS="${CMAKE_EXTRA_SETTINGS} -DFPRIME_ENABLE_FRAMEWORK_UTS=OFF"

echo -e "${BLUE}Testing ${FPUTIL_DEPLOYS} against fprime-util targets: ${FPUTIL_TARGETS[@]}${NOCOLOR}"
export CHECK_TARGET_PLATFORM="native"
for target in "${FPUTIL_TARGETS[@]}"
do
if [[ "${target}" == "generate" ]]
then
rm -rf "${FPUTIL_DEPLOYS}/build-fprime-automatic-"*
fi
fputil_action "${FPUTIL_DEPLOYS}" "${target}"
done
35 changes: 16 additions & 19 deletions ci/tests/fputil.bash
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
#
# Helpers to test via FP util
####
set -e
export FPUTIL_TARGETS=("generate" "generate --ut" "build" "build --all" "check --all")
export FPUTIL_DEPLOYS="${FPRIME_DIR} ${FPRIME_DIR}/Ref ${FPRIME_DIR}/RPI"

export INT_DEPLOYS="${FPRIME_DIR}/Ref"
####
# fputil_action:
#
Expand All @@ -17,29 +15,20 @@ export INT_DEPLOYS="${FPRIME_DIR}/Ref"
# :param deploy($2): deployment to run on
####
function fputil_action {
export DEPLOYMENT="${1}"
export WORKDIR="${1}"
export TARGET="${2}"
export WORKDIR="${DEPLOYMENT}/${3}"
let JOBS="${JOBS:-$(( ( RANDOM % 100 ) + 1 ))}"
(
cd "${DEPLOYMENT}"
PLATFORM=""

# Generate is only needed when it isn't being tested
if [[ "${TARGET}" != "generate" ]] && [[ "${TEST_TYPE}" != "QUICK" ]]
then
echo "[INFO] Generating build cache before ${DEPLOYMENT//\//_} '${TARGET}' execution"
fprime-util "generate" ${PLATFORM} ${CMAKE_EXTRA_SETTINGS} > "${LOG_DIR}/${DEPLOYMENT//\//_}_pregen.out.log" 2> "${LOG_DIR}/${DEPLOYMENT//\//_}_pregen.err.log" \
|| fail_and_stop "Failed to generate before ${DEPLOYMENT//\//_} '${TARGET}' execution"
fi
cd "${WORKDIR}"
if [[ "${TARGET}" != "generate" ]] && [[ "${TARGET}" != "generate --ut" ]]
then
echo "[INFO] FP Util in ${WORKDIR} running ${TARGET} with ${JOBS} jobs"
echo "[INFO] FP Util in ${WORKDIR} running ${TARGET} with ${JOBS} jobs"
fprime-util ${TARGET} --jobs "${JOBS}" ${PLATFORM} > "${LOG_DIR}/${WORKDIR//\//_}_${TARGET/ /}.out.log" 2> "${LOG_DIR}/${WORKDIR//\//_}_${TARGET/ /}.err.log" \
|| fail_and_stop "Failed to run '${TARGET}' in ${WORKDIR}"
else
echo "[INFO] FP Util in ${WORKDIR} running ${TARGET}"
echo "[INFO] FP Util in ${WORKDIR} running ${TARGET}"
fprime-util ${TARGET} ${PLATFORM} ${CMAKE_EXTRA_SETTINGS} > "${LOG_DIR}/${WORKDIR//\//_}_${TARGET/ /}.out.log" 2> "${LOG_DIR}/${WORKDIR//\//_}_${TARGET/ /}.err.log" \
|| fail_and_stop "Failed to run '${TARGET}' in ${WORKDIR}"
fi
Expand All @@ -56,10 +45,18 @@ function integration_test {
export SLEEP_TIME="10"
export WORKDIR="${1}"
export ROOTDIR="${WORKDIR}/build-artifacts"
if [[ "${TEST_TYPE}" != "QUICK" ]]
then
fputil_action "${WORKDIR}" "build" || fail_and_stop "Failed to build before integration test"
fi
let JOBS="${JOBS:-$(( ( RANDOM % 100 ) + 1 ))}"

CMAKE_EXTRA_SETTINGS=""
PLATFORM=""

cd "${WORKDIR}"
fprime-util "generate" > "${LOG_DIR}/${WORKDIR//\//_}_pregen.out.log" 2> "${LOG_DIR}/${WORKDIR//\//_}_pregen.err.log" \
|| fail_and_stop "Failed to generate before ${WORKDIR//\//_} building integration test"
cd "${WORKDIR}/"
fprime-util "build" --jobs "${JOBS}" ${PLATFORM} > "${LOG_DIR}/${WORKDIR//\//_}_${TARGET/ /}.out.log" 2> "${LOG_DIR}/${WORKDIR//\//_}_${TARGET/ /}.err.log" \
|| fail_and_stop "Failed to build before integration test"

(
mkdir -p "${LOG_DIR}/gds-logs"
# Start the GDS layer and give it time to run
Expand Down