Skip to content

Commit bcd1366

Browse files
authored
Merge pull request #22514 from dannon/feature/prebuilt-client-wheel
Drop npm/pnpm from the prebuilt client install; use galaxy-web-client wheel
2 parents e40581d + da911d0 commit bcd1366

11 files changed

Lines changed: 64 additions & 76 deletions

File tree

.github/workflows/build_client.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Setup pnpm
2525
uses: pnpm/action-setup@v5
2626
with:
27-
package_json_file: 'galaxy root/package.json'
27+
package_json_file: 'galaxy root/client/package.json'
2828
- name: get client commit
2929
id: client-commit
3030
shell: bash

.github/workflows/client-api-test.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ jobs:
2929
node-version: ${{ steps.node-version.outputs.version }}
3030
- name: Setup pnpm
3131
uses: pnpm/action-setup@v5
32+
with:
33+
package_json_file: client/package.json
3234
- name: Install client dependencies
3335
run: pnpm install --frozen-lockfile
3436
working-directory: client

.github/workflows/client-unit.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ jobs:
2727
node-version: ${{ steps.node-version.outputs.version }}
2828
- name: Setup pnpm
2929
uses: pnpm/action-setup@v5
30+
with:
31+
package_json_file: client/package.json
3032
- run: pnpm install --frozen-lockfile
3133
working-directory: client
3234
- name: Pre-build (icons and plugins)

.github/workflows/js_lint.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ jobs:
2727
node-version: ${{ steps.node-version.outputs.version }}
2828
- name: Setup pnpm
2929
uses: pnpm/action-setup@v5
30+
with:
31+
package_json_file: client/package.json
3032
- run: pnpm install --frozen-lockfile
3133
working-directory: client
3234
- name: Run ESLint

.github/workflows/lint_openapi_schema.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- name: Setup pnpm
3838
uses: pnpm/action-setup@v5
3939
with:
40-
package_json_file: 'galaxy root/package.json'
40+
package_json_file: 'galaxy root/client/package.json'
4141
- uses: actions/setup-python@v6
4242
with:
4343
python-version: ${{ matrix.python-version }}

.github/workflows/publish_artifacts.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,12 @@ jobs:
107107
registry-url: 'https://registry.npmjs.org'
108108
- name: Setup pnpm
109109
uses: pnpm/action-setup@v5
110+
# TODO(post-26.1): the @galaxyproject/galaxy-client npm publish is now
111+
# redundant with the galaxy-web-client PyPI wheel used by
112+
# scripts/common_startup.sh and the install-client make target. Keep
113+
# publishing for at least one release cycle in case external consumers
114+
# depend on it; once verified unused, drop the build+publish steps
115+
# below (leave the client-api publish intact).
110116
- name: build client
111117
run: pnpm install && pnpm build-production
112118
working-directory: 'client'

Makefile

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,6 @@ update-cwl-conformance-tests: ## update CWL conformance tests
178178
skip-client: ## Run only the server, skipping the client build.
179179
GALAXY_SKIP_CLIENT_BUILD=1 sh run.sh
180180

181-
node-deps: ## Install NodeJS dependencies.
182-
ifndef PNPM
183-
corepack enable pnpm;
184-
endif
185-
$(IN_VENV) pnpm install $(PNPM_INSTALL_OPTS)
186-
187181
client-node-deps: ## Install NodeJS dependencies for the client.
188182
ifndef PNPM
189183
corepack enable pnpm;
@@ -217,8 +211,8 @@ lint-api-schema: build-api-schema
217211
update-navigation-schema: client-node-deps
218212
$(IN_VENV) cd client && node navigation_to_schema.mjs
219213

220-
install-client: node-deps ## Install prebuilt client as defined in root package.json
221-
$(IN_VENV) pnpm install && pnpm run stage
214+
install-client: ## Install prebuilt client wheel from PyPI matching the current Galaxy version
215+
$(IN_VENV) pip install "galaxy-web-client==$$(PYTHONPATH=lib python -c 'from galaxy.version import VERSION; print(VERSION)')"
222216

223217
client: client-node-deps ## Rebuild client-side artifacts for local development.
224218
$(IN_VENV) cd client && $(NODE_ENV) pnpm run build

client/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@galaxyproject/galaxy-client",
33
"version": "26.1.dev0",
4+
"packageManager": "pnpm@10.26.1",
45
"description": "Galaxy client application build system",
56
"keywords": [
67
"galaxy"

package.json

Lines changed: 0 additions & 24 deletions
This file was deleted.

packages/web_client/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ _test:
5656

5757
test: setup-venv _test
5858

59-
_dist: galaxy/web_client/client_build_hash.txt
59+
_dist: src/galaxy/web_client/client_build_hash.txt
6060
uv build -o $(DIST)
6161
ls -l $(DIST)
6262

6363
dist: clean _dist
6464

65-
galaxy/web_client/client_build_hash.txt:
65+
src/galaxy/web_client/client_build_hash.txt:
6666
# Use the main Galaxy virtualenv, since that's what `make client-production` uses
6767
cd ../..; \
6868
uv venv --allow-existing $(VENV); \

0 commit comments

Comments
 (0)