WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

v3.8.5-alpha-3(测试版) #86

v3.8.5-alpha-3(测试版)

v3.8.5-alpha-3(测试版) #86

Workflow file for this run

name: Release
on:
release:
types:
- published
jobs:
build:
name: build bithesis manual
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: teatimeguest/setup-texlive-action@v3
with:
version: 2024
package-file: |
.github/tl_packages
- uses: taiki-e/install-action@v2
with:
tool: fd-find
- name: Restore Microsoft fonts cache
id: microsoft-fonts
uses: actions/cache@v4
with:
path: /usr/share/fonts/truetype/msttcorefonts
key: microsoft-fonts
- name: Install Microsoft fonts
if: steps.microsoft-fonts.outputs.cache-hit != 'true'
run: |
echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | sudo debconf-set-selections
sudo apt install ttf-mscorefonts-installer
fc-cache --force
- name: Setup TeX Live fonts
run: |
mkdir -p ~/.fonts
ln -s $(kpsewhich -var-value=TEXMFDIST)/fonts/ ~/.fonts/texmf-dist-fonts
fc-cache
- name: Update version if prerelease
if: ${{ github.event.release.prerelease }}
# 目前发布正式版时,会手动提升版本号
run: python scripts/update_version.py
- run: make doc handbooks
- name: Upload bithesis.pdf for later usage.
uses: actions/upload-artifact@v4
with:
name: bithesis
path: bithesis.pdf
- name: Upload handbooks for later usage.
uses: actions/upload-artifact@v4
with:
name: handbooks
path: "handbook/*.pdf"
- name: Upload *.cls for later usage.
uses: actions/upload-artifact@v4
with:
name: cls
path: "*.cls"
publish_templates:
name: Publish ${{ matrix.template }}
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
template:
[
graduate-thesis,
undergraduate-thesis,
lab-report,
paper-translation,
presentation-slide,
undergraduate-thesis-en,
reading-report,
]
include:
- template: graduate-thesis
label: 硕博·学位论文
- template: undergraduate-thesis
label: 本科·毕业设计·论文
- template: lab-report
label: 实验报告
- template: paper-translation
label: 本科·毕业设计·外文翻译
- template: presentation-slide
label: 演示文档
- template: undergraduate-thesis-en
label: 本科·毕业设计·论文(全英文专业)
- template: reading-report
label: 本科·读书报告
steps:
- uses: actions/checkout@v4
- uses: taiki-e/install-action@v2
with:
tool: fd-find
- name: Download bithesis.pdf
uses: actions/download-artifact@v4
with:
name: bithesis
- name: Download `*.cls`
uses: actions/download-artifact@v4
with:
name: cls
- name: Copy manual to the template folder.
run: |
mv bithesis.pdf ./templates/${{ matrix.template }}
make copy-only
- name: Install zip
uses: montudor/action-zip@v1
- name: Zip files under ./${{ matrix.template }}
run: zip -qq -r ./${{ matrix.template }}.zip ./${{ matrix.template }}
working-directory: ./templates
- name: Upload ${{ matrix.template }}.zip to release
run: |
gh release upload ${{ github.event.release.tag_name }} \
"./templates/${{ matrix.template }}.zip#模板包·${{ matrix.label }} — ${{ matrix.template }}.zip"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
publish_cls:
name: Publish ${{ matrix.cls }}
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
cls:
- name: bithesis
label: 论文
- name: bitreport
label: 实验报告
- name: bitbeamer
label: 幻灯片
steps:
- uses: actions/checkout@v4
- name: Download *.cls
uses: actions/download-artifact@v4
with:
name: cls
- name: Upload ${{ matrix.cls.name }}.cls to release
run: |
gh release upload ${{ github.event.release.tag_name }} \
"${{ matrix.cls.name }}.cls#文档类·${{ matrix.cls.label }} — ${{ matrix.cls.name }}.cls(用于升级替换)"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release_notes:
name: Populate release notes with latest changelog and PDFs
runs-on: ubuntu-latest
# Makesure it's the last job.
needs: [build, publish_cls, publish_templates]
outputs:
release_body: ${{ steps.git-cliff.outputs.content }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate a changelog
uses: orhun/git-cliff-action@v4
id: git-cliff
with:
config: cliff.toml
args: -vv ${{ github.event.release.prerelease && '--unreleased' || '--latest' }} --strip header
env:
OUTPUT: CHANGES.md
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v4
- name: Download bithesis.pdf
uses: actions/download-artifact@v4
with:
name: bithesis
- name: Upload bithesis.pdf and changelog
uses: svenstaro/upload-release-action@v2
with:
file: bithesis.pdf
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
overwrite: true
body: |
> [!TIP]
> 若是初次使用,可先参考**快速使用指南**([本科][undergraduate-handbook]/[硕博][graduate-handbook])或者 [Wiki 网站](https://bithesis.bitnp.net/)。有需要再进一步参考[详细配置手册`bithesis.pdf`][bithesis-pdf]。
[undergraduate-handbook]: ${{ github.server_url }}/${{ github.repository }}/releases/download/${{ github.event.release.tag_name }}/undergraduate-handbook.pdf
[graduate-handbook]: ${{ github.server_url }}/${{ github.repository }}/releases/download/${{ github.event.release.tag_name }}/graduate-handbook.pdf
[bithesis-pdf]: ${{ github.server_url }}/${{ github.repository }}/releases/download/${{ github.event.release.tag_name }}/bithesis.pdf
${{ steps.git-cliff.outputs.content }}
- name: Download handbooks
uses: actions/download-artifact@v4
with:
name: handbooks
path: handbook
- name: Upload handbooks
run: |
gh release upload ${{ github.event.release.tag_name }} \
"handbook/undergraduate-handbook.pdf#快速使用指南·本科"
gh release upload ${{ github.event.release.tag_name }} \
"handbook/graduate-handbook.pdf#快速使用指南·硕博"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
upload_to_ctan:
name: Upload to CTAN
runs-on: ubuntu-latest
needs: build
if: ${{ ! github.event.release.prerelease }}
steps:
- uses: actions/checkout@v4
- name: Download bithesis.pdf
uses: actions/download-artifact@v4
with:
name: bithesis
- name: Download handbooks
uses: actions/download-artifact@v4
with:
name: handbooks
- run: make pkg-only
- name: Determine version
id: version
run: |
version=${{ github.event.release.tag_name }}
echo "number=$(echo $version | sed 's/^v//')" >> "$GITHUB_OUTPUT"
echo "date=$(date '+%Y-%m-%d')" >> "$GITHUB_OUTPUT"
- name: Upload to CTAN
uses: paolobrasolin/ctan-submit-action@v1
with:
action: upload
file_path: bithesis.zip
fields: |
update: "true"
pkg: bithesis
version: ${{ steps.version.outputs.number }} ${{ steps.version.outputs.date }}
author: Feng Kaiyu
email: [email protected]
uploader: Feng Kaiyu
- name: Report
run: >
echo "🎉 Successfully upload
${{ steps.version.outputs.number }} (${{ steps.version.outputs.date }})
to [CTAN](https://www.ctan.org/pkg/bithesis)." >> "$GITHUB_STEP_SUMMARY"
changelog:
name: Update CHANGELOG
runs-on: ubuntu-latest
if: ${{ ! github.event.release.prerelease }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.repository.default_branch }}
- name: Update CHANGELOG
uses: orhun/git-cliff-action@v4
with:
config: cliff.toml
args: --verbose
env:
OUTPUT: CHANGELOG.md
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create a PR
# Changes must be made through the merge queue, therefore a PR is necessary.
id: pr
uses: peter-evans/create-pull-request@v7
with:
commit-message: Update CHANGELOG for ${{ github.event.release.tag_name }}
title: Update CHANGELOG for ${{ github.event.release.tag_name }}
# Ignore binaries installed by git-cliff-action.
add-paths: CHANGELOG.md
- name: Report status
run: |
echo "[Pull request #${{ steps.pr.outputs.pull-request-number }}](${{ steps.pr.outputs.pull-request-url }}) is created to update CHANGELOG." >> "$GITHUB_STEP_SUMMARY"
- name: Merge the PR
run: |
gh pr merge ${{ steps.pr.outputs.pull-request-number }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}