diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 99b8f39..b1d2d78 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -60,7 +60,8 @@ jobs: vpk download github \ --repoUrl https://github.com/${{ github.repository }} \ --channel ${{ inputs.channel }} \ - --token ${{ secrets.GITHUB_TOKEN }} + --token ${{ secrets.GITHUB_TOKEN }} \ + ${{ inputs.channel == 'dev' && '--pre' || '' }} - name: Install libfuse2 for AppImage if: contains(matrix.artifact, 'linux') diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml index a5c04d4..5921bfd 100644 --- a/.github/workflows/release-build.yml +++ b/.github/workflows/release-build.yml @@ -94,34 +94,50 @@ jobs: name: velopack-releases path: releases - - name: Delete existing dev release + - name: Setup .NET if: needs.get-version.outputs.is-dev == 'true' - run: gh release delete dev --cleanup-tag -y || true - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_REPO: ${{ github.repository }} + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "9.0" - - name: Create dev release + - name: Install Velopack CLI if: needs.get-version.outputs.is-dev == 'true' - uses: softprops/action-gh-release@v2 - with: - tag_name: dev - name: "Development Build" - prerelease: true - make_latest: false - files: releases/* - body: | - **Latest Development Build** + run: dotnet tool install -g vpk + + - name: Upload dev release via Velopack + if: needs.get-version.outputs.is-dev == 'true' + run: | + vpk upload github \ + --repoUrl https://github.com/${{ github.repository }} \ + --token ${{ secrets.GITHUB_TOKEN }} \ + --tag dev \ + --releaseName "Development Build" \ + --pre \ + --publish \ + --merge \ + --channel dev \ + --outputDir releases + + - name: Update dev release notes + if: needs.get-version.outputs.is-dev == 'true' + run: | + gh release edit dev --prerelease --notes "$(cat <<'EOF' + **Latest Development Build** - Version: `${{ needs.get-version.outputs.version }}` - Commit: `${{ github.sha }}` + Version: `${{ needs.get-version.outputs.version }}` + Commit: `${{ github.sha }}` - ⚠️ This is a development build and may be unstable. + ⚠️ This is a development build and may be unstable. - ## Installation - - **Windows**: Download `synodic-Setup.exe` and run it - - **Linux**: Download the `.AppImage` file, make it executable with `chmod +x`, and run - - **macOS**: Download and extract the package + ## Installation + - **Windows**: Download `synodic-Setup.exe` and run it + - **Linux**: Download the `.AppImage` file, make it executable with `chmod +x`, and run + - **macOS**: Download and extract the package + EOF + )" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} - name: Upload to existing release if: needs.get-version.outputs.is-dev != 'true' && github.event_name == 'release' diff --git a/pdm.lock b/pdm.lock index 8f26156..b584da6 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "build", "lint", "test"] strategy = ["inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:f6af68110df7ee9fd0c1d4ac8ee45a8508c86aecbfa33d9f022ed5c7be3ac66b" +content_hash = "sha256:bd9e98e0d50e1c54a0b99a288604b6f0abff6018bd52d4bf2caced3e73927265" [[metadata.targets]] requires_python = ">=3.14,<3.15" @@ -272,7 +272,7 @@ files = [ [[package]] name = "porringer" -version = "0.2.1.dev19" +version = "0.2.1.dev20" requires_python = ">=3.14" summary = "" groups = ["default"] @@ -285,8 +285,8 @@ dependencies = [ "userpath>=1.9.2", ] files = [ - {file = "porringer-0.2.1.dev19-py3-none-any.whl", hash = "sha256:271d0707b3270d1c23cc5429cb4e5595b6b2e471aab9b1514eeb81976691ce10"}, - {file = "porringer-0.2.1.dev19.tar.gz", hash = "sha256:f00b7fe87bd23581c564fb7e9051cfcfae8aa0474a41017cf7261ed345d8fd42"}, + {file = "porringer-0.2.1.dev20-py3-none-any.whl", hash = "sha256:a3ba824b3ba96b35c7dca722e8fe666b292d380572f7afc323ee573f9e38f3b1"}, + {file = "porringer-0.2.1.dev20.tar.gz", hash = "sha256:7ea53736631ceb92657ee23eb6993bd377a48dba0c4bd53ea41e23956323b7c3"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index c3ffba9..6e6ef30 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,9 +14,9 @@ requires-python = ">=3.14, <3.15" dependencies = [ "pyside6>=6.10.2", "packaging>=26.0", - "porringer>=0.2.1.dev10", + "porringer>=0.2.1.dev20", "velopack>=0.0.1369.dev7516", - "typer>=0.23.0", + "typer>=0.23.1", ] [project.urls] @@ -24,8 +24,8 @@ homepage = "https://github.com/synodic/synodic-client" repository = "https://github.com/synodic/synodic-client" [dependency-groups] -build = ["pyinstaller>=6.18.0"] -lint = ["ruff>=0.15.0", "pyrefly>=0.52.0"] +build = ["pyinstaller>=6.19.0"] +lint = ["ruff>=0.15.1", "pyrefly>=0.52.0"] test = ["pytest>=9.0.2", "pytest-cov>=7.0.0", "pytest-mock>=3.15.1"] [project.scripts] diff --git a/synodic_client/updater.py b/synodic_client/updater.py index f1e49d6..fe51fd5 100644 --- a/synodic_client/updater.py +++ b/synodic_client/updater.py @@ -323,7 +323,6 @@ def _get_velopack_manager(self) -> Any: try: options = velopack.UpdateOptions( AllowVersionDowngrade=False, - MaximumDeltasBeforeFallback=0, ) options.ExplicitChannel = self._config.channel_name