diff --git a/.github/workflows/java-code-analysis.yml b/.github/workflows/java-code-analysis.yml index 19945f3c..281ba57a 100644 --- a/.github/workflows/java-code-analysis.yml +++ b/.github/workflows/java-code-analysis.yml @@ -5,7 +5,7 @@ on: branches: - main # Ignore changes in documentation, general configuration and analysis-results for push events - paths-ignore: + paths-ignore: &ignore_paths - 'analysis-results/**' - 'documentation/**' - '**/*.md' @@ -22,21 +22,7 @@ on: pull_request: branches: - main - # Ignore changes in documentation, general configuration and analysis-results for pull request events - paths-ignore: - - 'analysis-results/**' - - 'documentation/**' - - '**/*.md' - - '**/*.txt' - - '**/*.css' - - '**/*.html' - - '**/*.js' - - '.gitignore' - - '.gitattributes' - - 'renovate.json' - - '**.code-workspace' - - '.github/workflows/typescript-code-analysis.yml' - - '.github/workflows/*documentation.yml' + paths-ignore: *ignore_paths jobs: prepare-code-to-analyze: @@ -45,72 +31,17 @@ jobs: env: PROJECT_NAME: AxonFramework # Version variable names matches renovate.json configuration entry - AXON_FRAMEWORK_VERSION: 4.12.2 - # Java is in this example only used to download JARs for analysis using Maven - JAVA_VERSION: 25 + AXON_FRAMEWORK_VERSION: 5.0.0 outputs: project-name: ${{ env.PROJECT_NAME }} + project-version: ${{ env.AXON_FRAMEWORK_VERSION }} analysis-name: ${{ steps.set-analysis-name.outputs.analysis-name }} - sources-upload-name: ${{ steps.set-sources-upload-name.outputs.sources-upload-name }} - artifacts-upload-name: ${{ steps.set-artifacts-upload-name.outputs.artifacts-upload-name }} steps: - - name: (Prepare Code to Analyze) Checkout AxonFramework repository - run: | - git clone --bare https://github.com/AxonFramework/AxonFramework.git --branch "axon-${{ env.AXON_FRAMEWORK_VERSION }}" --single-branch "./source/AxonFramework-${{ env.AXON_FRAMEWORK_VERSION }}/.git" - - - name: (Prepare Code to Analyze) Setup Java Development Kit for Maven JARs downloading (JDK) ${{ env.JAVA_VERSION}} - uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5 - with: - distribution: "temurin" - java-version: ${{ env.JAVA_VERSION}} - - - name: (Prepare Code to Analyze) Download AxonFramework JARs for analysis - run: | - mvn dependency:copy -Dartifact=org.axonframework:axon-configuration:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts - mvn dependency:copy -Dartifact=org.axonframework:axon-disruptor:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts - mvn dependency:copy -Dartifact=org.axonframework:axon-eventsourcing:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts - mvn dependency:copy -Dartifact=org.axonframework:axon-messaging:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts - mvn dependency:copy -Dartifact=org.axonframework:axon-modelling:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts - mvn dependency:copy -Dartifact=org.axonframework:axon-test:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts - mvn dependency:copy -Dartifact=org.axonframework:axon-server-connector:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts - mvn dependency:copy -Dartifact=org.axonframework:axon-spring-boot-autoconfigure:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts - mvn dependency:copy -Dartifact=org.axonframework:axon-tracing-opentelemetry:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts - - name: (Prepare Code to Analyze) Set analysis-name id: set-analysis-name run: echo "analysis-name=${{ env.PROJECT_NAME }}-${{ env.AXON_FRAMEWORK_VERSION }}" >> "$GITHUB_OUTPUT" - - name: (Prepare Code to Analyze) Generate ARTIFACT_UPLOAD_ID - run: echo "ARTIFACT_UPLOAD_ID=$(LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 10)" >> $GITHUB_ENV - - - name: (Prepare Code to Analyze) Set sources-upload-name - id: set-sources-upload-name - run: echo "sources-upload-name=${{ steps.set-analysis-name.outputs.analysis-name }}-analysis-sources_input-${{ env.ARTIFACT_UPLOAD_ID }}" >> "$GITHUB_OUTPUT" - - - name: (Prepare Code to Analyze) Assemble ARTIFACTS_UPLOAD_NAME - id: set-artifacts-upload-name - run: echo "artifacts-upload-name=${{ steps.set-analysis-name.outputs.analysis-name }}-analysis-artifacts-input-${{ env.ARTIFACT_UPLOAD_ID }}" >> "$GITHUB_OUTPUT" - - - name: (Prepare Code to Analyze) Upload sources to analyze - if: success() - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: ${{ steps.set-sources-upload-name.outputs.sources-upload-name }} - path: ./source - include-hidden-files: true - if-no-files-found: error - retention-days: 1 - - - name: (Prepare Code to Analyze) Upload artifacts to analyze - if: success() - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: ${{ steps.set-artifacts-upload-name.outputs.artifacts-upload-name }} - path: ./artifacts - if-no-files-found: error - retention-days: 1 - analyze-code-graph: name: Analyze Code Graph @@ -118,8 +49,21 @@ jobs: uses: JohT/code-graph-analysis-pipeline/.github/workflows/public-analyze-code-graph.yml@v3.1.1 with: analysis-name: ${{ needs.prepare-code-to-analyze.outputs.analysis-name }} - artifacts-upload-name: ${{ needs.prepare-code-to-analyze.outputs.artifacts-upload-name }} - sources-upload-name: ${{ needs.prepare-code-to-analyze.outputs.sources-upload-name }} + maven-artifacts: > + org.axonframework:axon-eventsourcing:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework:axon-messaging:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework:axon-modelling:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework:axon-test:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework:axon-server-connector:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework:axon-common:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework:axon-update:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework:axon-conversion:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework.extensions.spring:axon-spring-boot-autoconfigure:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework.extensions.tracing:axon-tracing-opentelemetry:${{ needs.prepare-code-to-analyze.outputs.project-version }}, + org.axonframework.extensions.metrics:axon-metrics-micrometer:${{ needs.prepare-code-to-analyze.outputs.project-version }} + source-repository: https://github.com/AxonFramework/AxonFramework.git + source-repository-branch: axon-${{ needs.prepare-code-to-analyze.outputs.project-version }} + source-repository-history-only: true ref: v3.1.1