Files
OwncastSentry/.gitea/workflows/cd.yml
T
LogalDeveloper 69714e59fa
CD / Build (push) Successful in 8s
CI / Formatting (push) Successful in 5s
CI / Linting (push) Successful in 5s
CI / Tests (push) Successful in 10s
CI / Type Checking (push) Successful in 9s
CI / Spelling (push) Successful in 8s
Scoped GITEA_TOKEN to least privilege in Gitea Actions workflows.
2026-04-22 12:28:58 -04:00

57 lines
1.8 KiB
YAML

name: CD
on:
push:
branches: [master]
tags: ["v*"]
permissions:
contents: read
# packages: write # not yet supported by Gitea
jobs:
build:
name: Build
runs-on: logaldeveloper-archlinux
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Cache uv packages
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
with:
path: ~/.cache/uv
key: uv-${{ hashFiles('uv.lock') }}
- name: Install dependencies
run: uv sync --frozen
- name: Compute version
id: version
run: |
version=$(uv run hatch version)
echo "version=$version"
echo "version=$version" >> "$GITEA_OUTPUT"
- name: Write version into maubot.yaml
run: |
sed -i "s/^version: .*/version: ${{ steps.version.outputs.version }}/" maubot.yaml
grep "^version:" maubot.yaml
- name: Build plugin
run: 7z a -tzip -mx=9 -xr!__pycache__ owncastsentry-v${{ steps.version.outputs.version }}.mbp owncastsentry/ maubot.yaml base-config.yaml LICENSE.txt
- name: Print artifact checksums
run: |
echo "MD5: $(md5sum owncastsentry-v${{ steps.version.outputs.version }}.mbp)"
echo "SHA1: $(sha1sum owncastsentry-v${{ steps.version.outputs.version }}.mbp)"
echo "SHA256: $(sha256sum owncastsentry-v${{ steps.version.outputs.version }}.mbp)"
- name: Upload plugin artifact
uses: https://github.com/christopherhx/gitea-upload-artifact@62ac910c5d3dfa85c7cb2df15afe2e342b2407c2 # v4
with:
name: owncastsentry-v${{ steps.version.outputs.version }}
path: owncastsentry-v${{ steps.version.outputs.version }}.mbp