Files
PIS/.github/workflows/build-release.yaml
2026-02-14 02:07:44 +01:00

76 lines
2.0 KiB
YAML

name: Build PDF & Release
run-name: Build PDF and Release ${{ github.ref_name }}
on:
push:
branches:
- main
paths:
- '**.md'
- '.gitea/workflows/**'
- 'md-pdf.ron'
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Setup Rust cache
uses: swatinem/rust-cache@v2
- name: Install Typst
run: |
mkdir -p /usr/local/bin
curl -L -o typst.tar.xz https://github.com/typst/typst/releases/latest/download/typst-x86_64-unknown-linux-musl.tar.xz
tar -xJf typst.tar.xz --strip-components=1 -C /usr/local/bin/ typst-x86_64-unknown-linux-musl/typst
typst --version
- name: Install md-pdf (Rust)
run: |
cargo install md-pdf
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.23'
- name: Install svu (Go)
run: go install github.com/caarlos0/svu@latest
- name: Build PDF
run: |
md-pdf README.md
mv README.pdf PIS.pdf
# Calculate version based on commit messages (fix, feat, breaking)
- name: Calculate Next Version
id: version
run: |
NEW_TAG=$(svu next)
echo "tag=$NEW_TAG" >> $GITHUB_OUTPUT
echo "Next version : $NEW_TAG"
# Create release and upload PDF
# Note: softprops works very well on recent Gitea
- name: Create Release
uses: softprops/action-gh-release@v1
if: ${{ steps.version.outputs.tag != '' }} # Safety check
with:
tag_name: ${{ steps.version.outputs.tag }}
name: Release ${{ steps.version.outputs.tag }}
files: PIS.pdf
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}