Skip to content

v0.4.0

v0.4.0 #5

Workflow file for this run

name: Release
on:
release:
types: [published]
jobs:
build-windows:
strategy:
matrix:
architecture: [x86_64]
runs-on: windows-2019
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Build with Nuitka
run: |
python deploy.py
- name: Download and extract tools
shell: pwsh
run: |
# Setup variables
$ZIP_URL = "https://github.com/zhiyiYo/Fluent-M3U8-Tools/releases/download/v0.1.0/Windows-${{ matrix.architecture }}.zip"
$DEST_DIR = "dist/Fluent-M3U8.dist"
# download zip
Write-Output "Downloading package from $ZIP_URL..."
Invoke-WebRequest -Uri $ZIP_URL -OutFile "$env:TEMP/package.zip"
# unzip
Write-Output "Extracting package..."
Expand-Archive -Path "$env:TEMP/package.zip" -DestinationPath $DEST_DIR -Force
# delete zip
Remove-Item "$env:TEMP/package.zip" -Force
Write-Output "Download and extraction complete!"
- name: Create zip file
shell: pwsh
run: |
$VERSION = python -c "from app.common.setting import VERSION; print(VERSION)"
Write-Host "VERSION=$VERSION"
echo "VERSION=$VERSION" >> $env:GITHUB_ENV
$distPath = "dist/Fluent-M3U8.dist"
$zipFile = "Fluent-M3U8-v$VERSION-Windows-${{ matrix.architecture }}.zip"
# Create a zip file containing the contents of Fluent-M3U8.dist, without the folder itself
Write-Output "Zipping contents of $distPath..."
Compress-Archive -Path "$distPath\*" -DestinationPath $zipFile
Write-Output "Zip created at $zipFile"
- name: Download Inno Setup Translation Files
run: |
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/jrsoftware/issrc/main/Files/Languages/Unofficial/ChineseSimplified.isl" -OutFile "C:\Program Files (x86)\Inno Setup 6\Languages\ChineseSimplified.isl"
- name: Build Installer
uses: Minionguyjpro/Inno-Setup-Action@v1.2.5
with:
path: Fluent-M3U8.iss
- name: Upload to release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
Fluent-M3U8-v${{ env.VERSION }}-Windows-${{ matrix.architecture }}.zip
dist/Fluent-M3U8-v${{ env.VERSION }}-Windows-${{ matrix.architecture }}-Setup.exe
build-macos-14-arm:
strategy:
matrix:
architecture: [arm64]
runs-on: macos-14
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Build with Nuitka
run: |
VERSION=$(python3 -c "from app.common.setting import VERSION; print(VERSION)")
echo "VERSION=${VERSION}" >> $GITHUB_ENV
python deploy.py
chmod u+x "dist/Fluent-M3U8.app/Contents/MacOS/Fluent-M3U8"
rm -rf "dist/Fluent-M3U8.build"
- name: Download and extract tools
run: |
# Setup variables
ZIP_URL="https://github.com/zhiyiYo/Fluent-M3U8-Tools/releases/download/v0.1.0/macOS-${{ matrix.architecture }}.zip"
DEST_DIR="dist/Fluent-M3U8.app/Contents/MacOS"
# Download tools
echo "Downloading package from $ZIP_URL..."
curl -L "$ZIP_URL" -o "/tmp/package.zip"
# unzip
echo "Extracting package..."
unzip -o "/tmp/package.zip" -d "$DEST_DIR"
# delete zip
rm "/tmp/package.zip"
echo "Download and extraction complete!"
- name: Create DMG
run: |
ln -s /Applications dist/Applications
hdiutil create -srcfolder "dist/" -volname "Fluent-M3U8" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDZO -size 400m "Fluent-M3U8-v${{ env.VERSION }}-macOS-${{ matrix.architecture }}.dmg"
- name: Upload to release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: Fluent-M3U8-v${{ env.VERSION }}-macOS-${{ matrix.architecture }}.dmg
build-macos-13-x86_64:
strategy:
matrix:
architecture: [x86_64]
runs-on: macos-13
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Remove problematic brew libs
run: |
brew remove --force --ignore-dependencies openssl@3
brew cleanup openssl@3
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Build with Nuitka
run: |
VERSION=$(python3 -c "from app.common.setting import VERSION; print(VERSION)")
echo "VERSION=${VERSION}" >> $GITHUB_ENV
python deploy.py
chmod u+x "dist/Fluent-M3U8.app/Contents/MacOS/Fluent-M3U8"
rm -rf "dist/Fluent-M3U8.build"
- name: Reinstall openssl libs
run: |
brew install openssl@3
- name: Download and extract tools
run: |
# Setup variables
ZIP_URL="https://github.com/zhiyiYo/Fluent-M3U8-Tools/releases/download/v0.1.0/macOS-${{ matrix.architecture }}.zip"
DEST_DIR="dist/Fluent-M3U8.app/Contents/MacOS"
# Download tools
echo "Downloading package from $ZIP_URL..."
curl -L "$ZIP_URL" -o "/tmp/package.zip"
# unzip
echo "Extracting package..."
unzip -o "/tmp/package.zip" -d "$DEST_DIR"
# delete zip
rm "/tmp/package.zip"
echo "Download and extraction complete!"
- name: Create DMG
run: |
ln -s /Applications dist/Applications
hdiutil create -srcfolder "dist/" -volname "Fluent-M3U8" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDZO -size 400m "Fluent-M3U8-v${{ env.VERSION }}-macOS-${{ matrix.architecture }}.dmg"
- name: Upload to release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: Fluent-M3U8-v${{ env.VERSION }}-macOS-${{ matrix.architecture }}.dmg
build-ubuntu:
strategy:
matrix:
architecture: [x86_64, arm64]
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libegl1-mesa
pip install -r requirements.txt
- name: Build with Nuitka
run: |
VERSION=$(python3 -c "from app.common.setting import VERSION; print(VERSION)")
echo "VERSION=${VERSION}" >> $GITHUB_ENV
python deploy.py
- name: Download and extract tools
run: |
# Setup variables
ZIP_URL="https://github.com/zhiyiYo/Fluent-M3U8-Tools/releases/download/v0.1.0/Linux-${{ matrix.architecture }}.zip"
DEST_DIR="dist/Fluent-M3U8.dist"
# Download tools
echo "Downloading package from $ZIP_URL..."
curl -L "$ZIP_URL" -o "/tmp/package.zip"
# unzip
echo "Extracting package..."
unzip -o "/tmp/package.zip" -d "$DEST_DIR"
# delete zip
rm "/tmp/package.zip"
echo "Download and extraction complete!"
- name: Zip the contents of Fluent-M3U8.dist
shell: pwsh
run: |
$distPath = "dist/Fluent-M3U8.dist"
$zipFile = "Fluent-M3U8-v${{ env.VERSION }}-Linux-${{ matrix.architecture }}.zip"
# Create a zip file containing the contents of Fluent-M3U8.dist, without the folder itself
Write-Output "Zipping contents of $distPath..."
Compress-Archive -Path "$distPath\*" -DestinationPath $zipFile
Write-Output "Zip created at $zipFile"
- name: Upload to release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: Fluent-M3U8-v${{ env.VERSION }}-Linux-${{ matrix.architecture }}.zip