Skip to content

Add GOaGO package sticker #6

Add GOaGO package sticker

Add GOaGO package sticker #6

name: check-svg-text
on:
pull_request:
branches:
- 'devel'
paths:
- '**.svg'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check-logo-text:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout repos
uses: actions/checkout@v5
- name: Setup R
uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
packages: any::xml2
- name: Get changed svg files
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
id: changed-svg
run: echo "CHANGED=$(gh pr diff $PR_NUMBER --name-only | grep '\.svg$' | tr '\n' ';')" >> $GITHUB_OUTPUT
- name: Check if svg contains text
env:
CHANGED_SVG_FILES: ${{ steps.changed-svg.outputs.CHANGED }}
shell: Rscript {0}
run: |
svg_logos <- Sys.getenv("CHANGED_SVG_FILES") |>
strsplit(";", fixed = TRUE) |>
unlist() |>
trimws()
res <- svg_logos |>
lapply(function(x) {
xml2::read_xml(x) |>
xml2::xml_find_all("//*[starts-with(local-name(), 'text')]")
})
if (any(lengths(res) >= 1)) {
stop(
"You are adding logos that contain text. ",
"All text should be converted to outline. ",
"Problematic logos:\n ",
paste(svg_logos[lengths(res) >= 1], collapse = "\n "),
call. = FALSE
)
}