From 6d826b385c00725893a185883a6d8e1dd2b0353c Mon Sep 17 00:00:00 2001 From: Erik Gaida Date: Fri, 9 Oct 2026 11:33:34 +0200 Subject: [PATCH 1/6] Update build workflow: remove branch restriction and add regression tests --- .github/workflows/build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ef2a5db..9b92a77 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,7 +2,6 @@ name: Build Data Collection Application Function on: push: - branches: [ development ] schedule: - cron: '0 0 * * 0' # Executes every Sunday at midnight UT jobs: @@ -20,12 +19,14 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt install git ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libtins-dev libtalloc-dev libpcre2-dev curl wget default-jdk cmake jq + sudo apt install git ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libtins-dev libtalloc-dev libpcre2-dev curl wget default-jdk cmake jq python3-h2 util-linux-extra sudo python -m pip install --upgrade meson - name: Build run: | meson build ninja -C build + - name: Run regression tests + run: meson test -C build regression --print-errorlogs - name: Install working-directory: build run : sudo meson install --no-rebuild From 5cb19e3994a410284a950eabb8ebf956f778b58e Mon Sep 17 00:00:00 2001 From: Erik Gaida Date: Fri, 9 Oct 2026 11:36:29 +0200 Subject: [PATCH 2/6] Add pull request trigger to build workflow --- .github/workflows/build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9b92a77..ac72f69 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,7 +1,9 @@ name: Build Data Collection Application Function on: - push: + push: {} + pull_request: + schedule: - cron: '0 0 * * 0' # Executes every Sunday at midnight UT jobs: From 04d8db296f6cc2c56891c0d59cd83f91a069949e Mon Sep 17 00:00:00 2001 From: Erik Gaida Date: Fri, 9 Oct 2026 11:39:54 +0200 Subject: [PATCH 3/6] Remove pull request trigger from build workflow --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ac72f69..f8bc642 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,8 +2,6 @@ name: Build Data Collection Application Function on: push: {} - pull_request: - schedule: - cron: '0 0 * * 0' # Executes every Sunday at midnight UT jobs: From 312f2d9a68213416562029f8a366686afb616824 Mon Sep 17 00:00:00 2001 From: Erik Gaida Date: Fri, 9 Oct 2026 12:48:29 +0200 Subject: [PATCH 4/6] Update response status code --- tests/scripts/001_provisioning_session.sh | 4 ++-- tests/scripts/002_configure.sh | 2 +- tests/scripts/007_bucketing.sh | 4 ++-- tests/scripts/008_aggregations.sh | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/scripts/001_provisioning_session.sh b/tests/scripts/001_provisioning_session.sh index 7050d72..c247711 100644 --- a/tests/scripts/001_provisioning_session.sh +++ b/tests/scripts/001_provisioning_session.sh @@ -24,7 +24,7 @@ create_ue_comm_provisioning_session() { inc total_count http_post_json "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions" '{"aspId": "MyASPId", "externalApplicationId": "'"$external_app_id"'", "eventId": "UE_COMM"}' - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then inc ok_count provisioning_session_id="${resp_location##*/}" else @@ -85,7 +85,7 @@ create_provisioning_session_expect_bad_request() { else log_error "create_provisioning_session_expect_bad_request($error_field): Failed on unexpected field" fi - elif [ "$resp_statuscode" = "200" ]; then + elif [ "$resp_statuscode" = "201" ]; then declare -n psid="err_${error_field}_provisioning_session_id" inc ok_count log_warn "create_provisioning_session_expect_bad_request($error_field): expected failure, got success" diff --git a/tests/scripts/002_configure.sh b/tests/scripts/002_configure.sh index 1495776..0d5c44d 100644 --- a/tests/scripts/002_configure.sh +++ b/tests/scripts/002_configure.sh @@ -27,7 +27,7 @@ create_provisioning_session_configuration() { if [ -n "$provisioning_session_id" ]; then http_post_file "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions/$provisioning_session_id/configurations" 002_configure-good-configuration.json - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then inc ok_count configuration_id="${resp_location##*/}" else diff --git a/tests/scripts/007_bucketing.sh b/tests/scripts/007_bucketing.sh index 151f1d7..9616f49 100644 --- a/tests/scripts/007_bucketing.sh +++ b/tests/scripts/007_bucketing.sh @@ -22,10 +22,10 @@ create_time_bucket_provisioning_session() { inc total_count if [ -n "$af_event_exposure_notif_url" ]; then http_post_json "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions" '{"aspId": "MyASPId", "externalApplicationId": "'"$bucketing_app_id"'", "eventId": "UE_COMM"}' - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then bucketing_psid="${resp_location##*/}" http_post_file "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions/$bucketing_psid/configurations" 007_bucketing-10s_buckets.json - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then inc ok_count bucketing_config_id="${resp_location##*/}" else diff --git a/tests/scripts/008_aggregations.sh b/tests/scripts/008_aggregations.sh index f3c7518..b8eb02f 100644 --- a/tests/scripts/008_aggregations.sh +++ b/tests/scripts/008_aggregations.sh @@ -24,10 +24,10 @@ create_provisioning_session_aggregation() { if [ -n "$af_event_exposure_notif_url" ]; then http_post_json "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions" '{"aspId": "MyASPId", "externalApplicationId": "'"$app_id_aggregation"'", "eventId": "UE_COMM"}' - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then psid_aggregation="${resp_location##*/}" http_post_file "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions/$psid_aggregation/configurations" $config_json - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then inc ok_count config_id_aggregation="${resp_location##*/}" else From d0b325d3efabcb19ef7742ded594505ea276167c Mon Sep 17 00:00:00 2001 From: Erik Gaida Date: Fri, 9 Oct 2026 12:48:41 +0200 Subject: [PATCH 5/6] Add HTTP GET request for fetching provisioning session configuration --- tests/scripts/002_configure.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/scripts/002_configure.sh b/tests/scripts/002_configure.sh index 0d5c44d..a752186 100644 --- a/tests/scripts/002_configure.sh +++ b/tests/scripts/002_configure.sh @@ -90,6 +90,7 @@ create_provisioning_session_configuration_expect_error_field() { fetch_provisioning_session_configuration() { inc total_count if [ -n "$provisioning_session_id" -a -n "$configuration_id" ]; then + http_get "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions/$provisioning_session_id/configurations/$configuration_id" if [ "$resp_statuscode" = "200" ]; then if cmp_field_str 'dataReportingConfigurationId' "$configuration_id" && \ cmp_field_str 'dataCollectionClientType' 'DIRECT' && \ From 372d36e8f0d5b06839babae5a2c9c58539c9c8d7 Mon Sep 17 00:00:00 2001 From: Erik Gaida Date: Fri, 16 Oct 2026 10:26:20 +0200 Subject: [PATCH 6/6] Update build workflow to trigger on pull requests for development and main branches --- .github/workflows/build.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f8bc642..08e3a82 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,9 +1,10 @@ name: Build Data Collection Application Function on: - push: {} - schedule: - - cron: '0 0 * * 0' # Executes every Sunday at midnight UT + pull_request: + branches: + - development + - main jobs: ubuntu-build: runs-on: ubuntu-latest