diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cb9894f0d..10c622107 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -17,6 +17,10 @@ permissions:
id-token: write # Required for OIDC
contents: write
+# This is added to make sure we wait until last release is done, this is needed for the font-build process
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+
jobs:
create-release:
if: github.repository == 'lucide-icons/lucide' && startsWith(github.event.head_commit.message, 'feat(icons)') && github.event_name != 'workflow_dispatch'
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index d21e61ee3..3f4898ac2 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -16,6 +16,9 @@ permissions:
id-token: write # Required for OIDC
contents: write
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+
jobs:
pre-release:
if: github.repository == 'lucide-icons/lucide' && contains('["ericfennis", "karsa-mistmere", "jguddas"]', github.actor)
@@ -129,11 +132,8 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile
- - name: Outline svg Icons
- run: pnpm build:outline-icons
-
- name: Create font in ./lucide-font
- run: pnpm build:font
+ run: pnpm build:font --saveCodePoints
- name: 'Upload to Artifacts'
uses: actions/upload-artifact@v4
diff --git a/.gitignore b/.gitignore
index a4016ec89..21db74229 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,7 @@ coverage
stats
*.log
outlined
+lucide-font
packages/**/src/icons/*.js
packages/**/src/icons/*.ts
packages/**/src/icons/*.tsx
diff --git a/docs/.vitepress/api/gh-icon/[...data].get.tsx b/docs/.vitepress/api/gh-icon/[...data].get.tsx
index 20974223b..b74ce7dc3 100644
--- a/docs/.vitepress/api/gh-icon/[...data].get.tsx
+++ b/docs/.vitepress/api/gh-icon/[...data].get.tsx
@@ -34,7 +34,7 @@ export default eventHandler((event) => {
const iconNode = iconNodes[backdropName];
const LucideIcon = createLucideIcon(backdropName, iconNode);
- const svg = renderToStaticMarkup();
+ const svg = renderToStaticMarkup();
const backdropString = svg.replaceAll('\n', '').replace(/