libx52/.github/workflows/release.yml

58 lines
1.5 KiB
YAML

name: Create Release
permissions:
contents: write
on:
push:
tags:
- 'v*'
jobs:
build:
name: Upload Release Asset
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Install dependencies
run: ./.github/scripts/install-dependencies-ubuntu.sh
- name: Build project
run: ./.github/scripts/build-and-test.sh
- name: Prepare release assets
run: |
# Find the Meson generated tarball
# meson dist usuall creates a tar.xz, but be prepared to handle
# additional compression formats
DIST_FILE=$(find build/meson-dist -name 'libx52-*.tar.*' -a ! -name '*.tar.*sum')
# Extract the version from the filename
VERSION=$(echo "$DIST_FILE" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
EXTENSION="${DIST_FILE#*${VERSION}}"
ASSET_NAME="libx52_${VERSION}.orig${EXTENSION}"
ASSET_PATH="build/meson-dist/${ASSET_NAME}"
# Rename the file
mv -v "$DIST_FILE" "$ASSET_PATH"
cd build/meson-dist
rm *.sha256sum
sha256sum "$ASSET_NAME" > "${ASSET_NAME}.sha256sum"
cd ../..
- name: Create Release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
files: |
build/meson-dist/*