name: CD on: push: tags: ["v*"] permissions: contents: read # packages: write # not yet supported by Gitea env: UV_PYTHON_DOWNLOADS: never jobs: publish: name: Publish runs-on: logaldeveloper-archlinux-ci steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: Install dependencies run: uv sync --locked --no-dev - name: Generate package metadata id: metadata run: | version="${{ gitea.ref_name }}" version="${version#v}" printf 'version=%s\n' "$version" | tee -a "$GITEA_OUTPUT" - name: Write version into maubot.yaml run: | sed -i "s/^version: .*/version: ${{ steps.metadata.outputs.version }}/" maubot.yaml grep "^version:" maubot.yaml - name: Build plugin run: 7z a -tzip -mx=9 -xr!__pycache__ -xr!README.md owncastsentry-v${{ steps.metadata.outputs.version }}.mbp owncastsentry/ maubot.yaml base-config.yaml LICENSE.txt - name: Print artifact checksums run: | echo "MD5: $(md5sum owncastsentry-v${{ steps.metadata.outputs.version }}.mbp)" echo "SHA1: $(sha1sum owncastsentry-v${{ steps.metadata.outputs.version }}.mbp)" echo "SHA256: $(sha256sum owncastsentry-v${{ steps.metadata.outputs.version }}.mbp)" - name: Generate SBOM env: SYFT_CHECK_FOR_APP_UPDATE: "false" run: | syft scan dir:.venv \ --override-default-catalogers python-installed-package-cataloger \ --select-catalogers=-file \ --source-name git.logal.dev/LogalDeveloper/OwncastSentry \ --source-version "${{ steps.metadata.outputs.version }}" \ --output syft-table \ --output cyclonedx-json=owncastsentry-${{ steps.metadata.outputs.version }}.cyclonedx.json sha256sum owncastsentry-${{ steps.metadata.outputs.version }}.cyclonedx.json zstd -T0 --ultra -22 \ owncastsentry-${{ steps.metadata.outputs.version }}.cyclonedx.json - name: Upload plugin artifact uses: https://github.com/christopherhx/gitea-upload-artifact@8818363695ca2d5782c64f6453273341374767b7 # v7 with: path: owncastsentry-v${{ steps.metadata.outputs.version }}.mbp archive: "false" - name: Upload SBOM artifact uses: https://github.com/christopherhx/gitea-upload-artifact@8818363695ca2d5782c64f6453273341374767b7 # v7 with: name: owncastsentry-cyclonedx-${{ steps.metadata.outputs.version }} path: owncastsentry-${{ steps.metadata.outputs.version }}.cyclonedx.json.zst if-no-files-found: error archive: "false"