From 2422a4a2a865bae5afc18075fbe616698f17d0dd Mon Sep 17 00:00:00 2001 From: "Federico M. Facca" Date: Fri, 25 Aug 2023 14:09:36 +0200 Subject: [PATCH] install custom google font support Update plantuml.yml Update plantuml.yml add unzip and test font in diagram add generated diagrams Update README.md check if using default commit / push resolve issue of not re-triggered jobs let's had back the checkout? restore Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh Update entrypoint.sh test using gunzip Update Dockerfile fix google download url Update entrypoint.sh test download script Update entrypoint.sh test with Noto Font add generated diagrams test changes add generated diagrams add generated diagrams Update backlog-item.puml Update entrypoint.sh test Delete backlog-item.png add generated diagrams Update entrypoint.sh test download instead of hosting it Update entrypoint.sh --- .github/workflows/plantuml.yml | 3 ++- README.md | 9 +++++++++ action.yml | 5 ++++- entrypoint.sh | 23 +++++++++++++++++++---- sample/backlog-item.png | Bin 15880 -> 15661 bytes sample/backlog-item.puml | 1 + 6 files changed, 35 insertions(+), 6 deletions(-) diff --git a/.github/workflows/plantuml.yml b/.github/workflows/plantuml.yml index c9575eb..3069661 100644 --- a/.github/workflows/plantuml.yml +++ b/.github/workflows/plantuml.yml @@ -8,8 +8,9 @@ jobs: steps: - uses: actions/checkout@v2 - name: generate and commit diagrams - uses: abekoh/commit-plantuml-action@1.0.3 + uses: zaphiro-technologies/commit-plantuml-action@install-google-fonts with: botEmail: ${{ secrets.BOT_EMAIL }} botGithubToken: ${{ secrets.GITHUB_TOKEN }} enableReviewComment: true + installGoogleFont: Barlow:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i diff --git a/README.md b/README.md index 15fbe15..7fa6a4d 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ jobs: botEmail: ${{ secrets.BOT_EMAIL }} botGithubToken: ${{ secrets.GITHUB_TOKEN }} enableReviewComment: true + installGoogleFont: Barlow ``` You must set `actions/checkout` before this step, to get source codes. @@ -41,3 +42,11 @@ To add review comment. Use default [`secrets.GITHUB_TOKEN`](https://docs.github. required: false, default: false If set `true`, diff png files' information are submitted to pull request. + +### installGoogleFont + +required: false + +If set, the value will be use to download and install a font family from +[google](https://fonts.google.com/). To be used in combination with `skinparam +defaultFontName` and other FontName skin settings for plantuml. diff --git a/action.yml b/action.yml index 2992c57..187bf0a 100644 --- a/action.yml +++ b/action.yml @@ -13,7 +13,10 @@ inputs: enableReviewComment: description: "whether post review comment or not" required: false - default: false + default: "false" + installGoogleFont: + description: "Google Font family to be installed" + required: false runs: using: "docker" image: "Dockerfile" diff --git a/entrypoint.sh b/entrypoint.sh index b22f77e..49d0b5f 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -13,6 +13,19 @@ if [[ "${INPUT_ENABLEREVIEWCOMMENT}" = "true" && ! "${INPUT_BOTGITHUBTOKEN}" ]]; echo "ERROR: Please set inputs.botGithubToken" exit 1 fi +if [ -z "$INPUT_INSTALLGOOGLEFONT" ]; then + echo "No font family defined" +else + echo "Installing $INPUT_INSTALLGOOGLEFONT" + wget https://raw.githubusercontent.com/neverpanic/google-font-download/master/google-font-download -O google-font-download + chmod +x google-font-download + ./google-font-download -f ttf --url="https://fonts.google.com/?selection.family=$INPUT_INSTALLGOOGLEFONT" + mkdir /usr/share/fonts/googlefonts + mv *.ttf /usr/share/fonts/googlefonts + rm *.css + rm google-font-download + fc-cache -fv +fi # generate git config --global --add safe.directory ${GITHUB_WORKSPACE} @@ -26,22 +39,23 @@ done # commit if [[ ! $(git status --porcelain) ]]; then + echo "No changes to commit" exit 0 fi -git config user.name "${GITHUB_ACTOR}" -git config user.email "${INPUT_BOTEMAIL}" +git config --global user.name "${GITHUB_ACTOR}" +git config --global user.email "${INPUT_BOTEMAIL}" git checkout ${GITHUB_HEAD_REF} git add . git commit -m "add generated diagrams" -git push origin HEAD:${GITHUB_HEAD_REF} echo "comitted png files" # add review comment if [[ "${INPUT_ENABLEREVIEWCOMMENT}" != "true" ]]; then + git push exit 0 fi git fetch -GITHUB_SHA_AFTER=$(git rev-parse origin/${GITHUB_HEAD_REF}) +GITHUB_SHA_AFTER=$(git rev-parse HEAD) DIFF_FILES=`git diff ${GITHUB_SHA} ${GITHUB_SHA_AFTER} --name-only | grep ".png"` echo $DIFF_FILES BODY="## Diagrams changed\n" @@ -71,3 +85,4 @@ curl -X POST \ -d "{\"event\": \"COMMENT\", \"body\": \"${BODY}\"}" \ "${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/pulls/${PULL_NUM}/reviews" echo "added review comments" +git push diff --git a/sample/backlog-item.png b/sample/backlog-item.png index c00c20d00dd37d8b054e606a2472342e0c90a326..0e3f890b80e0f9ca77fd23020702fdc59961a132 100644 GIT binary patch literal 15661 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%0A%$xw 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 q&D3tzl?|9=1!`&(E5 diff --git a/sample/backlog-item.puml b/sample/backlog-item.puml index 505915a..66b9c3f 100644 --- a/sample/backlog-item.puml +++ b/sample/backlog-item.puml @@ -1,5 +1,6 @@ @startuml skin rose +skinparam defaultFontName Barlow object BacklogItem { <>