v0.4.0 #5
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |