diff --git a/.github/workflows/automate-projects.yml b/.github/workflows/automate-projects.yml index c907722..ec1a05d 100644 --- a/.github/workflows/automate-projects.yml +++ b/.github/workflows/automate-projects.yml @@ -14,14 +14,14 @@ jobs: steps: - name: add-new-issues-to-organization-based-project-column if: github.event_name == 'issues' && github.event.action == 'opened' - uses: alex-page/github-project-automation-plus@v0.8.3 + uses: alex-page/github-project-automation-plus@v0.9.0 with: project: CoMPAS Issues Overview Board column: To do repo-token: ${{ secrets.ORG_GITHUB_ACTION_SECRET }} - name: add-new-pull-request-to-organization-based-project-column if: (github.event_name == 'pull_request' || github.event_name == 'pull_request_target') && github.event.action == 'opened' - uses: alex-page/github-project-automation-plus@v0.8.3 + uses: alex-page/github-project-automation-plus@v0.9.0 with: project: CoMPAS Pull Request Overview Board column: To do diff --git a/.github/workflows/build-project.yml b/.github/workflows/build-project.yml index 5a234d2..82babce 100644 --- a/.github/workflows/build-project.yml +++ b/.github/workflows/build-project.yml @@ -24,12 +24,12 @@ jobs: uses: actions/checkout@v4 - name: Cache Docker Register - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ hashFiles('**/Dockerfile') }} - name: Cache Maven packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} @@ -39,13 +39,13 @@ jobs: id: buildx uses: docker/setup-buildx-action@v3 - name: Set up JDK 17 - uses: actions/setup-java@v3.11.0 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Create custom Maven Settings.xml - uses: whelk-io/maven-settings-xml-action@v21 + uses: whelk-io/maven-settings-xml-action@v22 with: output_file: custom_maven_settings.xml servers: '[{ "id": "github-packages-compas", "username": "OWNER", "password": "${{ secrets.GITHUB_TOKEN }}" }]' diff --git a/.github/workflows/release-project.yml b/.github/workflows/release-please.yml similarity index 63% rename from .github/workflows/release-project.yml rename to .github/workflows/release-please.yml index f280cfb..3e265c1 100644 --- a/.github/workflows/release-project.yml +++ b/.github/workflows/release-please.yml @@ -1,64 +1,81 @@ -# SPDX-FileCopyrightText: 2022 Alliander N.V. +# SPDX-FileCopyrightText: 2023 Alliander N.V. # # SPDX-License-Identifier: Apache-2.0 +on: + push: + branches: + - main -name: Release Project +permissions: + contents: write + pull-requests: write -on: - release: - types: [ released ] +name: release-please jobs: - push_to_registry: - name: Build and publish + release_please: runs-on: ubuntu-latest - steps: + - uses: google-github-actions/release-please-action@v4 + id: release + with: + release-type: maven + package-name: compas-scl-auto-alignment - name: Checkout + if: ${{ steps.release.outputs.release_created }} uses: actions/checkout@v4 - name: Cache Docker Register - uses: actions/cache@v3 + if: ${{ steps.release.outputs.release_created }} + uses: actions/cache@v4 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ hashFiles('**/Dockerfile') }} - name: Cache Maven packages - uses: actions/cache@v3 + if: ${{ steps.release.outputs.release_created }} + uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Extract tag name + if: ${{ steps.release.outputs.release_created }} id: extract_tagname shell: bash # Extract the tag name from the git reference, value of GITHUB_REF will be something like refs/tags/. run: echo "##[set-output name=tagname;]$(echo ${GITHUB_REF##*/})" - name: Set up JDK 17 - uses: actions/setup-java@v3.11.0 + if: ${{ steps.release.outputs.release_created }} + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Set up Docker Buildx + if: ${{ steps.release.outputs.release_created }} id: buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub + if: ${{ steps.release.outputs.release_created }} uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Create custom Maven Settings.xml - uses: whelk-io/maven-settings-xml-action@v21 + if: ${{ steps.release.outputs.release_created }} + uses: whelk-io/maven-settings-xml-action@v22 with: output_file: custom_maven_settings.xml servers: '[{ "id": "github-packages-compas", "username": "OWNER", "password": "${{ secrets.GITHUB_TOKEN }}" }]' - name: Set version with Maven + if: ${{ steps.release.outputs.release_created }} run: ./mvnw -B versions:set -DprocessAllModules=true -DnewVersion=${{ steps.extract_tagname.outputs.tagname }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Deploy with Maven to GitHub Packages and Docker Hub + if: ${{ steps.release.outputs.release_created }} run: ./mvnw -B -s custom_maven_settings.xml -Pnative-image,release clean deploy env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/sonarcloud-analysis.yml b/.github/workflows/sonarcloud-analysis.yml index 6493c60..de0c188 100644 --- a/.github/workflows/sonarcloud-analysis.yml +++ b/.github/workflows/sonarcloud-analysis.yml @@ -19,7 +19,7 @@ jobs: run: cat $GITHUB_EVENT_PATH - name: Download PR number artifact if: github.event.workflow_run.event == 'pull_request' - uses: dawidd6/action-download-artifact@v2 + uses: dawidd6/action-download-artifact@v3 with: workflow: SonarCloud Build run_id: ${{ github.event.workflow_run.id }} @@ -54,20 +54,20 @@ jobs: git checkout ${{ github.event.workflow_run.head_branch }} git clean -ffdx && git reset --hard HEAD - name: Cache SonarCloud packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - name: Cache Maven packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Set up JDK 17 - uses: actions/setup-java@v3.11.0 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' @@ -79,7 +79,7 @@ jobs: -Dsonar.projectKey=com-pas_compas-scl-auto-alignment \ -Dsonar.organization=com-pas )" - name: Create custom Maven Settings.xml - uses: whelk-io/maven-settings-xml-action@v21 + uses: whelk-io/maven-settings-xml-action@v22 with: output_file: custom_maven_settings.xml servers: '[{ "id": "github-packages-compas", "username": "OWNER", "password": "${{ secrets.GITHUB_TOKEN }}" }]' diff --git a/.github/workflows/sonarcloud-build.yml b/.github/workflows/sonarcloud-build.yml index 7228a74..25d4d8c 100644 --- a/.github/workflows/sonarcloud-build.yml +++ b/.github/workflows/sonarcloud-build.yml @@ -31,26 +31,26 @@ jobs: fetch-depth: 0 - name: Cache SonarCloud packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - name: Cache Maven packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Create custom Maven Settings.xml - uses: whelk-io/maven-settings-xml-action@v21 + uses: whelk-io/maven-settings-xml-action@v22 with: output_file: custom_maven_settings.xml servers: '[{ "id": "github-packages-compas", "username": "OWNER", "password": "${{ secrets.GITHUB_TOKEN }}" }]' @@ -71,7 +71,7 @@ jobs: run: echo ${{ github.event.number }} > PR_NUMBER.txt - name: Archive PR number if: github.event_name == 'pull_request' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: PR_NUMBER path: PR_NUMBER.txt diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8e721b5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,6 @@ + +For older changelogs, please check the release tag on GitHub. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..62da36d --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,11 @@ + +# Security Policy + +## Reporting a Vulnerability + +Please go to [Security Advisories](https://github.com/com-pas/compas-scl-auto-alignment/security/advisories) to privately report a security vulnerability, +our contributors will try to respond within a week of your report with a rough plan for a fix and new tests. diff --git a/app/src/main/docker/Dockerfile.jvm b/app/src/main/docker/Dockerfile.jvm index 2123f6c..77d1348 100644 --- a/app/src/main/docker/Dockerfile.jvm +++ b/app/src/main/docker/Dockerfile.jvm @@ -21,7 +21,7 @@ # docker run -i --rm -p 8080:8080 -p 5005:5005 -e JAVA_ENABLE_DEBUG="true" quarkus/app-jvm # ### -FROM registry.access.redhat.com/ubi8/ubi-minimal:8.8-1072.1697626218 +FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9-1137 ARG JAVA_PACKAGE=java-17-openjdk-headless ARG RUN_JAVA_VERSION=1.3.8 diff --git a/app/src/main/docker/Dockerfile.native b/app/src/main/docker/Dockerfile.native index ddd95ff..9ccb5d5 100644 --- a/app/src/main/docker/Dockerfile.native +++ b/app/src/main/docker/Dockerfile.native @@ -14,7 +14,7 @@ # docker run -i --rm -p 8080:8080 quarkus/app # ### -FROM registry.access.redhat.com/ubi8/ubi-minimal:8.8-1072.1697626218 +FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9-1137 WORKDIR /work/ RUN chown 1001 /work \ && chmod "g+rwX" /work \ diff --git a/pom.xml b/pom.xml index 2d57d4e..65c7831 100644 --- a/pom.xml +++ b/pom.xml @@ -19,15 +19,15 @@ SPDX-License-Identifier: Apache-2.0 UTF-8 UTF-8 - 3.11.0 - 3.2.2 + 3.12.1 + 3.2.5 3.2.0 0.16.0 - 3.5.1 - 2.21.1 - 3.3.2 + 3.7.1 + 2.23.0 + 4.0.0 2.10.1 0.9.1 @@ -240,7 +240,7 @@ SPDX-License-Identifier: Apache-2.0 org.apache.maven.plugins maven-javadoc-plugin - 3.6.2 + 3.6.3 attach-javadocs diff --git a/service/src/main/java/org/lfenergy/compas/scl/auto/alignment/service/SclAutoAlignmentDiagramLabelProvider.java b/service/src/main/java/org/lfenergy/compas/scl/auto/alignment/service/SclAutoAlignmentDiagramLabelProvider.java index 3d7cc42..8e13ca6 100644 --- a/service/src/main/java/org/lfenergy/compas/scl/auto/alignment/service/SclAutoAlignmentDiagramLabelProvider.java +++ b/service/src/main/java/org/lfenergy/compas/scl/auto/alignment/service/SclAutoAlignmentDiagramLabelProvider.java @@ -16,7 +16,7 @@ import java.util.*; -public class SclAutoAlignmentDiagramLabelProvider implements DiagramLabelProvider { +public class SclAutoAlignmentDiagramLabelProvider implements LabelProvider { private final Map> busLabels = new HashMap<>(); public SclAutoAlignmentDiagramLabelProvider(SubstationGraph graph) { diff --git a/service/src/main/java/org/lfenergy/compas/scl/auto/alignment/service/SclAutoAlignmentService.java b/service/src/main/java/org/lfenergy/compas/scl/auto/alignment/service/SclAutoAlignmentService.java index 8042304..8f52e03 100644 --- a/service/src/main/java/org/lfenergy/compas/scl/auto/alignment/service/SclAutoAlignmentService.java +++ b/service/src/main/java/org/lfenergy/compas/scl/auto/alignment/service/SclAutoAlignmentService.java @@ -8,6 +8,7 @@ import com.powsybl.sld.layout.PositionVoltageLevelLayoutFactory; import com.powsybl.sld.library.ConvergenceComponentLibrary; import com.powsybl.sld.model.graphs.SubstationGraph; +import com.powsybl.sld.svg.SvgParameters; import com.powsybl.sld.svg.styles.BasicStyleProvider; import com.powsybl.sld.svg.DefaultSVGWriter; import org.lfenergy.compas.core.commons.ElementConverter; @@ -102,17 +103,14 @@ String createSVG(SubstationGraphBuilder substationGraphBuilder) { configureLayout(graph, layoutParameters); var writer = new StringWriter(); - var svgWriter = new DefaultSVGWriter(new ConvergenceComponentLibrary(), layoutParameters); - svgWriter.write("", graph, new SclAutoAlignmentDiagramLabelProvider(graph), new BasicStyleProvider(), writer); + var svgWriter = new DefaultSVGWriter(new ConvergenceComponentLibrary(), layoutParameters, new SvgParameters()); + svgWriter.write(graph, new SclAutoAlignmentDiagramLabelProvider(graph), new BasicStyleProvider(), writer); return writer.toString(); } private LayoutParameters getLayoutParameters() { return new LayoutParameters() - .setAdaptCellHeightToContent(true) - .setShowInternalNodes(true) - .setCssLocation(LayoutParameters.CssLocation.INSERTED_IN_SVG) - .setShowInternalNodes(true); + .setAdaptCellHeightToContent(true); } private void configureLayout(SubstationGraph graph, LayoutParameters layoutParameters) {