Skip to content

feat: add private per-step queues #29

feat: add private per-step queues

feat: add private per-step queues #29

Workflow file for this run

name: Windows Smoke
# Regression test for https://github.com/pgflow-dev/pgflow/issues/610:
# `npm install pgflow` must succeed on Windows with lifecycle scripts enabled,
# and the npm-created pgflow.cmd shim must run. The rest of CI runs on Ubuntu
# and invokes `node dist/index.js` directly, so it never exercises this.
#
# The packed CLI depends on @pgflow/core (workspace:* becomes an exact version
# after `pnpm pack`), and @pgflow/core depends on @pgflow/dsl. On the Version
# Packages branch those versions are bumped but not yet published on npm, so
# all three tarballs (dsl, core, cli) are packed locally and installed in one
# `npm install` command. That makes npm resolve @pgflow/core and @pgflow/dsl
# from the local tarballs in both branch shapes (see #669).
on:
workflow_dispatch:
pull_request:
permissions:
contents: read
jobs:
windows-package-smoke:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: '10.20.0'
run_install: false
- uses: actions/setup-node@v4
with:
node-version: 24
cache: 'pnpm'
cache-dependency-path: |
**/pnpm-lock.yaml
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- name: Build CLI and its workspace dependencies
run: pnpm nx run-many -t build --projects=dsl,core,cli
- name: Pack tarballs
shell: bash
run: |
(cd pkgs/dsl && pnpm pack)
(cd pkgs/core && pnpm pack)
(cd pkgs/cli && pnpm pack)
# Install the tarballs into a clean directory with lifecycle scripts
# enabled (no --ignore-scripts): this is the step that failed in #610.
# All three tarballs go into ONE npm install so npm resolves the
# @pgflow/core and @pgflow/dsl dependencies from the local tarballs.
- name: Install tarballs into a clean directory
shell: bash
run: |
SMOKE_DIR="$RUNNER_TEMP/pgflow-smoke"
mkdir -p "$SMOKE_DIR"
cd "$SMOKE_DIR"
npm install \
"$GITHUB_WORKSPACE/pkgs/dsl"/pgflow-dsl-*.tgz \
"$GITHUB_WORKSPACE/pkgs/core"/pgflow-core-*.tgz \
"$GITHUB_WORKSPACE/pkgs/cli"/pgflow-*.tgz
- name: Run npm-created pgflow.cmd shim
shell: bash
run: $RUNNER_TEMP/pgflow-smoke/node_modules/.bin/pgflow.cmd --version