From e738280a7c913f1983be21bd02436c260ab86d42 Mon Sep 17 00:00:00 2001 From: Martijn Govers Date: Mon, 11 Nov 2024 09:06:28 +0100 Subject: [PATCH 1/3] add check-blocking-labels github action Signed-off-by: Martijn Govers --- .github/workflows/check-blocking-labels.yml | 46 +++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/check-blocking-labels.yml diff --git a/.github/workflows/check-blocking-labels.yml b/.github/workflows/check-blocking-labels.yml new file mode 100644 index 000000000..09f5c65b2 --- /dev/null +++ b/.github/workflows/check-blocking-labels.yml @@ -0,0 +1,46 @@ +# SPDX-FileCopyrightText: Contributors to the Power Grid Model project +# +# SPDX-License-Identifier: MPL-2.0 + + +name: Check Blocking Labels + +on: + # run pipeline on pull request + pull_request: + types: + - opened + - synchronize + - labeled + - unlabeled + # run pipeline on merge queue + merge_group: + # run this workflow manually from the Actions tab + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-blocking-labels + cancel-in-progress: true + +jobs: + check-blocking-labels: + runs-on: ubuntu-latest + steps: + + - name: do-not-merge + if: contains(github.event.pull_request.labels.*.name, 'do-not-merge') + run: | + echo "This pull request should not be merged (do-not-merge)" + exit 1 + + - name: merge-target-first + if: contains(github.event.pull_request.labels.*.name, 'merge-target-first') + run: | + echo "The target branch of this PR should be merged first (merge-target-first)" + exit 2 + + - name: needs-unit-tests + if: contains(github.event.pull_request.labels.*.name, 'needs-unit-tests') + run: | + echo "This pull request needs (more) unit tests before it may be merged (needs-unit-tests)" + exit 3 From a68f7de23b6f4651b847e4fda24e0c49a787d06c Mon Sep 17 00:00:00 2001 From: Nitish Bharambe Date: Mon, 11 Nov 2024 15:33:46 +0100 Subject: [PATCH 2/3] add case to validator Signed-off-by: Nitish Bharambe --- src/power_grid_model/validation/validation.py | 1 + tests/unit/validation/test_input_validation.py | 1 + 2 files changed, 2 insertions(+) diff --git a/src/power_grid_model/validation/validation.py b/src/power_grid_model/validation/validation.py index 10dba4a2e..6013294fd 100644 --- a/src/power_grid_model/validation/validation.py +++ b/src/power_grid_model/validation/validation.py @@ -978,6 +978,7 @@ def validate_regulator(data: SingleDataset, component: ComponentType) -> list[Va def validate_transformer_tap_regulator(data: SingleDataset) -> list[ValidationError]: errors = validate_regulator(data, ComponentType.transformer_tap_regulator) errors += _all_boolean(data, ComponentType.transformer_tap_regulator, "status") + errors += _all_unique(data, ComponentType.transformer_tap_regulator, "regulated_object") errors += _all_valid_enum_values( data, ComponentType.transformer_tap_regulator, "control_side", [BranchSide, Branch3Side] ) diff --git a/tests/unit/validation/test_input_validation.py b/tests/unit/validation/test_input_validation.py index eab6d2ceb..3be9e56d2 100644 --- a/tests/unit/validation/test_input_validation.py +++ b/tests/unit/validation/test_input_validation.py @@ -643,6 +643,7 @@ def test_validate_input_data_transformer_tap_regulator(input_data): UnsupportedTransformerRegulationError("transformer_tap_regulator", ["control_side", "regulated_object"], [54]) in validation_errors ) + assert NotUniqueError("transformer_tap_regulator", "regualted_object", [51, 54]) in validation_errors def test_fault(input_data): From a1d8a37c7b607db99f5c6297f876f6b2b198b576 Mon Sep 17 00:00:00 2001 From: Nitish Bharambe Date: Mon, 11 Nov 2024 15:43:43 +0100 Subject: [PATCH 3/3] spell error Signed-off-by: Nitish Bharambe --- tests/unit/validation/test_input_validation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/validation/test_input_validation.py b/tests/unit/validation/test_input_validation.py index 3be9e56d2..8091a90ca 100644 --- a/tests/unit/validation/test_input_validation.py +++ b/tests/unit/validation/test_input_validation.py @@ -643,7 +643,7 @@ def test_validate_input_data_transformer_tap_regulator(input_data): UnsupportedTransformerRegulationError("transformer_tap_regulator", ["control_side", "regulated_object"], [54]) in validation_errors ) - assert NotUniqueError("transformer_tap_regulator", "regualted_object", [51, 54]) in validation_errors + assert NotUniqueError("transformer_tap_regulator", "regulated_object", [51, 54]) in validation_errors def test_fault(input_data):