164 lines
5.4 KiB
YAML
164 lines
5.4 KiB
YAML
name: New Release
|
|
|
|
on:
|
|
release:
|
|
types: [ published ]
|
|
|
|
jobs:
|
|
pypi-deploy:
|
|
if: "!github.event.release.prerelease"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: true
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.8'
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install setuptools wheel twine
|
|
- name: Build and publish
|
|
env:
|
|
TWINE_USERNAME: __token__
|
|
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
|
run: |
|
|
python setup.py sdist bdist_wheel
|
|
twine upload dist/*
|
|
|
|
deb-package:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Install Makedeb
|
|
run: |
|
|
wget -qO - 'https://proget.hunterwittenborn.com/debian-feeds/makedeb.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/makedeb-archive-keyring.gpg &> /dev/null
|
|
echo 'deb [signed-by=/usr/share/keyrings/makedeb-archive-keyring.gpg arch=all] https://proget.hunterwittenborn.com/ makedeb main' | sudo tee /etc/apt/sources.list.d/makedeb.list
|
|
sudo apt update
|
|
sudo apt install makedeb
|
|
- name: prepare pkgbuild
|
|
run: |
|
|
git clone https://mpr.hunterwittenborn.com/rare.git build
|
|
sed -i "s/pkgver=.*/pkgver=${{ github.event.release.tag_name }}/g" build/PKGBUILD
|
|
|
|
- name: build deb
|
|
run: |
|
|
cd build
|
|
makedeb -d
|
|
mv *.deb Rare.deb
|
|
|
|
- name: Upload files to GitHub
|
|
uses: svenstaro/upload-release-action@2.2.1
|
|
with:
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
file: build/Rare.deb
|
|
asset_name: Rare-${{ github.event.release.tag_name }}.deb
|
|
tag: ${{ github.ref }}
|
|
overwrite: true
|
|
|
|
appimage:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: true
|
|
- name: install Deps
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install python3 python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse
|
|
- name: install appimage-builder
|
|
run: |
|
|
sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool
|
|
sudo chmod +x /usr/local/bin/appimagetool
|
|
sudo pip3 install appimage-builder
|
|
- name: Build Appimage
|
|
run: |
|
|
cp rare/__main__.py .
|
|
appimage-builder --skip-test
|
|
mv Rare-*.AppImage Rare.AppImage
|
|
mv Rare-*.AppImage.zsync Rare.AppImage.zsync
|
|
|
|
- name: Upload AppImage to GitHub
|
|
uses: svenstaro/upload-release-action@2.2.1
|
|
with:
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
file: Rare.AppImage
|
|
asset_name: Rare-${{ github.event.release.tag_name }}.AppImage
|
|
tag: ${{ github.ref }}
|
|
overwrite: true
|
|
- name: Upload zsync file to GitHub
|
|
uses: svenstaro/upload-release-action@2.2.1
|
|
with:
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
file: Rare.AppImage.zsync
|
|
asset_name: Rare-${{ github.event.release.tag_name }}.AppImage.zsync
|
|
tag: ${{ github.ref }}
|
|
overwrite: true
|
|
|
|
cx_freeze:
|
|
runs-on: "windows-latest"
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: true
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.8'
|
|
- name: Dependencies
|
|
run: pip3 install -r requirements.txt
|
|
- name: cx_freeze
|
|
run: pip3 install --upgrade cx_freeze wheel
|
|
- name: Install legendary
|
|
run: |
|
|
pip install ./rare/legendary
|
|
- name: Build
|
|
run: python freeze.py bdist_msi
|
|
|
|
- name: Rename File
|
|
run: mv dist/*.msi dist/Rare.msi
|
|
- name: Upload to GitHub
|
|
uses: svenstaro/upload-release-action@2.2.1
|
|
with:
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
file: dist/Rare.msi
|
|
asset_name: Rare-${{ github.event.release.tag_name }}.msi
|
|
tag: ${{ github.ref }}
|
|
overwrite: true
|
|
mac_os:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: true
|
|
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.9'
|
|
|
|
- name: Pip Dependencies
|
|
run: |
|
|
pip install -r requirements.txt
|
|
pip install ./rare/legendary
|
|
pip install pyinstaller
|
|
|
|
- name: copy files
|
|
run: mv rare/__main__.py __main__.py
|
|
|
|
- name: run pyinstaller
|
|
run: |
|
|
pyinstaller -F --name Rare --add-data "rare/resources/languages/*:rare/resources/languages" --add-data "rare/resources/images/*:rare/resources/images/" --windowed --icon rare/resources/images/Rare.icns --hidden-import=legendary __main__.py
|
|
|
|
- name: create dmg
|
|
run: |
|
|
git clone https://github.com/create-dmg/create-dmg
|
|
create-dmg/create-dmg Rare.dmg dist/Rare.App --volname Rare --volicon rare/resources/images/Rare.icns
|
|
|
|
- name: upload to GitHub
|
|
uses: svenstaro/upload-release-action@2.2.1
|
|
with:
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
file: Rare.dmg
|
|
asset_name: Rare-${{ github.event.release.tag_name }}.dmg
|
|
tag: ${{ github.ref }}
|
|
overwrite: true
|