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-22.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: 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 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