11name : AxonFramework Code Graph Analysis (Java)
2-
32on :
43 push :
5- branches :
6- - main
7- # Ignore changes in documentation, general configuration and analysis-results for push events
8- paths-ignore :
4+ branches : [ main ]
5+ paths-ignore : &ignore_paths
96 - ' analysis-results/**'
107 - ' documentation/**'
118 - ' **/*.md'
2017 - ' .github/workflows/typescript-code-analysis.yml'
2118 - ' .github/workflows/*documentation.yml'
2219 pull_request :
23- branches :
24- - main
25- # Ignore changes in documentation, general configuration and analysis-results for pull request events
26- paths-ignore :
27- - ' analysis-results/**'
28- - ' documentation/**'
29- - ' **/*.md'
30- - ' **/*.txt'
31- - ' **/*.css'
32- - ' **/*.html'
33- - ' **/*.js'
34- - ' .gitignore'
35- - ' .gitattributes'
36- - ' renovate.json'
37- - ' **.code-workspace'
38- - ' .github/workflows/typescript-code-analysis.yml'
39- - ' .github/workflows/*documentation.yml'
20+ branches : [ main ]
21+ paths-ignore : *ignore_paths
4022
4123jobs :
42- prepare-code-to-analyze :
43- name : Prepare Code to Analyze
24+
25+ analyze-code-graph :
26+ name : Analyze Code Graph
4427 runs-on : ubuntu-latest
4528 env :
4629 PROJECT_NAME : AxonFramework
4730 # Version variable names matches renovate.json configuration entry
48- AXON_FRAMEWORK_VERSION : 4.12.2
31+ AXON_FRAMEWORK_VERSION : 5.0.0
4932 # Java is in this example only used to download JARs for analysis using Maven
5033 JAVA_VERSION : 25
5134 outputs :
5235 project-name : ${{ env.PROJECT_NAME }}
36+ project-version : ${{ env.AXON_FRAMEWORK_VERSION }}
5337 analysis-name : ${{ steps.set-analysis-name.outputs.analysis-name }}
54- sources-upload-name : ${{ steps.set-sources-upload-name.outputs.sources-upload-name }}
55- artifacts-upload-name : ${{ steps.set-artifacts-upload-name.outputs.artifacts-upload-name }}
56-
38+ uploaded-analysis-results : ${{ steps.analyze-code-graph-step.outputs.uploaded-analysis-results }}
5739 steps :
58- - name : (Prepare Code to Analyze) Checkout AxonFramework repository
59- run : |
60- git clone --bare https://github.com/AxonFramework/AxonFramework.git --branch "axon-${{ env.AXON_FRAMEWORK_VERSION }}" --single-branch "./source/AxonFramework-${{ env.AXON_FRAMEWORK_VERSION }}/.git"
61-
62- - name : (Prepare Code to Analyze) Setup Java Development Kit for Maven JARs downloading (JDK) ${{ env.JAVA_VERSION}}
63- uses : actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5
64- with :
65- distribution : " temurin"
66- java-version : ${{ env.JAVA_VERSION}}
67-
68- - name : (Prepare Code to Analyze) Download AxonFramework JARs for analysis
69- run : |
70- mvn dependency:copy -Dartifact=org.axonframework:axon-configuration:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts
71- mvn dependency:copy -Dartifact=org.axonframework:axon-disruptor:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts
72- mvn dependency:copy -Dartifact=org.axonframework:axon-eventsourcing:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts
73- mvn dependency:copy -Dartifact=org.axonframework:axon-messaging:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts
74- mvn dependency:copy -Dartifact=org.axonframework:axon-modelling:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts
75- mvn dependency:copy -Dartifact=org.axonframework:axon-test:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts
76- mvn dependency:copy -Dartifact=org.axonframework:axon-server-connector:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts
77- mvn dependency:copy -Dartifact=org.axonframework:axon-spring-boot-autoconfigure:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts
78- mvn dependency:copy -Dartifact=org.axonframework:axon-tracing-opentelemetry:${{ env.AXON_FRAMEWORK_VERSION }} -DoutputDirectory=./artifacts
79-
80- - name : (Prepare Code to Analyze) Set analysis-name
40+ - name : (Analyze Code Graph) Set analysis-name
8141 id : set-analysis-name
8242 run : echo "analysis-name=${{ env.PROJECT_NAME }}-${{ env.AXON_FRAMEWORK_VERSION }}" >> "$GITHUB_OUTPUT"
83-
84- - name : (Prepare Code to Analyze) Generate ARTIFACT_UPLOAD_ID
85- run : echo "ARTIFACT_UPLOAD_ID=$(LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 10)" >> $GITHUB_ENV
86-
87- - name : (Prepare Code to Analyze) Set sources-upload-name
88- id : set-sources-upload-name
89- run : echo "sources-upload-name=${{ steps.set-analysis-name.outputs.analysis-name }}-analysis-sources_input-${{ env.ARTIFACT_UPLOAD_ID }}" >> "$GITHUB_OUTPUT"
90-
91- - name : (Prepare Code to Analyze) Assemble ARTIFACTS_UPLOAD_NAME
92- id : set-artifacts-upload-name
93- run : echo "artifacts-upload-name=${{ steps.set-analysis-name.outputs.analysis-name }}-analysis-artifacts-input-${{ env.ARTIFACT_UPLOAD_ID }}" >> "$GITHUB_OUTPUT"
94-
95- - name : (Prepare Code to Analyze) Upload sources to analyze
96- if : success()
97- uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
43+ - name : (Analyze Code Graph) Analyze Code Graph
44+ id : analyze-code-graph-step
45+ uses : JohT/code-graph-analysis-pipeline/.github/workflows/public-analyze-code-graph.yml@v3.1.0
9846 with :
99- name : ${{ steps.set-sources-upload-name.outputs.sources-upload-name }}
100- path : ./source
101- include-hidden-files : true
102- if-no-files-found : error
103- retention-days : 1
104-
105- - name : (Prepare Code to Analyze) Upload artifacts to analyze
106- if : success()
107- uses : actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
108- with :
109- name : ${{ steps.set-artifacts-upload-name.outputs.artifacts-upload-name }}
110- path : ./artifacts
111- if-no-files-found : error
112- retention-days : 1
113-
114-
115- analyze-code-graph :
116- name : Analyze Code Graph
117- needs : [prepare-code-to-analyze]
118- uses : JohT/code-graph-analysis-pipeline/.github/workflows/public-analyze-code-graph.yml@v3.1.0
119- with :
120- analysis-name : ${{ needs.prepare-code-to-analyze.outputs.analysis-name }}
121- artifacts-upload-name : ${{ needs.prepare-code-to-analyze.outputs.artifacts-upload-name }}
122- sources-upload-name : ${{ needs.prepare-code-to-analyze.outputs.sources-upload-name }}
123- ref : v3.1.0
124-
47+ analysis-name : ${{ steps.set-analysis-name.outputs.analysis-name }}
48+ maven-artifacts : >
49+ org.axonframework:axon-eventsourcing:${{ env.AXON_FRAMEWORK_VERSION }},
50+ org.axonframework:axon-messaging:${{ env.AXON_FRAMEWORK_VERSION }},
51+ org.axonframework:axon-modelling:${{ env.AXON_FRAMEWORK_VERSION }},
52+ org.axonframework:axon-test:${{ env.AXON_FRAMEWORK_VERSION }},
53+ org.axonframework:axon-server-connector:${{ env.AXON_FRAMEWORK_VERSION }},
54+ org.axonframework:axon-common:${{ env.AXON_FRAMEWORK_VERSION }},
55+ org.axonframework:axon-update:${{ env.AXON_FRAMEWORK_VERSION }},
56+ org.axonframework:axon-conversion:${{ env.AXON_FRAMEWORK_VERSION }},
57+ org.axonframework.extensions.spring:axon-spring-boot-autoconfigure:${{ env.AXON_FRAMEWORK_VERSION }},
58+ org.axonframework.extensions.tracing:axon-tracing-opentelemetry:${{ env.AXON_FRAMEWORK_VERSION }},
59+ org.axonframework.extensions.metrics:axon-metrics-micrometer:${{ env.AXON_FRAMEWORK_VERSION }}
60+ source-repository : https://github.com/AxonFramework/AxonFramework.git
61+ source-repository-branch : axon-${{ env.AXON_FRAMEWORK_VERSION }}
62+ source-repository-history-only : true # source code is not needed
63+ ref : v3.1.0
12564
12665 commit-analysis-results :
12766 name : Commit Analysis Results
128- needs : [prepare-code-to-analyze, analyze-code-graph]
67+ needs : [analyze-code-graph]
12968 uses : ./.github/workflows/internal-commit-results.yml
13069 with :
13170 commit-author-name : " ${{ github.event.repository.name }} Continuous Integration"
13271 commit-author-email : " 7671054+JohT@users.noreply.github.com"
13372 commit-message : " Automated code structure analysis results (CI)"
134- commit-directory : " analysis-results/${{ needs.prepare -code-to-analyze .outputs.project-name }}/${{ needs.prepare -code-to-analyze .outputs.analysis-name }}"
135- second-commit-directory : " analysis-results/${{ needs.prepare -code-to-analyze .outputs.project-name }}/latest"
73+ commit-directory : " analysis-results/${{ needs.analyze -code-graph .outputs.project-name }}/${{ needs.analyze -code-graph .outputs.analysis-name }}"
74+ second-commit-directory : " analysis-results/${{ needs.analyze -code-graph .outputs.project-name }}/latest"
13675 uploaded-artifact-name : ${{ needs.analyze-code-graph.outputs.uploaded-analysis-results }}
13776 secrets :
13877 repository-commit-token : ${{ secrets.WORKFLOW_GIT_ACCESS_TOKEN }}
0 commit comments