Skip to content

Commit 16730eb

Browse files
committed
update small w; update prerelease logic
1 parent 1ec591e commit 16730eb

4 files changed

Lines changed: 103 additions & 21 deletions

File tree

.github/workflows/build.yaml

Lines changed: 95 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,13 @@ jobs:
6464
name: built-fonts
6565
path: fonts/
6666
retention-days: 7
67+
- name: Upload general use fonts
68+
if: always()
69+
uses: actions/upload-artifact@v4
70+
with:
71+
name: general-use-fonts
72+
path: general_use_fonts/
73+
retention-days: 7
6774
- name: Upload test reports
6875
if: always()
6976
uses: actions/upload-artifact@v4
@@ -93,6 +100,12 @@ jobs:
93100
name: test-reports
94101
path: out/
95102
continue-on-error: true
103+
- name: Download general use fonts
104+
uses: actions/download-artifact@v4
105+
with:
106+
name: general-use-fonts
107+
path: general_use_fonts/
108+
continue-on-error: true
96109
- name: Set up test result site
97110
run: |
98111
mkdir -p out/ttf
@@ -134,22 +147,45 @@ jobs:
134147
with:
135148
name: ${{ env.ZIP_NAME }}
136149
path: release
137-
- name: Create prerelease bundle
150+
- name: Create prerelease bundles
138151
run: |
139152
TAG="pre-${GITHUB_SHA}"
140153
TITLE="Pre-release ${GITHUB_SHA::7}"
141-
RELEASE_ZIP="${TAG}.zip"
142-
NOTES="Automated prerelease for commit ${GITHUB_SHA}."
143-
144-
zip -r "$RELEASE_ZIP" release
154+
155+
# Create three separate zip files
156+
GENERAL_ZIP="iosevka-charon.zip"
157+
GF_ZIP="iosevka-charon-google-fonts-version.zip"
158+
QA_ZIP="iosevka-charon-google-fonts-qa-report.zip"
159+
160+
# Package general use fonts
161+
if [ -d "release/general_use_fonts" ]; then
162+
cd release/general_use_fonts && zip -r "../../${GENERAL_ZIP}" . && cd ../..
163+
fi
164+
165+
# Package Google Fonts version
166+
if [ -d "release/fonts" ]; then
167+
cd release/fonts && zip -r "../../${GF_ZIP}" . && cd ../..
168+
fi
169+
170+
# Package QA report
171+
if [ -d "release/out/fontspector" ]; then
172+
cd release/out/fontspector && zip -r "../../../${QA_ZIP}" . && cd ../../..
173+
fi
174+
175+
printf -v NOTES "Automated prerelease for commit %s.\n\n**For general use, download \`iosevka-charon.zip\`**\n\nThis prerelease includes three archives:\n- **\`iosevka-charon.zip\`**: General use fonts (unprocessed TrueType fonts from Iosevka)\n- **\`iosevka-charon-google-fonts-version.zip\`**: Fonts processed specifically for Google Fonts\n- **\`iosevka-charon-google-fonts-qa-report.zip\`**: Quality assurance report for the Google Fonts build" "${GITHUB_SHA}"
145176
146177
gh release delete "$TAG" -y 2>/dev/null || true
147-
gh release create "$TAG" "$RELEASE_ZIP" \
178+
gh release create "$TAG" \
148179
--title "$TITLE" \
149180
--notes "$NOTES" \
150181
--prerelease \
151182
--latest=false \
152183
--target "$GITHUB_SHA"
184+
185+
# Upload the three zip files
186+
[ -f "${GENERAL_ZIP}" ] && gh release upload "$TAG" "${GENERAL_ZIP}" --clobber
187+
[ -f "${GF_ZIP}" ] && gh release upload "$TAG" "${GF_ZIP}" --clobber
188+
[ -f "${QA_ZIP}" ] && gh release upload "$TAG" "${QA_ZIP}" --clobber
153189
154190
release:
155191
name: Release bundle
@@ -196,15 +232,41 @@ jobs:
196232
- name: Set release file name
197233
shell: bash
198234
run: echo "RELEASE_ZIP_NAME=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')-${{ github.event.release.tag_name }}" >> $GITHUB_ENV
199-
- name: Create release bundle (fonts only)
235+
- name: Create release bundles (three separate archives)
200236
run: |
201-
mkdir -p ${{ env.RELEASE_ZIP_NAME }}
202-
cp -r ${{ env.ZIP_NAME }}/fonts ${{ env.RELEASE_ZIP_NAME }}/
203-
cp ${{ env.ZIP_NAME }}/OFL.txt ${{ env.RELEASE_ZIP_NAME }}/
204-
if [ -f ${{ env.ZIP_NAME }}/ARTICLE.en_us.html ]; then
205-
cp ${{ env.ZIP_NAME }}/ARTICLE.en_us.html ${{ env.RELEASE_ZIP_NAME }}/
237+
# Create three separate zip files
238+
GENERAL_ZIP="iosevka-charon.zip"
239+
GF_ZIP="iosevka-charon-google-fonts-version.zip"
240+
QA_ZIP="iosevka-charon-google-fonts-qa-report.zip"
241+
242+
# Package 1: General use fonts
243+
if [ -d "${{ env.ZIP_NAME }}/general_use_fonts" ]; then
244+
mkdir -p temp_general
245+
cp -r ${{ env.ZIP_NAME }}/general_use_fonts/* temp_general/
246+
cp ${{ env.ZIP_NAME }}/OFL.txt temp_general/
247+
if [ -f ${{ env.ZIP_NAME }}/ARTICLE.en_us.html ]; then
248+
cp ${{ env.ZIP_NAME }}/ARTICLE.en_us.html temp_general/
249+
fi
250+
cd temp_general && zip -r "../${GENERAL_ZIP}" . && cd ..
251+
rm -rf temp_general
252+
fi
253+
254+
# Package 2: Google Fonts version
255+
if [ -d "${{ env.ZIP_NAME }}/fonts" ]; then
256+
mkdir -p temp_gf
257+
cp -r ${{ env.ZIP_NAME }}/fonts/* temp_gf/
258+
cp ${{ env.ZIP_NAME }}/OFL.txt temp_gf/
259+
if [ -f ${{ env.ZIP_NAME }}/ARTICLE.en_us.html ]; then
260+
cp ${{ env.ZIP_NAME }}/ARTICLE.en_us.html temp_gf/
261+
fi
262+
cd temp_gf && zip -r "../${GF_ZIP}" . && cd ..
263+
rm -rf temp_gf
264+
fi
265+
266+
# Package 3: QA Report
267+
if [ -d "${{ env.ZIP_NAME }}/out/fontspector" ]; then
268+
cd ${{ env.ZIP_NAME }}/out/fontspector && zip -r "../../../${QA_ZIP}" . && cd ../../..
206269
fi
207-
zip -r ${{ env.RELEASE_ZIP_NAME }}.zip ${{ env.RELEASE_ZIP_NAME }}
208270
- name: Build release notes
209271
run: |
210272
STATUS="Passed"
@@ -214,16 +276,32 @@ jobs:
214276
{
215277
echo "## ${{ github.event.release.tag_name }}"
216278
echo ""
217-
echo "- Validation status: ${STATUS}"
279+
echo "**For general use, download \`iosevka-charon.zip\`**"
280+
echo ""
281+
echo "This release includes three archives:"
282+
echo "- **\`iosevka-charon.zip\`**: General use fonts (unprocessed TrueType fonts from Iosevka, suitable for general use)"
283+
echo "- **\`iosevka-charon-google-fonts-version.zip\`**: Fonts processed specifically for Google Fonts"
284+
echo "- **\`iosevka-charon-google-fonts-qa-report.zip\`**: Quality assurance report for the Google Fonts build"
285+
echo ""
286+
echo "---"
287+
echo ""
288+
echo "### Validation Status: ${STATUS}"
218289
echo ""
219290
if [ -f fontspector-summary.md ]; then
220-
echo "## Fontspector QA Report"
291+
echo "### Fontspector QA Report"
221292
echo ""
222293
cat fontspector-summary.md
223294
fi
224295
} > release-notes.md
225-
- name: Upload release bundle
226-
run: gh release upload ${{ github.event.release.tag_name }} ${{ env.RELEASE_ZIP_NAME }}.zip --clobber
296+
- name: Upload release bundles
297+
run: |
298+
GENERAL_ZIP="iosevka-charon.zip"
299+
GF_ZIP="iosevka-charon-google-fonts-version.zip"
300+
QA_ZIP="iosevka-charon-google-fonts-qa-report.zip"
301+
302+
[ -f "${GENERAL_ZIP}" ] && gh release upload ${{ github.event.release.tag_name }} "${GENERAL_ZIP}" --clobber
303+
[ -f "${GF_ZIP}" ] && gh release upload ${{ github.event.release.tag_name }} "${GF_ZIP}" --clobber
304+
[ -f "${QA_ZIP}" ] && gh release upload ${{ github.event.release.tag_name }} "${QA_ZIP}" --clobber
227305
- name: Upload fontspector HTML report
228306
if: ${{ steps.fontspector.outputs.has_html == 'true' }}
229307
run: gh release upload ${{ github.event.release.tag_name }} fontspector-report.html --clobber

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ fonts.stamp
66
postprocess.stamp
77
proof
88
fonts
9+
general_use_fonts
910
.venv
1011
.venv-drawbot
1112
out

Makefile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,13 @@ fonts: fonts.stamp
4545
# Stage 2: Post-process fonts for Google Fonts compliance and output to fonts/
4646
postprocess.stamp: fonts.stamp $(POSTPROCESS_SOURCES)
4747
@echo "==> Stage 2: Post-processing fonts for GF compliance..."
48-
rm -rf fonts
48+
rm -rf fonts general_use_fonts
4949
$(ENV_RUNNER) python3 scripts/post_process_parallel.py
50+
@echo "==> Copying raw fonts to general_use_fonts/ for general use distribution..."
51+
mkdir -p general_use_fonts
52+
find sources/output -type f -name "*.ttf" -exec cp {} general_use_fonts/ \;
5053
@touch postprocess.stamp
51-
@echo "==> Final fonts available in fonts/"
54+
@echo "==> Final fonts available in fonts/ (Google Fonts version) and general_use_fonts/ (general use)"
5255

5356
postprocess: postprocess.stamp
5457

sources/private-build-plans.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ j = "serifed"
2727
l = "serifed-flat-tailed"
2828
u = "tailed-serifless"
2929
v = "curly-serifless"
30-
w = "curly-serifless"
30+
w = "straight-asymmetric-serifless"
3131
y = "curly-turn-serifless"
3232
ampersand = "closed"
3333
at = "fourfold"
@@ -103,7 +103,7 @@ j = "serifed"
103103
l = "serifed-flat-tailed"
104104
u = "tailed-serifless"
105105
v = "curly-serifless"
106-
w = "curly-serifless"
106+
w = "straight-asymmetric-serifless"
107107
y = "curly-turn-serifless"
108108
ampersand = "closed"
109109
at = "fourfold"

0 commit comments

Comments
 (0)