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