OF-DL/.gitea/workflows/publish-release.yml
sim0n00ps 296226d1f7
Some checks failed
Publish Docker image / Push docker image to registry (push) Failing after 5s
Publish release zip / build (push) Has been cancelled
Make ffmpeg process verbose
2025-05-04 18:05:48 +01:00

93 lines
3.1 KiB
YAML

name: Publish release zip
on:
push:
tags:
- 'OFDLV*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Show .NET version
run: dotnet --version
- name: Extract version from tag
id: version
run: |
FULL_REF="${{ gitea.ref }}"
TAG="${FULL_REF##refs/tags/OFDLV}"
echo "Version: $TAG"
echo "version=$TAG" >> "$GITEA_OUTPUT"
- name: Build for Windows and Linux
run: |
dotnet publish -p:Version=${{ steps.version.outputs.version }} \
-p:PackageVersion=${{ steps.version.outputs.version }} \
-p:WarningLevel=0 -c Release -r win-x86 \
--self-contained true -p:PublishSingleFile=true -o outwin
dotnet publish -p:Version=${{ steps.version.outputs.version }} \
-p:PackageVersion=${{ steps.version.outputs.version }} \
-p:WarningLevel=0 -c Release -r linux-x64 \
--self-contained true -p:PublishSingleFile=true -o outlin
- name: Copy and patch extra files
run: |
echo "➤ Copying rules.json"
cp ./OF\ DL/rules.json outwin/
echo "➤ Making binary executable"
chmod +x ./outlin/OF\ DL
echo "➤ Running binary briefly"
cd outwin
timeout --preserve-status --kill-after=5s 30s ../outlin/OF\ DL --non-interactive || true
echo "➤ Binary finished"
echo "➤ Creating folder for CDM"
mkdir -p cdm/devices/chrome_1610
echo "➤ Downloading ffmpeg"
wget https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip -O ffmpeg.zip
echo "➤ Download complete"
echo "➤ Unzipping ffmpeg"
unzip -o -q ffmpeg.zip || { echo "Unzip failed"; ls -al; exit 1; }
echo "➤ Unzip complete"
echo "➤ Moving ffmpeg.exe and LICENSE"
mv ffmpeg*/bin/ffmpeg.exe .
mv ffmpeg*/LICENSE LICENSE.ffmpeg
echo "➤ Zipping final release"
zip ../OFDLV${{ steps.version.outputs.version }}.zip OF\ DL.exe e_sqlite3.dll rules.json config.conf cdm ffmpeg.exe LICENSE.ffmpeg
echo "➤ Zip complete"
cd ..
- name: Create Gitea release
uses: ./.gitea-actions/create-release
with:
tag_name: ${{ gitea.ref }}
release_name: ${{ steps.version.outputs.version }}
draft: true
prerelease: false
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_REPOSITORY: ${{ gitea.repository }}
GITEA_SERVER_URL: ${{ gitea.server_url }}
- name: Upload release asset
uses: ./.gitea-actions/upload-release-asset
with:
upload_url: ${{ steps.create-release.outputs.upload_url }}
asset_path: ./OFDLV${{ steps.version.outputs.version }}.zip
asset_name: OFDLV${{ steps.version.outputs.version }}.zip
asset_content_type: application/zip
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}