62 lines
1.9 KiB
YAML
62 lines
1.9 KiB
YAML
name: Packages
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
tag:
|
|
type: string
|
|
required: true
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: The released tag to package, such as v0.1.0
|
|
type: string
|
|
required: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
packages:
|
|
name: Binaries, packages and image for ${{ inputs.tag }}
|
|
runs-on: ubuntu-26.04
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
with:
|
|
ref: ${{ inputs.tag }}
|
|
path: src
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
# The packaging config comes from the workflow's commit, so a tag cut before it
|
|
# existed can still be packaged.
|
|
- uses: actions/checkout@v7
|
|
with:
|
|
path: tooling
|
|
persist-credentials: false
|
|
- uses: docker/setup-buildx-action@v4
|
|
- uses: docker/login-action@v4
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
- uses: goreleaser/goreleaser-action@v7
|
|
with:
|
|
version: v2.18.3
|
|
workdir: src
|
|
args: release --clean --config ../tooling/release-tooling/goreleaser.yaml
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
TAP_GITHUB_TOKEN: ${{ secrets.TAP_GITHUB_TOKEN }}
|
|
AUR_KEY: ${{ secrets.AUR_KEY }}
|
|
- name: Upload to the Cloudsmith repositories
|
|
env:
|
|
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
|
|
run: |
|
|
pip install --quiet cloudsmith-cli==1.27.0
|
|
for f in dist/*.deb; do cloudsmith push deb --republish larvit/fejkdata/any-distro/any-version "$f"; done
|
|
for f in dist/*.rpm; do cloudsmith push rpm --republish larvit/fejkdata/any-distro/any-version "$f"; done
|
|
for f in dist/*.apk; do cloudsmith push alpine --republish larvit/fejkdata/alpine/any-version "$f"; done
|