cmyflix/.github/workflows/main.yml

66 lines
1.8 KiB
YAML
Raw Normal View History

2025-01-10 20:59:29 +00:00
name: Build and Release DEB
on:
2025-01-10 21:04:05 +00:00
workflow_dispatch:
2025-01-10 20:59:29 +00:00
jobs:
build-deb:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libbsd-dev libcjson-dev libcurl4-openssl-dev
- name: Build DEB
run: |
make deb
- name: Upload DEB artifact
uses: actions/upload-artifact@v3
with:
name: deb-package
path: deb/*.deb
create-release:
needs: build-deb
runs-on: ubuntu-latest
steps:
- name: Download DEB artifact
uses: actions/download-artifact@v3
with:
name: deb-package
path: .
2025-01-10 21:15:40 +00:00
- name: Find the DEB filename and extract version
2025-01-10 20:59:29 +00:00
id: find_deb
run: |
2025-01-10 21:15:40 +00:00
DEB_FILE=$(ls *.deb)
echo "deb_file=$DEB_FILE" >> $GITHUB_OUTPUT
VERSION=$(echo "$DEB_FILE" | sed -E 's/^.*_([0-9.]+)_.*/\1/')
echo "version=$VERSION" >> $GITHUB_OUTPUT
2025-01-10 20:59:29 +00:00
- name: Create or Update GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
2025-01-10 21:15:40 +00:00
tag_name: ${{ steps.find_deb.outputs.version }}
release_name: "cmyflix v${{ steps.find_deb.outputs.version }}"
draft: true
2025-01-10 20:59:29 +00:00
prerelease: false
- name: Upload DEB to Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ steps.find_deb.outputs.deb_file }}
asset_name: ${{ steps.find_deb.outputs.deb_file }}
asset_content_type: "application/vnd.debian.binary-package"