mirror of
https://github.com/safedep/pmg.git
synced 2026-08-03 07:24:09 +02:00
feat: migrate pmg to nx based release automation (#293)
* feat: Migrate release system to Nx with platform-specific npm packages * add go.work.sum * fix: CI deprecations, stale action pins, and signal propagation * fix: update e2e workflows to pnpm 11 and latest action SHAs * fix: update pmg-e2e.yml to Node 24 with Go and pnpm caching * fix: resolve E2E failures, remove goreleaser-test, update action SHAs * fix: restore goreleaser-test (required check) * fix: escape pnpm workspace detection for yarn/pnpx tests, update action versions
This commit is contained in:
@@ -31,26 +31,27 @@ jobs:
|
||||
shell: bash
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
cache: true
|
||||
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: 20
|
||||
check-latest: true
|
||||
node-version: "24"
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
with:
|
||||
version: 10
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 # v2
|
||||
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
@@ -60,7 +61,7 @@ jobs:
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Setup uv
|
||||
uses: astral-sh/setup-uv@caf0cab7a618c569241d31dcd442f54681755d39
|
||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
||||
|
||||
- name: Install Poetry
|
||||
uses: snok/install-poetry@76e04a911780d5b312d89783f7b1cd627778900a
|
||||
@@ -224,7 +225,7 @@ jobs:
|
||||
- name: Test PNPM - Single Package & Manifest
|
||||
run: |
|
||||
echo "Testing PNPM single package installation..."
|
||||
mkdir pnpm-test && cd pnpm-test
|
||||
PNPM_TESTDIR=$(mktemp -d) && cd "$PNPM_TESTDIR"
|
||||
pmg --proxy-mode=false pnpm init
|
||||
pmg --proxy-mode=false pnpm add express@5.2.1
|
||||
pmg --proxy-mode=false pnpm add lodash@4.17.21
|
||||
@@ -242,7 +243,7 @@ jobs:
|
||||
test -f pnpm-lock.yaml
|
||||
test -d node_modules/express
|
||||
test -d node_modules/lodash
|
||||
cd .. && rm -rf pnpm-test
|
||||
cd - && rm -rf "$PNPM_TESTDIR"
|
||||
|
||||
- name: Test Bun - Single Package & Manifest
|
||||
run: |
|
||||
@@ -283,7 +284,7 @@ jobs:
|
||||
npm install -g yarn@1.22.22
|
||||
yarn --version
|
||||
|
||||
mkdir yarn-test && cd yarn-test
|
||||
YARN_TESTDIR=$(mktemp -d) && cd "$YARN_TESTDIR"
|
||||
pmg --proxy-mode=false yarn init -y
|
||||
pmg --proxy-mode=false yarn add express@5.2.1
|
||||
pmg --proxy-mode=false yarn add lodash@4.17.21
|
||||
@@ -301,7 +302,7 @@ jobs:
|
||||
test -f yarn.lock
|
||||
test -d node_modules/express
|
||||
test -d node_modules/lodash
|
||||
cd .. && rm -rf yarn-test
|
||||
cd - && rm -rf "$YARN_TESTDIR"
|
||||
|
||||
- name: Test NPX - Package Execution
|
||||
run: |
|
||||
@@ -331,7 +332,7 @@ jobs:
|
||||
- name: Test PNPX - Package Execution
|
||||
run: |
|
||||
echo "Testing PNPX package execution..."
|
||||
mkdir pnpx-test && cd pnpx-test
|
||||
PNPX_TESTDIR=$(mktemp -d) && cd "$PNPX_TESTDIR"
|
||||
|
||||
echo "Testing pnpx with a simple package..."
|
||||
pmg --proxy-mode=false pnpx cowsay@1.6.0 "Hello from pmg pnpx" | tee pnpx-output.txt
|
||||
@@ -351,7 +352,7 @@ jobs:
|
||||
# Verification: dry-run should NOT produce cowsay ASCII art (cow face ^__^ should not appear)
|
||||
! grep -q '\^__\^' pnpx-dry-output.txt
|
||||
|
||||
cd .. && rm -rf pnpx-test
|
||||
cd - && rm -rf "$PNPX_TESTDIR"
|
||||
|
||||
- name: Test Pip - Single Package & Manifest
|
||||
run: |
|
||||
@@ -516,23 +517,24 @@ jobs:
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
cache: true
|
||||
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: 20
|
||||
check-latest: true
|
||||
node-version: "24"
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
with:
|
||||
version: 10
|
||||
|
||||
- name: Build PMG
|
||||
run: make
|
||||
@@ -571,23 +573,24 @@ jobs:
|
||||
PMG_SANDBOX_DRIVER: bubblewrap
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
cache: true
|
||||
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: 20
|
||||
check-latest: true
|
||||
node-version: "24"
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
with:
|
||||
version: 10
|
||||
|
||||
- name: Install Bubblewrap
|
||||
run: sudo apt-get update && sudo apt-get install -y bubblewrap
|
||||
@@ -646,23 +649,24 @@ jobs:
|
||||
npm_config_cache: /tmp/npm-cache
|
||||
steps:
|
||||
- name: Checkout Source
|
||||
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
cache: true
|
||||
|
||||
- name: Enable corepack
|
||||
run: corepack enable
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||
with:
|
||||
node-version: 20
|
||||
check-latest: true
|
||||
node-version: "24"
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5
|
||||
with:
|
||||
version: 10
|
||||
|
||||
- name: Build PMG
|
||||
run: make
|
||||
|
||||
Reference in New Issue
Block a user