diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 52af04c9..b88fbf67 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -93,13 +93,23 @@ jobs: uses: actions/download-artifact@v8 with: name: backend-onedir-${{ runner.os }} - path: dist/run_app + path: dist/release + - name: Extract Backend Artifact + run: | + mkdir -p dist/run_app + python -c "import os, tarfile; archive = f'dist/release/backend-onedir-{os.environ[\"RUNNER_OS\"]}.tar.gz'; tarfile.open(archive, 'r:gz').extractall('dist')" + ls -la dist/run_app + shell: bash + - name: Verify Extracted Backend Bundle + run: | + python -c "import os; runner_os = os.environ['RUNNER_OS']; expected = os.path.join('dist', 'run_app', 'run_app.exe' if runner_os == 'Windows' else 'run_app'); import sys; import pathlib; expected_path = pathlib.Path(expected); sys.exit(0 if expected_path.is_file() else f'Expected backend executable not found after extraction: {expected}')" + shell: bash - name: Set version in electron/package.json run: | VERSION="${{ env.RELEASE_VERSION }}" VERSION_CLEAN="${VERSION#v}" # Use python for cross-platform JSON editing to avoid sed incompatibilities - python3 -c "import json; p='electron/package.json'; d=json.load(open(p)); d['version']='${VERSION_CLEAN}'; json.dump(d, open(p, 'w'), indent=2)" + python -c "import json; p='electron/package.json'; d=json.load(open(p)); d['version']='${VERSION_CLEAN}'; json.dump(d, open(p, 'w'), indent=2)" shell: bash - name: Build Electron App run: |