Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HPI_RE Continous Build Tracking #82

Open
wants to merge 155 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
7e342df
Change heading of report
jp59 Nov 1, 2023
40a98bd
update check-dist.yml to make it build
jp59 Nov 1, 2023
8c40872
change remote repository to fork
jp59 Nov 1, 2023
399a0e4
Added GitHub API logic to store report data
Coersi99 Nov 4, 2023
29e9f27
Changed Committer/Author to jessiscript
Coersi99 Nov 7, 2023
dc850bb
add report token to input
jp59 Nov 7, 2023
f0d8865
add report token to input in action.yml
jp59 Nov 7, 2023
c4c5015
fix typo
jp59 Nov 7, 2023
10ae0b1
fix imports
jp59 Nov 7, 2023
920f472
generate new index.js
jp59 Nov 7, 2023
aa7c580
update cleanup/index.js
jp59 Nov 7, 2023
607f7c6
fix imports
jp59 Nov 7, 2023
a9b9657
change used token
jp59 Nov 7, 2023
5382208
fix octokit init
jp59 Nov 7, 2023
26baf45
fix octokit import
jp59 Nov 7, 2023
085f6ea
fix octokit init
jp59 Nov 7, 2023
a4eee53
fix imports
jp59 Nov 7, 2023
48b13fa
refactor report json saving
jp59 Nov 7, 2023
e0f3e8c
save report json as metadata
jp59 Nov 8, 2023
038296d
add create reference to make tree accessible
jp59 Nov 13, 2023
e187800
change octokit init to env variable
jp59 Nov 13, 2023
5bc77ce
change octokit init to env variable
jp59 Nov 13, 2023
a342fbb
undone changes
jp59 Nov 13, 2023
19c4b6c
undone changes
jp59 Nov 13, 2023
621295f
undone changes
jp59 Nov 13, 2023
cb8703f
remove try catch to get real error message
jp59 Nov 13, 2023
a5b12ae
add create tree with output data
jp59 Nov 13, 2023
702e732
add tree sha to logging
jp59 Nov 13, 2023
db1e924
change some logging
jp59 Nov 13, 2023
e901456
add commit sha to tree-creation
jp59 Nov 13, 2023
214722a
remove commit sha to tree-creation
jp59 Nov 13, 2023
4b1508e
change core.error to core.info
jp59 Nov 14, 2023
6f0209b
add fetch to octokit
jp59 Nov 14, 2023
9bbf39d
add import for fetch
jp59 Nov 14, 2023
7d8f95c
change core.error to core.info for logging
jp59 Nov 14, 2023
2ca1086
add metrics from pr base branch to pr comment
jp59 Nov 14, 2023
082901b
add logging for debugging
jp59 Nov 14, 2023
05620dd
add logging for debugging
jp59 Nov 14, 2023
e467414
repair octokit route
jp59 Nov 14, 2023
f30640c
repair octokit route
jp59 Nov 14, 2023
b035e80
make pr metrics write to pr request
jp59 Nov 14, 2023
0598cd6
change output for metrics compare by pr
jp59 Nov 14, 2023
d0de347
remove unnecessary %
jp59 Nov 14, 2023
714a309
refactor report and utils.ts
jp59 Nov 17, 2023
cea53ef
change index.js to simplify fork rebase
jp59 Nov 17, 2023
4f45574
Merge remote-tracking branch 'upstream/main'
jp59 Nov 17, 2023
5fed054
refactor utils.ts and build index.js
jp59 Nov 17, 2023
1f50636
add logging for debugging
jp59 Nov 18, 2023
38a653d
add logging for debugging
jp59 Nov 21, 2023
ab28789
repair creating ref
jp59 Nov 21, 2023
e3535f6
add mermaid diagramm to pr comment
jp59 Nov 21, 2023
a81a3e9
change x scale for diagramm
jp59 Nov 21, 2023
26b4de6
change x scale for diagramm
jp59 Nov 21, 2023
33ed218
change x scale for diagramm
jp59 Nov 21, 2023
29cc8f4
change x scale for diagramm
jp59 Nov 21, 2023
47c5a10
change x scale for diagramm
jp59 Nov 22, 2023
e9bf44a
add getting metrics data for n commits
jp59 Nov 27, 2023
9186a02
fix DateTime import
jp59 Nov 27, 2023
89cbb59
add logging for debugging
jp59 Nov 27, 2023
021bf5d
add logging for debugging
jp59 Nov 28, 2023
4ca0345
adapte logging for debugging
jp59 Nov 28, 2023
55a1a57
change access to pushEvent values
jp59 Nov 28, 2023
7e534b7
add logging for debugging
jp59 Nov 28, 2023
4528717
add logging for debugging
jp59 Nov 28, 2023
9d47b4a
change commit sha from first to last element
jp59 Nov 28, 2023
a7b6b62
add logging for debugging
jp59 Nov 28, 2023
c4a6b69
add mermaid diagramm creation for history metric
jp59 Nov 28, 2023
3912ab9
add logging for debugging
jp59 Nov 28, 2023
111904c
add logging for debugging
jp59 Nov 28, 2023
8a1b59b
add logging for debugging
jp59 Nov 28, 2023
aeef0e5
add logging for debugging
jp59 Nov 28, 2023
73c66f8
fix mermaid syntax
jp59 Nov 28, 2023
975e024
add timestamp to diagramm
jp59 Nov 28, 2023
6e749ba
adjust timestamp to iso time
jp59 Nov 28, 2023
a9b5d04
adjust timestamp to iso time
jp59 Nov 28, 2023
3a58aed
add charts as image after build
jp59 Dec 4, 2023
5939549
adapt package.json
jp59 Dec 4, 2023
a6f1659
change canvas import
jp59 Dec 4, 2023
9bed102
change canvas import
jp59 Dec 4, 2023
7654725
change canvas import
jp59 Dec 4, 2023
1fcd4bb
change canvas import
jp59 Dec 4, 2023
c96ac6b
change canvas import
jp59 Dec 4, 2023
a1f1eda
change create image to svg with d3
jp59 Dec 5, 2023
c294e5e
add jsdom import
jp59 Dec 5, 2023
3744a24
add fetch to octokit
jp59 Dec 5, 2023
2ab0f26
add createPrReport for comparison with base branch
jessiscript Dec 9, 2023
34fac44
add logging for debugging
jessiscript Dec 9, 2023
7dd4d95
fix md generating and add table for debugging
jessiscript Dec 9, 2023
b6f7e44
fix initialisation of baseBranchDetails
jessiscript Dec 9, 2023
047b5ff
change generated md text to get colored results
jessiscript Dec 10, 2023
564628d
change coloring of pr comparison
jessiscript Dec 10, 2023
cbb3860
change coloring of pr comparison and round percentage of diff
jessiscript Dec 10, 2023
d8e7106
adapt md creation
jessiscript Dec 10, 2023
1dbf341
adapt bytesToHuman to make it work for negative values
jessiscript Dec 11, 2023
89dd037
add uploading image with history metrics plotting
jessiscript Dec 18, 2023
5ccbcba
add logging for debugging
jessiscript Dec 18, 2023
20becd6
add logging for debugging
jessiscript Dec 18, 2023
655ba82
add svg as ending for pushed file
jessiscript Dec 18, 2023
d2ff480
change path to display metric plot image
jessiscript Dec 18, 2023
077a077
add svg header to svg file
jessiscript Dec 18, 2023
2c01dc8
add svg header to svg file
jessiscript Dec 19, 2023
787d77f
change svg building to make svg valide
jessiscript Dec 19, 2023
b47c789
change svg building to make svg valide
jessiscript Dec 19, 2023
a1858f4
change svg building to make svg valide
jessiscript Dec 19, 2023
21929bc
Improve svg file
jessiscript Dec 19, 2023
7fabb62
fix svg generation
jessiscript Dec 19, 2023
a8d781d
add svg table content to build summary
jessiscript Dec 19, 2023
6b9397e
remove unused code
jessiscript Dec 19, 2023
6e03266
change regex to make it match
jessiscript Dec 19, 2023
7b0308d
add awaits and logging to fix svg data
jessiscript Dec 19, 2023
3a98bd3
add awaits and logging to fix svg data
jessiscript Dec 19, 2023
5d95990
add logging for debugging
jessiscript Dec 19, 2023
c8b90fd
add logging for debugging
jessiscript Dec 19, 2023
d5fc9cb
change GitHub api requests
jessiscript Dec 19, 2023
5a0361f
Change utils.ts with explicit y-Scale upperbound
Coersi99 Dec 19, 2023
c3b67ca
Test changes
Coersi99 Dec 19, 2023
aa1e3e1
forgot second index.js
Coersi99 Dec 19, 2023
e74e54e
changed y-scale domain for testing purpose
Coersi99 Dec 19, 2023
acf0c89
chang saving file from repo to gist
jessiscript Dec 30, 2023
de00dbf
chang saving file from repo to gist
jessiscript Dec 30, 2023
74822c3
change visibility of gist
jessiscript Dec 30, 2023
2694a1c
change creation of gist
jessiscript Dec 30, 2023
beb4791
add logging for debugging
jessiscript Dec 30, 2023
cddd6d4
change raw_url access in response json
jessiscript Dec 30, 2023
d3c2751
refactor and clean code
jessiscript Dec 31, 2023
05ff11b
remove null accesses
jessiscript Dec 31, 2023
d8a1a6f
add logging for debugging
jessiscript Dec 31, 2023
e858607
remove linebreaks which destroy md formatting
jessiscript Dec 31, 2023
20a8b9b
remove linebreaks which destroy md formatting
jessiscript Dec 31, 2023
24faedc
fix prReport generation
jessiscript Dec 31, 2023
7b876c8
fix emojis
jessiscript Dec 31, 2023
bd10224
Remove "Add image plot to assets" ticks (temporary solution)
Coersi99 Jan 1, 2024
d6c9410
Test rotation of x-Axis tick labels
Coersi99 Jan 1, 2024
a44577d
Removed x-Axis duplicate
Coersi99 Jan 1, 2024
8fd4f63
Updated axis rendering
Coersi99 Jan 1, 2024
182d4be
Changed x-axis labels rendering
Coersi99 Jan 1, 2024
819142e
Adjusted grid lines and x-axis text-anchor
Coersi99 Jan 1, 2024
15a432f
Corrected dashed lines
Coersi99 Jan 1, 2024
20bbe20
Removed x-Scale padding and changed dates representation
Coersi99 Jan 1, 2024
d9a1a1e
Changed svg height and x-axis tick lables placing
Coersi99 Jan 1, 2024
2c92a34
Adjusted x-axis tick lable placement further and changed bottom margin
Coersi99 Jan 1, 2024
d653653
Testing color schemes for dark mode
Coersi99 Jan 1, 2024
9b12eb2
Fix last commit
Coersi99 Jan 1, 2024
d48176a
Changes for dark mode support
Coersi99 Jan 6, 2024
cf54e8f
changes for dark mode
Coersi99 Jan 6, 2024
c73132a
remove svg generation, add pr-mermaid parametrisation, add documentation
jessiscript Jan 14, 2024
d9ae6be
add logging for debugging
jessiscript Jan 14, 2024
e0aef72
build index.js
jessiscript Jan 14, 2024
3c35541
remove error in mermaid syntax
jessiscript Jan 14, 2024
d7017b2
remove error in mermaid syntax
jessiscript Jan 14, 2024
dc63e37
refactor code and merge upstream repository
jessiscript Jan 16, 2024
70d58c5
normalize resource mermaid diagramm
jessiscript Jan 22, 2024
341eb08
fix normalize values sot that no float values are returned
jessiscript Jan 23, 2024
4680adb
fix total values in mermaid diagramm
jessiscript Jan 24, 2024
b9672b8
fix brackets not closed for tabular pr comparison
jessiscript Feb 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 16 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,20 +164,22 @@ jobs:

