Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions .github/workflows/client-api-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@ name: Client API Testing
on:
push:
paths:
- 'client-api/**'
- 'client/packages/api-client/**'
- 'client/pnpm-workspace.yaml'
- 'client/pnpm-lock.yaml'
- 'client/src/api/**'
- '.github/workflows/client-api-test.yaml'
pull_request:
paths:
- 'client-api/**'
- 'client/packages/api-client/**'
- 'client/pnpm-workspace.yaml'
- 'client/pnpm-lock.yaml'
- 'client/src/api/**'
- '.github/workflows/client-api-test.yaml'
concurrency:
Expand All @@ -31,15 +35,12 @@ jobs:
uses: pnpm/action-setup@v5
with:
package_json_file: client/package.json
- name: Install client dependencies
- name: Install workspace dependencies
run: pnpm install --frozen-lockfile
working-directory: client
- name: Install client-api dependencies
run: pnpm install --frozen-lockfile
working-directory: client-api
- name: Build client-api
run: pnpm run build
working-directory: client-api
run: pnpm --filter @galaxyproject/galaxy-api-client run build
working-directory: client
- name: Run client-api tests
run: pnpm test
working-directory: client-api
run: pnpm --filter @galaxyproject/galaxy-api-client test
working-directory: client
14 changes: 9 additions & 5 deletions .github/workflows/publish_artifacts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -121,15 +121,19 @@ jobs:
working-directory: 'client'
- name: publish client
if: (github.event_name == 'workflow_dispatch' && inputs.release_type == 'release') || (github.event_name == 'release' && !github.event.release.prerelease)
run: npm publish --provenance --access public
# `pnpm publish` rewrites `workspace:*` deps to real versions; `npm publish` would ship the literal protocol and break downstream installs.
# Strip the workspace-only `postinstall` so it doesn't run in consumers' node_modules.
run: |
npm pkg delete scripts.postinstall
pnpm publish --provenance --access public --no-git-checks
working-directory: 'client'
- name: sync client-api version
run: npm run sync-version
working-directory: 'client-api'
working-directory: 'client/packages/api-client'
- name: build client-api
run: pnpm install && pnpm run build
working-directory: 'client-api'
run: pnpm --filter @galaxyproject/galaxy-api-client run build
working-directory: 'client'
- name: publish client-api
if: (github.event_name == 'workflow_dispatch' && inputs.release_type == 'release') || (github.event_name == 'release' && !github.event.release.prerelease)
run: npm publish --provenance --access public
working-directory: 'client-api'
working-directory: 'client/packages/api-client'
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ remove-api-schema:
rm _shed_schema.yaml

update-client-api-schema: client-node-deps build-api-schema ## Update client API schema
$(IN_VENV) cd client && pnpm openapi-typescript ../_schema.yaml -o src/api/schema/schema.ts && pnpm prettier --write src/api/schema/schema.ts
$(IN_VENV) cd client && pnpm openapi-typescript ../_schema.yaml -o packages/api-client/src/schema/schema.ts && pnpm prettier --write packages/api-client/src/schema/schema.ts
$(IN_VENV) cd client && pnpm openapi-typescript ../_shed_schema.yaml -o ../lib/tool_shed/webapp/frontend/src/schema/schema.ts && pnpm prettier --write ../lib/tool_shed/webapp/frontend/src/schema/schema.ts
$(MAKE) remove-api-schema

Expand Down
Loading
Loading