11name : AxonFramework Code Graph Analysis (Java)
2-
32on :
43 push :
54 branches :
65 - main
76 # Ignore changes in documentation, general configuration and analysis-results for push events
8- paths-ignore :
7+ paths-ignore : &ignore_paths
98 - ' analysis-results/**'
109 - ' documentation/**'
1110 - ' **/*.md'
2221 pull_request :
2322 branches :
2423 - 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'
24+ paths-ignore : *ignore_paths
4025
4126jobs :
42- prepare-code-to-analyze :
43- name : Prepare Code to Analyze
27+
28+ analyze-code-graph :
29+ name : Analyze Code Graph
4430 runs-on : ubuntu-latest
4531 env :
4632 PROJECT_NAME : AxonFramework
4733 # Version variable names matches renovate.json configuration entry
48- AXON_FRAMEWORK_VERSION : 4.12.2
34+ AXON_FRAMEWORK_VERSION : 5.0.0
4935 # Java is in this example only used to download JARs for analysis using Maven
5036 JAVA_VERSION : 25
5137 outputs :
5238 project-name : ${{ env.PROJECT_NAME }}
39+ project-version : ${{ env.AXON_FRAMEWORK_VERSION }}
5340 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-
41+ uploaded-analysis-results : ${{ steps.analyze-code-graph-step.outputs.uploaded-analysis-results }}
5742 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
43+ - name : (Analyze Code Graph) Set analysis-name
8144 id : set-analysis-name
8245 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
46+ - name : (Analyze Code Graph) Analyze Code Graph
47+ id : analyze-code-graph-step
48+ uses : JohT/code-graph-analysis-pipeline/.github/workflows/public-analyze-code-graph.yml@v3.1.0
9849 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-
50+ analysis-name : ${{ steps.set-analysis-name.outputs.analysis-name }}
51+ maven-artifacts : >
52+ org.axonframework:axon-eventsourcing:${{ env.AXON_FRAMEWORK_VERSION }},
53+ org.axonframework:axon-messaging:${{ env.AXON_FRAMEWORK_VERSION }},
54+ org.axonframework:axon-modelling:${{ env.AXON_FRAMEWORK_VERSION }},
55+ org.axonframework:axon-test:${{ env.AXON_FRAMEWORK_VERSION }},
56+ org.axonframework:axon-server-connector:${{ env.AXON_FRAMEWORK_VERSION }},
57+ org.axonframework:axon-common:${{ env.AXON_FRAMEWORK_VERSION }},
58+ org.axonframework:axon-update:${{ env.AXON_FRAMEWORK_VERSION }},
59+ org.axonframework:axon-conversion:${{ env.AXON_FRAMEWORK_VERSION }},
60+ org.axonframework.extensions.spring:axon-spring-boot-autoconfigure:${{ env.AXON_FRAMEWORK_VERSION }},
61+ org.axonframework.extensions.tracing:axon-tracing-opentelemetry:${{ env.AXON_FRAMEWORK_VERSION }},
62+ org.axonframework.extensions.metrics:axon-metrics-micrometer:${{ env.AXON_FRAMEWORK_VERSION }}
63+ source-repository : https://github.com/AxonFramework/AxonFramework.git
64+ source-repository-branch : axon-${{ env.AXON_FRAMEWORK_VERSION }}
65+ source-repository-history-only : true
66+ ref : v3.1.0
12567
12668 commit-analysis-results :
12769 name : Commit Analysis Results
128- needs : [prepare-code-to-analyze, analyze-code-graph]
70+ needs : [analyze-code-graph]
12971 uses : ./.github/workflows/internal-commit-results.yml
13072 with :
13173 commit-author-name : " ${{ github.event.repository.name }} Continuous Integration"
13274 commit-author-email : " 7671054+JohT@users.noreply.github.com"
13375 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"
76+ commit-directory : " analysis-results/${{ needs.analyze -code-graph .outputs.project-name }}/${{ needs.analyze -code-graph .outputs.analysis-name }}"
77+ second-commit-directory : " analysis-results/${{ needs.analyze -code-graph .outputs.project-name }}/latest"
13678 uploaded-artifact-name : ${{ needs.analyze-code-graph.outputs.uploaded-analysis-results }}
13779 secrets :
13880 repository-commit-token : ${{ secrets.WORKFLOW_GIT_ACCESS_TOKEN }}
0 commit comments