From adafdb32998ab42d02f5ea3f858ab05302f97f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Misbach?= Date: Tue, 16 Apr 2024 18:19:42 +0200 Subject: [PATCH] attempt pooling image build --- .github/workflows/ci.yml | 92 ++++++++++++++----- .github/workflows/monitoring-test.yml | 15 ++- monitoring/mock_uss/run_locally_msgsigning.sh | 8 +- .../mock_uss/run_locally_test_geoawareness.sh | 9 +- monitoring/mock_uss/start_all_local_mocks.sh | 8 +- monitoring/prober/run_locally.sh | 9 +- .../bin/generate_rid_test_definition.sh | 8 +- monitoring/uss_qualifier/bin/run.sh | 8 +- monitoring/uss_qualifier/make_artifacts.sh | 8 +- monitoring/uss_qualifier/run_locally.sh | 9 +- .../scripts/format_test_documentation.sh | 8 +- .../scripts/format_test_suite_docs.sh | 8 +- .../uss_qualifier/scripts/run_unit_tests.sh | 8 +- .../scripts/validate_test_definitions.sh | 8 +- schemas/manage_type_schemas.sh | 6 +- 15 files changed, 138 insertions(+), 74 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 129f2d8092..53be944d66 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,33 +5,71 @@ on: branches: - main jobs: + build-monitoring: + runs-on: ubuntu-latest + name: Build interuss/monitoring docker image + steps: + - name: Job information + run: | + echo "Job information" + echo "Trigger: ${{ github.event_name }}" + echo "Host: ${{ runner.os }}" + echo "Repository: ${{ github.repository }}" + echo "Branch: ${{ github.ref }}" + docker images + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: true + - name: Build and export interuss/monitoring docker image + run: | + cd monitoring + make image + docker save --output /tmp/monitoring-docker-image.tar interuss/monitoring + - name: Upload interuss/monitoring docker image as artifact + uses: actions/upload-artifact@v4 + with: + name: monitoring-docker-image + path: /tmp/monitoring-docker-image.tar + hygiene-tests: name: Repository hygiene + needs: build-monitoring runs-on: ubuntu-latest steps: - - name: Job information - run: | - echo "Job information" - echo "Trigger: ${{ github.event_name }}" - echo "Host: ${{ runner.os }}" - echo "Repository: ${{ github.repository }}" - echo "Branch: ${{ github.ref }}" - docker images - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: true - - name: Python lint - run: make python-lint - - name: Automated hygiene verification - run: make check-hygiene - - name: uss_qualifier documentation validation - run: make validate-uss-qualifier-docs - - name: Shell lint - run: make shell-lint + - name: Job information + run: | + echo "Job information" + echo "Trigger: ${{ github.event_name }}" + echo "Host: ${{ runner.os }}" + echo "Repository: ${{ github.repository }}" + echo "Branch: ${{ github.ref }}" + docker images + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: true + - name: Download interuss/monitoring docker image as artifact + uses: actions/download-artifact@v4 + with: + name: monitoring-docker-image + path: /tmp + - name: Import interuss/monitoring docker image + run: | + docker load --input /tmp/monitoring-docker-image.tar + docker image ls -a + - name: Python lint + run: make python-lint + - name: Automated hygiene verification + run: make check-hygiene + - name: uss_qualifier documentation validation + run: make validate-uss-qualifier-docs + - name: Shell lint + run: make shell-lint mock_uss-test: name: mock_uss tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: mock_uss @@ -41,6 +79,7 @@ jobs: uss_qualifier-noop-test: name: uss_qualifier configurations.dev.noop tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-noop-test @@ -52,6 +91,7 @@ jobs: uss_qualifier-geoawareness_cis-test: name: uss_qualifier configurations.dev.geoawareness_cis tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-geoawareness_cis-test @@ -63,6 +103,7 @@ jobs: uss_qualifier-generate_rid_test_data-test: name: uss_qualifier configurations.dev.generate_rid_test_data tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-generate_rid_test_data-test @@ -74,6 +115,7 @@ jobs: uss_qualifier-geospatial_comprehension-test: name: uss_qualifier configurations.dev.geospatial_comprehension tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-geospatial_comprehension-test @@ -85,6 +127,7 @@ jobs: uss_qualifier-general_flight_auth-test: name: uss_qualifier configurations.dev.general_flight_auth tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-general_flight_auth-test @@ -96,6 +139,7 @@ jobs: uss_qualifier-message_signing-test: name: uss_qualifier configurations.dev.message_signing tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-message_signing-test @@ -107,6 +151,7 @@ jobs: uss_qualifier-dss_probing-test: name: uss_qualifier configurations.dev.dss_probing tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-dss_probing-test @@ -118,6 +163,7 @@ jobs: uss_qualifier-f3548_self_contained-test: name: uss_qualifier configurations.dev.f3548_self_contained tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-f3548_self_contained-test @@ -129,6 +175,7 @@ jobs: uss_qualifier-netrid_v22a-test: name: uss_qualifier configurations.dev.netrid_v22a tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-netrid_v22a-test @@ -140,6 +187,7 @@ jobs: uss_qualifier-netrid_v19-test: name: uss_qualifier configurations.dev.netrid_v19 tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-netrid_v19-test @@ -151,6 +199,7 @@ jobs: uss_qualifier-uspace-test: name: uss_qualifier configurations.dev.uspace tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: uss_qualifier-uspace-test @@ -162,6 +211,7 @@ jobs: prober-test: name: prober tests + needs: build-monitoring uses: ./.github/workflows/monitoring-test.yml with: name: prober @@ -186,7 +236,7 @@ jobs: path: monitoring - name: Get uss_qualifier reports - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: path: ./artifacts diff --git a/.github/workflows/monitoring-test.yml b/.github/workflows/monitoring-test.yml index 334f6edc35..6bb2b27f6e 100644 --- a/.github/workflows/monitoring-test.yml +++ b/.github/workflows/monitoring-test.yml @@ -12,6 +12,8 @@ on: required: true type: string +# todo dependency on job + jobs: monitoring-test: runs-on: ubuntu-latest @@ -29,11 +31,20 @@ jobs: uses: actions/checkout@v4 with: submodules: true + - name: Download interuss/monitoring docker image as artifact + uses: actions/download-artifact@v4 + with: + name: monitoring-docker-image + path: /tmp + - name: Import interuss/monitoring docker image + run: | + docker load --input /tmp/monitoring-docker-image.tar + docker image ls -a - name: Run ${{ inputs.name }} test run: ${{ inputs.script }} - name: Save containers and tracer logs as artifact if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: monitoring-test-${{ inputs.name }}-logs path: | @@ -41,7 +52,7 @@ jobs: monitoring/mock_uss/output - name: Save USS qualifier reports as artifact if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: monitoring-test-${{ inputs.name }}-reports path: | diff --git a/monitoring/mock_uss/run_locally_msgsigning.sh b/monitoring/mock_uss/run_locally_msgsigning.sh index ae96a2135b..7bfb137f7f 100755 --- a/monitoring/mock_uss/run_locally_msgsigning.sh +++ b/monitoring/mock_uss/run_locally_msgsigning.sh @@ -12,10 +12,10 @@ else fi cd "${BASEDIR}/../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +#( +#cd monitoring || exit 1 +#make image +#) AUTH="DummyOAuth(http://host.docker.internal:8085/token,uss1)" DSS="http://host.docker.internal:8082" diff --git a/monitoring/mock_uss/run_locally_test_geoawareness.sh b/monitoring/mock_uss/run_locally_test_geoawareness.sh index ba11692bfd..87c549d4e0 100755 --- a/monitoring/mock_uss/run_locally_test_geoawareness.sh +++ b/monitoring/mock_uss/run_locally_test_geoawareness.sh @@ -10,10 +10,11 @@ else fi cd "${BASEDIR}/../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +# TODO: temporarly disabled for CI import artifact +#( +#cd monitoring || exit 1 +#make image +#) PUBLIC_KEY="/var/test-certs/auth2.pem" container_name="mock_uss_geoawareness_test" diff --git a/monitoring/mock_uss/start_all_local_mocks.sh b/monitoring/mock_uss/start_all_local_mocks.sh index 0434ab3ce6..1c21d0eefd 100755 --- a/monitoring/mock_uss/start_all_local_mocks.sh +++ b/monitoring/mock_uss/start_all_local_mocks.sh @@ -12,9 +12,9 @@ else fi cd "${BASEDIR}/../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +#( +#cd monitoring || exit 1 +#make image +#) ./monitoring/mock_uss/run_locally.sh up --wait --wait-timeout 60 -d diff --git a/monitoring/prober/run_locally.sh b/monitoring/prober/run_locally.sh index 7d4fda0b03..717e68e69e 100755 --- a/monitoring/prober/run_locally.sh +++ b/monitoring/prober/run_locally.sh @@ -13,10 +13,11 @@ else fi cd "${BASEDIR}/../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +# TODO: temporarly disabled for CI import artifact +#( +#cd monitoring || exit 1 +#make image +#) CORE_SERVICE_CONTAINER="local_infra-dss-1" OAUTH_CONTAINER="local_infra-oauth-1" diff --git a/monitoring/uss_qualifier/bin/generate_rid_test_definition.sh b/monitoring/uss_qualifier/bin/generate_rid_test_definition.sh index c0c4778120..de3345ceda 100755 --- a/monitoring/uss_qualifier/bin/generate_rid_test_definition.sh +++ b/monitoring/uss_qualifier/bin/generate_rid_test_definition.sh @@ -12,10 +12,10 @@ else fi cd "${BASEDIR}/../../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +#( +#cd monitoring || exit 1 +#make image +#) CONFIG_LOCATION="monitoring/uss_qualifier/config_run_locally.json" CONFIG='--config config_run_locally.json' diff --git a/monitoring/uss_qualifier/bin/run.sh b/monitoring/uss_qualifier/bin/run.sh index c514c5059b..7b68b5505c 100755 --- a/monitoring/uss_qualifier/bin/run.sh +++ b/monitoring/uss_qualifier/bin/run.sh @@ -30,10 +30,10 @@ AUTH="${2:-NoAuth()}" QUALIFIER_OPTIONS="--auth $AUTH --config /config.json --report output/report.json" -( -cd monitoring || exit 1 -make image -) +#( +#cd monitoring || exit 1 +#make image +#) if [ "$CI" == "true" ]; then docker_args="--add-host host.docker.internal:host-gateway" # Required to reach other containers in Ubuntu (used for Github Actions) diff --git a/monitoring/uss_qualifier/make_artifacts.sh b/monitoring/uss_qualifier/make_artifacts.sh index 259f554f7e..14a637c628 100755 --- a/monitoring/uss_qualifier/make_artifacts.sh +++ b/monitoring/uss_qualifier/make_artifacts.sh @@ -21,10 +21,10 @@ else fi cd "${BASEDIR}/../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +#( +#cd monitoring || exit 1 +#make image +#) CONFIG_NAME="${1}" diff --git a/monitoring/uss_qualifier/run_locally.sh b/monitoring/uss_qualifier/run_locally.sh index 124260731e..485a38ca44 100755 --- a/monitoring/uss_qualifier/run_locally.sh +++ b/monitoring/uss_qualifier/run_locally.sh @@ -12,10 +12,11 @@ else fi cd "${BASEDIR}/../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +# TODO: temporarly disabled for CI import artifact +#( +#cd monitoring || exit 1 +#make image +#) CONFIG_NAME="${1:-ALL}" diff --git a/monitoring/uss_qualifier/scripts/format_test_documentation.sh b/monitoring/uss_qualifier/scripts/format_test_documentation.sh index 552f30b4e5..f69107db06 100755 --- a/monitoring/uss_qualifier/scripts/format_test_documentation.sh +++ b/monitoring/uss_qualifier/scripts/format_test_documentation.sh @@ -13,10 +13,10 @@ else fi cd "${BASEDIR}/../../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +#( +#cd monitoring || exit 1 +#make image +#) # shellcheck disable=SC2086 docker run --name test_documentation_formatter \ diff --git a/monitoring/uss_qualifier/scripts/format_test_suite_docs.sh b/monitoring/uss_qualifier/scripts/format_test_suite_docs.sh index 9e0adfd073..ada3c9a43f 100755 --- a/monitoring/uss_qualifier/scripts/format_test_suite_docs.sh +++ b/monitoring/uss_qualifier/scripts/format_test_suite_docs.sh @@ -13,10 +13,10 @@ else fi cd "${BASEDIR}/../../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +#( +#cd monitoring || exit 1 +#make image +#) # shellcheck disable=SC2086 docker run --name test_suite_docs_formatter \ diff --git a/monitoring/uss_qualifier/scripts/run_unit_tests.sh b/monitoring/uss_qualifier/scripts/run_unit_tests.sh index 6aba675a0b..3cac4a3838 100755 --- a/monitoring/uss_qualifier/scripts/run_unit_tests.sh +++ b/monitoring/uss_qualifier/scripts/run_unit_tests.sh @@ -13,10 +13,10 @@ else fi cd "${BASEDIR}/../../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +#( +#cd monitoring || exit 1 +#make image +#) # shellcheck disable=SC2086 docker run --name uss_qualifier_unit_test \ diff --git a/monitoring/uss_qualifier/scripts/validate_test_definitions.sh b/monitoring/uss_qualifier/scripts/validate_test_definitions.sh index dfdb99a042..7c56a197ba 100755 --- a/monitoring/uss_qualifier/scripts/validate_test_definitions.sh +++ b/monitoring/uss_qualifier/scripts/validate_test_definitions.sh @@ -13,10 +13,10 @@ else fi cd "${BASEDIR}/../../.." || exit 1 -( -cd monitoring || exit 1 -make image -) +#( +#cd monitoring || exit 1 +#make image +#) # shellcheck disable=SC2086 docker run --name test_definition_validator \ diff --git a/schemas/manage_type_schemas.sh b/schemas/manage_type_schemas.sh index 978816e8db..9c50b8594f 100755 --- a/schemas/manage_type_schemas.sh +++ b/schemas/manage_type_schemas.sh @@ -13,9 +13,9 @@ else fi cd "${BASEDIR}/.." || exit 1 -cd monitoring -make image -cd .. +#cd monitoring +#make image +#cd .. action=${1:?The action must be specified as --check or --generate}