1
0
Fork 0
mirror of synced 2024-06-02 02:34:40 +12:00
Rare/.github/workflows/release.yml
2021-12-18 22:57:22 +01:00

161 lines
5.1 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:
- uses: actions/checkout@v2
with:
submodules: true
- name: Install Deps
run: |
sudo apt install python3-all python3-stdeb dh-python python3-setuptools python3-wheel
sudo pip install -r requirements.txt
- name: run python setup
run: |
python3 setup.py sdist
python3 setup.py --command-packages=stdeb.command bdist_deb
- name: move file
run: mv deb_dist/*.deb Rare.deb
- name: Upload files to GitHub
uses: svenstaro/upload-release-action@2.2.1
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: Rare-${{ github.event.release.tag_name }}.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