name: Package Application with Pyinstaller on: push: branches: - "*" tags: - "v*" jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: '3.x' - name: "Install dependencies" run: "pip install setuptools keyring pyinstaller rich requests beautifulsoup4 -f --upgrade" - name: "Install sync_url.py" run: "pyinstaller sync_url.py -F" - name: "Move artifact" run: "mv dist/sync_url* dist/sync_url-${{ matrix.os }}" - uses: actions/upload-artifact@v2 with: name: "Pferd Sync URL" path: "dist/sync_url*" release: name: Release needs: [build] runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: "Checkout" uses: actions/checkout@v2 - name: "Download artifacts" uses: actions/download-artifact@v2 with: name: "Pferd Sync URL" - name: "look at folder structure" run: "ls -lah" - name: "Rename releases" run: "mv sync_url-macos-latest pferd_sync_url_mac && mv sync_url-ubuntu-latest pferd_sync_url_linux && mv sync_url-windows-latest pferd_sync_url.exe" - name: "Create release" uses: softprops/action-gh-release@v1 - name: "Upload release artifacts" uses: softprops/action-gh-release@v1 with: body: "Download the correct sync_url for your platform and run it in the terminal or CMD. You might need to make it executable on Linux/Mac with `chmod +x `. Also please enclose the *url you pass to the program in double quotes* or your shell might silently screw it up!" files: | pferd_sync_url_mac pferd_sync_url_linux pferd_sync_url.exe