Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
b70b783
Merge pull request #1148 from elax46/dev
elax46 Mar 10, 2026
4d6b6ae
chore: update dist & normalized SVGs [ci skip]
github-actions[bot] Mar 10, 2026
2bb835f
Merge pull request #1153 from elax46/dev
elax46 Mar 11, 2026
a18f1bd
chore: update dist & normalized SVGs [ci skip]
github-actions[bot] Mar 11, 2026
6a0f0e7
Merge pull request #1158 from elax46/dev
elax46 Mar 12, 2026
c7895b0
chore: update dist & normalized SVGs [ci skip]
github-actions[bot] Mar 12, 2026
efd8965
nonBotFiles only
SoulSolistice Mar 15, 2026
bdb4693
Improve bot commit message
SoulSolistice Mar 15, 2026
96b7d8f
fix fetch-depth
SoulSolistice Mar 15, 2026
64f66b8
fix line-breaks
SoulSolistice Mar 15, 2026
5b07ed1
Merge pull request #1162 from SoulSolistice/workflow-fixes
SoulSolistice Mar 15, 2026
d3423e2
chore: update dist & normalized SVGs [ci skip]
github-actions[bot] Mar 15, 2026
eafe839
fix escape
SoulSolistice Mar 15, 2026
cb8fdd0
Merge pull request #1164 from SoulSolistice/fix-escape
elax46 Mar 15, 2026
a7aa2ba
chore: update dist & normalized SVGs [ci skip]
github-actions[bot] Mar 15, 2026
31fa848
Merge pull request #1168 from elax46/dev
elax46 Mar 15, 2026
bd90337
chore: update dist & normalized SVGs [ci skip]
github-actions[bot] Mar 15, 2026
4da68d3
Merge pull request #1170 from elax46/dev
elax46 Mar 16, 2026
83fb276
chore: update dist & normalized SVGs [ci skip]
github-actions[bot] Mar 16, 2026
cdcf1f0
Add files via upload
Juror2372 Mar 21, 2026
3e3163f
style: normalize SVGs [skip ci]
github-actions[bot] Mar 23, 2026
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
37 changes: 26 additions & 11 deletions .github/workflows/pr-svg-normalize.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
with:
ref: main
path: base
fetch-depth: 1 # intentional: we only need HEAD:<path> existence checks
fetch-depth: 1

# -- 2. Install deps from main's lockfile (never from the PR tree) -----
- name: Install dependencies
Expand All @@ -71,7 +71,7 @@ jobs:
repository: ${{ steps.pr.outputs.head_repo }}
ref: ${{ steps.pr.outputs.head_ref }}
path: pr-branch
fetch-depth: 1
fetch-depth: 0 # required: shallow clone breaks fork-PR push and fetch ref patterns
submodules: false
# keep default persist-credentials behavior (clearer intent since we may push)
- run: git -C base fetch --depth=1 origin dev:refs/remotes/origin/dev
Expand Down Expand Up @@ -101,20 +101,33 @@ jobs:
const owner = context.repo.owner;
const repo = context.repo.repo;
const pr = Number(process.env.PR_NUMBER);

const files = [];
const BOT_EMAIL = "41898282+github-actions[bot]@users.noreply.github.com";

// Get all commits on this PR
const commits = [];
for (let page = 1; ; page++) {
const { data } = await github.rest.pulls.listFiles({
const { data } = await github.rest.pulls.listCommits({
owner, repo, pull_number: pr, per_page: 100, page
});
if (!data.length) break;
for (const f of data) files.push(f.filename);
commits.push(...data);
if (data.length < 100) break;
}


// Collect files only from non-bot commits
const nonBotFiles = new Set();
for (const c of commits) {
if (c.commit.author?.email === BOT_EMAIL) continue;
const { data: detail } = await github.rest.repos.getCommit({
owner, repo, ref: c.sha
});
for (const f of (detail.files ?? [])) nonBotFiles.add(f.filename);
}

const iconRoot = "icon-svg/";
const svgFiles = files.filter(f => f.toLowerCase().endsWith(".svg"));
const iconSvgs = svgFiles.filter(f => f.startsWith(iconRoot));
const iconSvgs = [...nonBotFiles].filter(f =>
f.startsWith(iconRoot) && f.toLowerCase().endsWith(".svg")
);

// Policy: no subfolders under icon-svg (only iconRoot + basename.svg)
const bad = iconSvgs.filter(f => f.slice(iconRoot.length).includes("/"));
Expand Down Expand Up @@ -334,13 +347,15 @@ jobs:
echo "> After enabling **close** and then **re-open** the PR. This will rerun the action."
echo ">"
echo "> Please also review the normalized icons as errors might occur."
echo "> Note that differences in the displayed size are expected (\`width\` / \`height\` attributes are deleted)."
echo ">"
echo "> Thank you for your contribution!"
echo ""
else
echo "> ✔ Normalization **successful**."
echo ">"
echo "> Please review the normalized icons as errors might occur."
echo "> Note that differences in the displayed size are expected (\`width\` / \`height\` attributes are deleted)."
echo ">"
echo "> If needed, **manually update** the PR with a fixed version."
echo ">"
Expand Down Expand Up @@ -382,9 +397,9 @@ jobs:

# New icon detection against BASE_REF
if git -C base cat-file -e "refs/remotes/origin/dev:${file}" 2>/dev/null; then
printf '| ![](%s) | ![](%s) | %s |\\n' "$url_before" "$url_after" "$result" >> "$RUNNER_TEMP/report.md"
printf '| ![](%s) | ![](%s) | %s |\n' "$url_before" "$url_after" "$result" >> "$RUNNER_TEMP/report.md"
else
printf '| ![](%s) | ![](%s) | 🆕 New · %s |\\n' "$url_before" "$url_after" "$result" >> "$RUNNER_TEMP/report.md"
printf '| ![](%s) | ![](%s) | 🆕 New · %s |\n' "$url_before" "$url_after" "$result" >> "$RUNNER_TEMP/report.md"
fi
done < "$RUNNER_TEMP/changed_svgs.txt"

Expand Down
78 changes: 52 additions & 26 deletions dist/custom-brand-icons.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion icon-svg/bazarr.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion icon-svg/chromecast.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion icon-svg/co2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion icon-svg/dartboard.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions icon-svg/desjardins-group.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion icon-svg/desk-lamp.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading