3proxy/.github/workflows/release-kind.yml
Vladimir Dubrovin 9ce5de971f
Some checks are pending
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI cmake / ubuntu-latest (wolfSSL) (push) Waiting to run
Release workflows: a minimal set for a release of the development branch
A release whose tree has DEVEL and no RELEASE is one of the development
branch (release-kind.yml, called by the workflows below). For it only
the Windows x64 zip, the x86_64 and arm64 deb packages and the rpm for
EL 9 and 10 (x86_64 and arm64) are built and added to the release: no
Docker images, no source tarball, no ipk, armhf, watcom, win32 or
Windows arm64 builds. docker.yml makes it a prerelease, not "Latest",
which also keeps it out of the package repository 3proxy.github.io
builds from releases.

The packaging reads the version from RELEASE or DEVEL. rpm names the
source archive and its directory after the spec's Version, which for
2.0.0-devel is 2.0.0~devel, so that %setup finds it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 20:10:59 +03:00

47 lines
1.5 KiB
YAML

name: Release kind
# Whether a release is one of the development branch: its tree has DEVEL
# and no RELEASE. Such a release gets the minimal set of packages (Windows
# x64, deb x86_64 and arm64, rpm for EL 9 and 10), no Docker images, and is
# made a prerelease: neither "Latest" nor taken into the package repository
# of 3proxy.github.io, which takes releases only.
on:
workflow_call:
inputs:
mark-prerelease:
description: "make a release of the development branch a prerelease"
type: boolean
default: false
outputs:
devel:
description: "true for a release of the development branch"
value: ${{ jobs.kind.outputs.devel }}
permissions:
contents: read
jobs:
kind:
runs-on: ubuntu-latest
outputs:
devel: ${{ steps.kind.outputs.devel }}
steps:
- uses: actions/checkout@v7
with:
sparse-checkout: |
RELEASE
DEVEL
sparse-checkout-cone-mode: false
- id: kind
run: |
if [ ! -f RELEASE ] && [ -f DEVEL ]; then devel=true; else devel=false; fi
echo "devel=$devel" >> "$GITHUB_OUTPUT"
echo "release of the development branch: $devel"
- name: Make it a prerelease
if: inputs.mark-prerelease && github.event_name == 'release' && steps.kind.outputs.devel == 'true' && !github.event.release.prerelease
env:
GH_TOKEN: ${{ github.token }}
TAG: ${{ github.event.release.tag_name }}
run: gh release edit "$TAG" -R "$GITHUB_REPOSITORY" --prerelease --latest=false