Skip to content

Commit c9a4c77

Browse files
committed
chore: Reporting size of the jars in GitHub comments (#1196)
* reporting size of the jars in the github comments
1 parent afb8d85 commit c9a4c77

File tree

3 files changed

+65
-0
lines changed

3 files changed

+65
-0
lines changed
+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Artifacts Size
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
paths:
8+
- 'powertools-cloudformation/**'
9+
- 'powertools-core/**'
10+
- 'powertools-serialization/**'
11+
- 'powertools-logging/**'
12+
- 'powertools-sqs/**'
13+
- 'powertools-tracing/**'
14+
- 'powertools-validation/**'
15+
- 'powertools-parameters/**'
16+
- 'powertools-idempotency/**'
17+
- 'powertools-metrics/**'
18+
- 'pom.xml'
19+
jobs:
20+
codecheck:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
24+
- name: Setup java JDK 11
25+
uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3.11.0
26+
with:
27+
distribution: 'corretto'
28+
java-version: 11
29+
- name: Build with Maven
30+
run: mvn clean package --file pom.xml -DskipTests
31+
- name: Get artifacts size & build report
32+
id: artifacts-size-report
33+
run: |
34+
echo '## :floppy_disk: Artifacts Size Report' > report.md
35+
echo '| Module | Version | Size (KB) |' >> report.md
36+
echo '| --- | --- | --- |' >> report.md
37+
artifact_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
38+
for artifact in $(cat target/powertools-parent-*.buildinfo | grep 'outputs.*.jar' | grep -v 'sources.jar'); do
39+
artifact_name=$(echo "$artifact" | cut -d '=' -f2)
40+
artifact_name=${artifact_name%-$artifact_version.jar}
41+
artifact_size=$(grep "${artifact%%.filename*}.length" target/powertools-parent-*.buildinfo | cut -d '=' -f2)
42+
printf "| %s | %s | %.2f |\n" "$artifact_name" "$artifact_version" "$(bc <<< "scale=2; $artifact_size/1000")" >> report.md
43+
done
44+
- name: Find potential existing report
45+
uses: peter-evans/find-comment@a54c31d7fa095754bfef525c0c8e5e5674c4b4b1 # 2.4.0
46+
id: find-comment
47+
with:
48+
issue-number: ${{ github.event.pull_request.number }}
49+
comment-author: 'github-actions[bot]'
50+
body-includes: Artifacts Size Report
51+
- name: Write artifacts size report in comment
52+
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # 3.0.2
53+
with:
54+
comment-id: ${{ steps.find-comment.outputs.comment-id }}
55+
issue-number: ${{ github.event.pull_request.number }}
56+
body-path: 'report.md'
57+
edit-mode: replace
File renamed without changes.

pom.xml

+8
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,14 @@
366366
<useIncrementalCompilation>false</useIncrementalCompilation>
367367
</configuration>
368368
</plugin>
369+
<plugin>
370+
<groupId>org.apache.maven.plugins</groupId>
371+
<artifactId>maven-artifact-plugin</artifactId>
372+
<version>3.4.1</version>
373+
<configuration>
374+
<reproducible>true</reproducible>
375+
</configuration>
376+
</plugin>
369377
<plugin>
370378
<groupId>dev.aspectj</groupId>
371379
<artifactId>aspectj-maven-plugin</artifactId>

0 commit comments

Comments
 (0)