From 8078bb6833ec986c8aa6abc346167c8bb1c188dd Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Sat, 22 Nov 2025 01:43:17 +0000 Subject: [PATCH 1/2] fix(build): update versioning and dependency handling in release workflow --- .github/workflows/release.yaml | 9 +++++++++ tools/build-binary-package.sh | 13 +++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 18b753ec..a01237fe 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -22,6 +22,7 @@ on: # pull_request: # branches: # - master + workflow_dispatch: release: types: - created @@ -128,12 +129,14 @@ jobs: PYAPP_REPO: pyapp PYAPP_VERSION: v0.27.0 PYAPP_PYTHON_VERSION: "3.12" + PYAPP_PROJECT_NAME: "dma" # CRITICAL: Correct offline configuration (NO PYAPP_UV_ENABLED) PYAPP_DISTRIBUTION_EMBED: "true" PYAPP_FULL_ISOLATION: "true" PYAPP_SKIP_INSTALL: "true" # Project already embedded PYAPP_PROJECT_FEATURES: "oracle,postgres,mssql,mysql,server" + PYAPP_DISTRIBUTION_VARIANT_CPU: "v1" steps: - name: Checkout code uses: actions/checkout@v6 @@ -178,10 +181,16 @@ jobs: echo "VERSION=$VERSION" >> $GITHUB_OUTPUT shell: bash + - name: Generate requirements.txt + run: | + uv export --frozen --no-dev --no-editable --no-hashes --no-header --no-emit-project --extra postgres --extra server > dist/requirements.txt + echo "${{ github.workspace }}/dist/dma-${{ steps.version.outputs.VERSION }}-py3-none-any.whl" >> dist/requirements.txt + - name: Build PyApp binary working-directory: ${{ env.PYAPP_REPO }} env: PYAPP_PROJECT_PATH: ${{ github.workspace }}/dist/dma-${{ steps.version.outputs.VERSION }}-py3-none-any.whl + PYAPP_PROJECT_DEPENDENCY_FILE: ${{ github.workspace }}/dist/requirements.txt run: cargo build --release --target ${{ matrix.job.target }} - name: Rename binary (Unix) diff --git a/tools/build-binary-package.sh b/tools/build-binary-package.sh index 196b66d4..90248435 100755 --- a/tools/build-binary-package.sh +++ b/tools/build-binary-package.sh @@ -14,14 +14,14 @@ # limitations under the License. # shellcheck disable=SC2086 set -euxo pipefail -current_version=$(hatch version) +current_version=$(uv run python -c "from dma.__about__ import __version__; print(__version__)") export HATCH_BUILD_LOCATION="dist" export CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG="true" # export CARGO_BUILD_TARGET="x86_64-unknown-linux-gnu" export RUST_BACKTRACE="full" -export PYAPP_VERSION="v0.27.0" +export PYAPP_VERSION="v0.29.0" export PYAPP_REPO="dist/.scratch" export PYAPP_PROJECT_PATH="$(realpath dist/dma-${current_version}-py3-none-any.whl)" export PYAPP_PROJECT_NAME="dma" @@ -29,15 +29,16 @@ export PYAPP_PROJECT_VERSION="${current_version}" export PYAPP_PROJECT_DEPENDENCY_FILE="$(realpath dist/requirements.txt)" export PYAPP_PYTHON_VERSION="3.12" export PYAPP_PROJECT_FEATURES="postgres" -export PYAPP_DISTRIBUTION_VARIANT="v1" +export PYAPP_DISTRIBUTION_VARIANT_CPU="v1" export PYAPP_UV_ENABLED="true" export PYAPP_FULL_ISOLATION="true" export PYAPP_DISTRIBUTION_EMBED="true" rm -Rf dist/.scratch git clone --quiet --depth 1 --branch $PYAPP_VERSION https://github.com/ofek/pyapp dist/.scratch -hatch build -hatch dep show requirements --project-only > dist/requirements.txt -hatch dep show requirements -p -f postgres -f server >> dist/requirements.txt +uv build +uv export --frozen --no-dev --no-editable --no-hashes --no-header --no-emit-project --extra postgres --extra server > dist/requirements.txt echo "$(realpath dist/dma-${current_version}-py3-none-any.whl)" >> dist/requirements.txt cd dist/.scratch && cargo build --release && cd - +cp dist/.scratch/target/release/pyapp dist/dma +chmod +x dist/dma From 15f6dafa09a93b4cb78fcfc7b86335b39fb4b80e Mon Sep 17 00:00:00 2001 From: Cody Fincher Date: Sat, 22 Nov 2025 20:23:17 +0000 Subject: [PATCH 2/2] fix(build): add 'server' feature to PYAPP_PROJECT_FEATURES --- tools/build-binary-package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build-binary-package.sh b/tools/build-binary-package.sh index 90248435..ef86700b 100755 --- a/tools/build-binary-package.sh +++ b/tools/build-binary-package.sh @@ -28,7 +28,7 @@ export PYAPP_PROJECT_NAME="dma" export PYAPP_PROJECT_VERSION="${current_version}" export PYAPP_PROJECT_DEPENDENCY_FILE="$(realpath dist/requirements.txt)" export PYAPP_PYTHON_VERSION="3.12" -export PYAPP_PROJECT_FEATURES="postgres" +export PYAPP_PROJECT_FEATURES="server,postgres" export PYAPP_DISTRIBUTION_VARIANT_CPU="v1" export PYAPP_UV_ENABLED="true" export PYAPP_FULL_ISOLATION="true"