Skip to content

ci: fix build

ci: fix build #16

Workflow file for this run

name: Build releases
on:
workflow_dispatch:
pull_request:
push:
branches:
- "main"
paths:
- ".github/workflows/build.yaml"
- ".vitepress/**"
- "src/**"
- "theme/**"
- "book.toml"
- "package-lock.json"
- "package.json"
permissions:
contents: write
issues: write
pull-requests: write
concurrency:
group: "build"
cancel-in-progress: true
jobs:
build:
name: Build and publish
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v3
with:
version: latest
run_install: true
- name: Install mdBook
uses: baptiste0928/cargo-install@v2
with:
crate: mdbook
git: https://github.com/rust-lang/mdBook
- name: Install mdbook-epub
uses: baptiste0928/cargo-install@v2
with:
crate: mdbook-epub
git: https://github.com/Michael-F-Bryan/mdbook-epub
- name: Install mdbook-typst-pdf
uses: baptiste0928/cargo-install@v2
with:
crate: mdbook-typst-pdf
git: https://github.com/KaiserY/mdbook-typst-pdf
- name: Install fonts
run: |
mkdir -p ~/.local/share/fonts/
curl -sL -o Noto_Sans.zip https://fonts.google.com/download?family=Noto%20Sans
unzip Noto_Sans.zip -d ~/.local/share/fonts/Noto_Sans
curl -sL -o Noto_Sans_SC.zip https://fonts.google.com/download?family=Noto%20Sans%20SC
unzip Noto_Sans_SC.zip -d ~/.local/share/fonts/Noto_Sans_SC
curl -sL -o Noto_Sans_Mono.zip https://fonts.google.com/download?family=Noto%20Sans%20Mono
unzip Noto_Sans_Mono.zip -d ~/.local/share/fonts/Noto_Sans_Mono
rm -fv ~/.local/share/fonts/Noto_Sans_Mono/NotoSansMono-VariableFont_wdth,wght.ttf
curl -sL -o Noto_Sans_KR.zip https://fonts.google.com/download?family=Noto%20Sans%20KR
unzip Noto_Sans_KR.zip -d ~/.local/share/fonts/Noto_Sans_KR
curl -sL -o Noto_Sans_Thai.zip https://fonts.google.com/download?family=Noto%20Sans%20Thai
unzip Noto_Sans_Thai.zip -d ~/.local/share/fonts/Noto_Sans_Thai
rm -fv ~/.local/share/fonts/Noto_Sans_Thai/NotoSansThai-VariableFont_wdth,wght.ttf
curl -sL -o Noto_Sans_Arabic.zip https://fonts.google.com/download?family=Noto%20Sans%20Arabic
unzip Noto_Sans_Arabic.zip -d ~/.local/share/fonts/Noto_Sans_Arabic
curl -sL -o Noto_Sans_Hebrew.zip https://fonts.google.com/download?family=Noto%20Sans%20Hebrew
unzip Noto_Sans_Hebrew.zip -d ~/.local/share/fonts/Noto_Sans_Hebrew
curl -sL -o Noto_Sans_Devanagari.zip https://fonts.google.com/download?family=Noto%20Sans%20Devanagari
unzip Noto_Sans_Devanagari.zip -d ~/.local/share/fonts/Noto_Sans_Devanagari
rm -fv ~/.local/share/fonts/Noto_Sans_Devanagari/NotoSansDevanagari-VariableFont_wdth,wght.ttf
curl -sL -o Noto_Emoji.zip https://fonts.google.com/download?family=Noto%20Emoji
unzip Noto_Emoji.zip -d ~/.local/share/fonts/Noto_Emoji
curl -sL -o times_sans_serif.zip https://dl.dafont.com/dl/?f=times_sans_serif
unzip times_sans_serif.zip -d ~/.local/share/fonts/times_sans_serif
fc-cache -rv
- name: Install Calibre
run: |
sudo apt install -y libegl1 libopengl0 libxcb-cursor0
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
- name: Build
env:
NODE_OPTIONS: --max_old_space_size=4096
run: |
sed -e "s/BUILD_TIME/$(TZ=Asia/Shanghai date -Isecond)/" -e "s/COMMIT_SHA/${{ github.sha }}/" -i src/about.md
pnpm run build
- name: Release eBook
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
env:
GITHUB_TOKEN: ${{ github.token }}
run: pnpm exec semantic-release