## Options

| Name | Default | Description |
|-----------------|:--------:|-------------|
| `java-version`<br>*(required)* | n/a | `'21'` or `'17.0.7'` for a specific Java version, `'dev'` for a dev build with the latest Java version available.<br>(`'8'`, `'11'`, `'16'`, `'19'` are supported for older GraalVM releases.) |
| `distribution` | `''` | GraalVM distribution (`graalvm` for Oracle GraalVM, `graalvm-community` for GraalVM Community Edition, `mandrel` for Mandrel). |
| `github-token` | `'${{ github.token }}'` | Token for communication with the GitHub API. Please set this to `${{ secrets.GITHUB_TOKEN }}` (see [templates](#templates)) to allow the action to authenticate with the GitHub API, which helps reduce rate-limiting issues. |
| `set-java-home` | `'true'` | If set to `'true'`, instructs the action to set `$JAVA_HOME` to the path of the GraalVM installation. Overrides any previous action or command that sets `$JAVA_HOME`. |
| `cache` | `''` | Name of the build platform to cache dependencies. Turned off by default (`''`). It can also be `'maven'`, `'gradle'`, or `'sbt'` and works the same way as described in [actions/setup-java][setup-java-caching]. |
| `check-for-updates` | `'true'` | [Annotate jobs][gha-annotations] with update notifications, for example when a new GraalVM release is available. |
| `native-image-musl` | `'false'` | If set to `'true'`, sets up [musl] to build [static binaries][native-image-static] with GraalVM Native Image *(Linux only)*. [Example usage][native-image-musl-build] (be sure to replace `uses: ./` with `uses: graalvm/setup-graalvm@v1`). |
| `native-image-job-reports` *) | `'false'` | If set to `'true'`, post a job summary containing a Native Image build report. |
| `native-image-pr-reports` *) | `'false'` | If set to `'true'`, post a comment containing a Native Image build report on pull requests. Requires `write` permissions for the [`pull-requests` scope][gha-permissions]. |
| `components` | `''` | Comma-separated list of GraalVM components (e.g., `native-image` or `ruby,nodejs`) that will be installed by the [GraalVM Updater][gu]. |
| `version` | `''` | `X.Y.Z` (e.g., `22.3.0`) for a specific [GraalVM release][releases] up to `22.3.2`<br>`mandrel-X.Y.Z.W` or `X.Y.Z.W-Final` (e.g., `mandrel-21.3.0.0-Final` or `21.3.0.0-Final`) for a specific [Mandrel release][mandrel-releases],<br>`mandrel-latest` or `latest` for the latest Mandrel stable release. |
| `gds-token` | `''` | Download token for the GraalVM Download Service. If a non-empty token is provided, the action will set up GraalVM Enterprise Edition (see [GraalVM EE template](#template-for-graalvm-enterprise-edition)). |
| Name | Default | Description |
|--------------------------------------------|:-----------------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `java-version`<br>*(required)* | n/a | `'21'` or `'17.0.7'` for a specific Java version, `'dev'` for a dev build with the latest Java version available.<br>(`'8'`, `'11'`, `'16'`, `'19'` are supported for older GraalVM releases.) |
| `distribution` | `''` | GraalVM distribution (`graalvm` for Oracle GraalVM, `graalvm-community` for GraalVM Community Edition, `mandrel` for Mandrel). |
| `github-token` | `'${{ github.token }}'` | Token for communication with the GitHub API. Please set this to `${{ secrets.GITHUB_TOKEN }}` (see [templates](#templates)) to allow the action to authenticate with the GitHub API, which helps reduce rate-limiting issues. |
| `set-java-home` | `'true'` | If set to `'true'`, instructs the action to set `$JAVA_HOME` to the path of the GraalVM installation. Overrides any previous action or command that sets `$JAVA_HOME`. |
| `cache` | `''` | Name of the build platform to cache dependencies. Turned off by default (`''`). It can also be `'maven'`, `'gradle'`, or `'sbt'` and works the same way as described in [actions/setup-java][setup-java-caching]. |
| `check-for-updates` | `'true'` | [Annotate jobs][gha-annotations] with update notifications, for example when a new GraalVM release is available. |
| `native-image-musl` | `'false'` | If set to `'true'`, sets up [musl] to build [static binaries][native-image-static] with GraalVM Native Image *(Linux only)*. [Example usage][native-image-musl-build] (be sure to replace `uses: ./` with `uses: graalvm/setup-graalvm@v1`). |
| `native-image-job-reports` *) | `'false'` | If set to `'true'`, post a job summary containing a Native Image build report. |
| `native-image-pr-reports` *) | `'false'` | If set to `'true'`, post a comment containing a Native Image build report on pull requests. Requires `write` permissions for the [`pull-requests` scope][gha-permissions]. |
| `native-image-pr-comparison` *) | `'false'` | If set to `'true'`, post a comment containing a Native Image build report which contains compared value to the pr-base branch on pull requests. Additional post a comment containig graphical comparison on pull requests. Requires `write` permissions for the [`pull-requests` scope][gha-permissions]. To persist build data workflow permission have to be set to `Read and write permissions` on GitHub settings. |
| `native-image-pr-comparison-parameter` *) | `'image details'` | A comma seperated list, which specifies the values being graphical compared on pull requests. Possible values: (analysis results, image details, resource usage). Requires the 'native-image-pr-comparison' parameter to be true. |
| `components` | `''` | Comma-separated list of GraalVM components (e.g., `native-image` or `ruby,nodejs`) that will be installed by the [GraalVM Updater][gu]. |
| `version` | `''` | `X.Y.Z` (e.g., `22.3.0`) for a specific [GraalVM release][releases] up to `22.3.2`<br>`mandrel-X.Y.Z.W` or `X.Y.Z.W-Final` (e.g., `mandrel-21.3.0.0-Final` or `21.3.0.0-Final`) for a specific [Mandrel release][mandrel-releases],<br>`mandrel-latest` or `latest` for the latest Mandrel stable release. |
| `gds-token` | `''` | Download token for the GraalVM Download Service. If a non-empty token is provided, the action will set up GraalVM Enterprise Edition (see [GraalVM EE template](#template-for-graalvm-enterprise-edition)). |

**) Make sure that Native Image is used only once per build job. Otherwise, the report is only generated for the last Native Image build.*

Expand Down
8 changes: 8 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ inputs:
required: false
description: 'Post a comment containing a Native Image build report on pull requests.'
default: 'false'
native-image-pr-comparison:
required: false
description: 'Post a comment containing a comparison between the Native Image of the pr-branch and the pr-base-branch on pull.'
default: 'false'
native-image-pr-comparison-parameter:
required: false
description: 'Comma seperated list of values, which should be compared by PR. Possible values: (analysis results, image details, resource usage).'
default: 'image details'
version:
required: false
description: 'GraalVM version (release, latest, dev).'
Expand Down
Loading