Skip to content

v3.7.0-alpha.0

v3.7.0-alpha.0 #1

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@v2
- uses: xu-cheng/texlive-action/full@v1
with:
run: |
apk add make msttcorefonts-installer fontconfig
update-ms-fonts
fc-cache -f
make doc
- name: Upload bithesis.pdf for later usage.
uses: actions/upload-artifact@v3
with:
name: bithesis
path: bithesis.pdf
- name: Upload *.cls for later usage.
uses: actions/upload-artifact@v3
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
cls: bithesis
- template: undergraduate-thesis
cls: bithesis
- template: lab-report
cls: bitreport
- template: paper-translation
cls: bithesis
- template: presentation-slide
cls: bitbeamer
- template: undergraduate-thesis-en
cls: bithesis
- template: reading-report
cls: bithesis
steps:
- uses: actions/checkout@v2
- name: Download bithesis.pdf
uses: actions/download-artifact@v3
with:
name: bithesis
- name: Download `*.cls`
uses: actions/download-artifact@v3
with:
name: cls
- name: Copy manual to the template folder.
run: |
mv bithesis.pdf ./templates/${{ matrix.template }}
mv ${{ matrix.cls }}.cls ./templates/${{ matrix.template }}
- 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
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ./templates/${{ matrix.template }}.zip
asset_name: ${{ matrix.template }}.zip
tag: ${{ github.ref }}
publish_cls:
name: Publish ${{ matrix.cls }}
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
cls: [bithesis, bitreport, bitbeamer]
steps:
- uses: actions/checkout@v2
- name: Download *.cls
uses: actions/download-artifact@v3
with:
name: cls
- name: Upload ${{ matrix.cls }}.cls to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ matrix.cls }}.cls
asset_name: ${{ matrix.cls }}.cls
tag: ${{ github.ref }}
publish_pdfs:
name: Generate changelog
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@v3
id: git-cliff
with:
config: cliff.toml
args: -vv --latest --strip header
env:
OUTPUT: CHANGES.md
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v2
- name: Download PDF(s)
uses: actions/download-artifact@v3
with:
name: bithesis
- name: Upload the releases notes
uses: svenstaro/upload-release-action@v2
with:
file: bithesis.pdf
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
overwrite: true
body: |
${{ steps.git-cliff.outputs.content }}
update_changelog:
name: Generate changelog
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate a changelog
uses: orhun/git-cliff-action@v3
with:
config: cliff.toml
args: --verbose
env:
OUTPUT: CHANGELOG.md
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Commit
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
set +e
git add CHANGELOG.md
git commit -m "Update CHANGELOG"
git push https://${{ secrets.GITHUB_TOKEN }}@github.com/BITNP/BIThesis.git main
upload_to_ctan:
name: Upload to CTAN
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- name: Download bithesis.pdf
uses: actions/download-artifact@v3
with:
name: bithesis
- 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: Determine action
id: action
run: |
echo "action=${{ github.event.release.prerelease && 'validate' || 'upload' }}" >> "$GITHUB_OUTPUT"
- name: Upload to CTAN
uses: paolobrasolin/ctan-submit-action@v1
with:
action: ${{ steps.action.outputs.action }}
file_path: bithesis.zip
fields: |
update: "true"
pkg: bithesis
version: ${{ steps.version.outputs.number }} ${{ steps.version.outputs.date }}
author: Feng Kaiyu
email: loveress01@outlook.com
uploader: Feng Kaiyu
- name: Report
run: >
echo "🎉 Successfully ${{ steps.action.outputs.action }}
${{ steps.version.outputs.number }} (${{ steps.version.outputs.date }})
to [CTAN](https://www.ctan.org/pkg/bithesis)." >> "$GITHUB_STEP_SUMMARY"