committed by
GitHub
1 changed files with 89 additions and 0 deletions
@ -0,0 +1,89 @@ |
|||||
|
name: Build and Release LaTeX document |
||||
|
|
||||
|
on: |
||||
|
workflow_dispatch: |
||||
|
inputs: |
||||
|
tag_name: |
||||
|
description: release tag name |
||||
|
required: false |
||||
|
schedule: |
||||
|
- cron: "0 0 * * 0" |
||||
|
|
||||
|
jobs: |
||||
|
build: |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- uses: actions/checkout@v2 |
||||
|
- name: Build the LaTeX document |
||||
|
uses: xu-cheng/latex-action@v2 |
||||
|
with: |
||||
|
latexmk_use_xelatex: true |
||||
|
latexmk_shell_escape: true |
||||
|
args: "-pdf -file-line-error -halt-on-error -interaction=nonstopmode -8bit" |
||||
|
extra_system_packages: | |
||||
|
unzip |
||||
|
wget |
||||
|
curl |
||||
|
coreutils |
||||
|
nodejs |
||||
|
npm |
||||
|
imagemagick |
||||
|
libwebp |
||||
|
librsvg |
||||
|
git |
||||
|
py3-pygments |
||||
|
inkscape |
||||
|
libxml2 |
||||
|
pre_compile: | |
||||
|
wget -q -O notosans.zip "https://noto-website-2.storage.googleapis.com/pkgs/NotoSans-hinted.zip" |
||||
|
wget -q -O notoserif.zip "https://noto-website-2.storage.googleapis.com/pkgs/NotoSerif-hinted.zip" |
||||
|
wget -q -O notoserifcjk.zip "https://noto-website-2.storage.googleapis.com/pkgs/NotoSerifCJKsc-hinted.zip" |
||||
|
wget -q -O notosanscjk.zip "https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKsc-hinted.zip" |
||||
|
wget -q -O robotomono.zip "https://fonts.google.com/download?family=Roboto%20Mono" |
||||
|
wget -q "http://mirrors.ctan.org/fonts/cm-unicode.zip" |
||||
|
unzip -q notosans.zip -d notosans |
||||
|
unzip -q notoserif.zip -d notoserif |
||||
|
unzip -q notosanscjk.zip -d notosanscjk |
||||
|
unzip -q notoserifcjk.zip -d notoserifcjk |
||||
|
unzip -q robotomono.zip -d robotomono |
||||
|
unzip ./cm-unicode.zip |
||||
|
cp -r notosans notoserif notosanscjk notoserifcjk robotomono cm-unicode/fonts/otf/* /usr/share/fonts |
||||
|
fc-cache |
||||
|
cd remark-latex |
||||
|
npm i |
||||
|
cd .. |
||||
|
cd run |
||||
|
npm i |
||||
|
git clone https://github.com/The-Run-Philosophy-Organization/run.git |
||||
|
node index.js ./run |
||||
|
|
||||
|
root_file: | |
||||
|
run.tex |
||||
|
- name: create tag |
||||
|
id: create_tag |
||||
|
run: | |
||||
|
tag_name=$(TZ="Asia/Shanghai" date +"v%Y%m%d_%H%M") |
||||
|
if [[ -n "${{github.event.inputs.tag_name}}" ]]; then tag_name=${{github.event.inputs.tag_name}}; fi |
||||
|
git tag $tag_name |
||||
|
git push --tags |
||||
|
echo "::set-output name=tag_name::$tag_name" |
||||
|
- name: Create Release |
||||
|
id: create_release |
||||
|
uses: actions/create-release@v1 |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
|
with: |
||||
|
tag_name: ${{ steps.create_tag.outputs.tag_name }} |
||||
|
release_name: Release ${{ steps.create_tag.outputs.tag_name }} |
||||
|
draft: false |
||||
|
prerelease: false |
||||
|
- name: Upload Release Asset |
||||
|
id: upload_release_asset |
||||
|
uses: actions/upload-release-asset@v1 |
||||
|
env: |
||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
|
with: |
||||
|
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps |
||||
|
asset_path: ./run/run.pdf |
||||
|
asset_name: run.pdf |
||||
|
asset_content_type: application/pdf |
Loading…
Reference in new issue