Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
dc90965
Bump to node 22
cole-abbeduto-particle Oct 21, 2025
1dfbcf0
Bump particle packages to latest
cole-abbeduto-particle Oct 21, 2025
eeddf8c
Migrate to latest particle eslint config
cole-abbeduto-particle Oct 21, 2025
5d8c021
Fix all the lints!
cole-abbeduto-particle Oct 21, 2025
34c512b
Fix CI not being on 22
cole-abbeduto-particle Oct 22, 2025
c495a7e
Fix test failure
cole-abbeduto-particle Oct 22, 2025
6aa02b7
Fix windows test failure
cole-abbeduto-particle Oct 22, 2025
d526800
Fix regex again
cole-abbeduto-particle Oct 22, 2025
ee6d3e4
Add armv7 support and remove prebuilt node16 armv7
cole-abbeduto-particle Oct 23, 2025
6ae71af
Add back node22 armv7 prebuilt
cole-abbeduto-particle Oct 23, 2025
464b261
Fix file being empty 🤦‍♂️
cole-abbeduto-particle Oct 23, 2025
92f1c34
Change armv7 to linuxstatic so it will use the prebuilt
cole-abbeduto-particle Oct 23, 2025
65192b2
Downgrade to @yao-pkg/pkg to match particle-linux version
cole-abbeduto-particle Oct 23, 2025
3ffcb13
add --public and --debug for building
hugomontero Oct 24, 2025
d60ef2a
add missing --
hugomontero Oct 24, 2025
1e5513c
build separately macos
hugomontero Oct 27, 2025
051757d
map linuxstatic to linux for manifest generation
hugomontero Oct 27, 2025
befd5c5
disable noDeprecation flag
hugomontero Oct 27, 2025
62f28b9
udate @yao/pkg to 6.9.0
hugomontero Oct 28, 2025
b5e1591
update build to put as exception linux and keep latest dependencies t…
hugomontero Oct 28, 2025
97dbc6c
use node20 to build with pkg
hugomontero Oct 28, 2025
9a4469b
build separately macos,linux and windows
hugomontero Oct 28, 2025
13e8444
fix win build name
hugomontero Oct 28, 2025
a649a58
fix lint issues
hugomontero Nov 3, 2025
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: 0 additions & 21 deletions .eslintrc.js

This file was deleted.

90 changes: 74 additions & 16 deletions .github/workflows/reusable-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ env:
E2E_PRODUCT_01_NAME: ${{ secrets.E2E_PRODUCT_01_NAME }}
E2E_USERNAME: ${{ secrets.E2E_USERNAME }}
jobs:
build:
linux-build:
runs-on: ubuntu-latest # Choose an appropriate runner
steps:
- uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: '16'
node-version: '22'

- name: Configure NPM Token
run: npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}
Expand All @@ -47,13 +47,8 @@ jobs:
uses: actions/cache@v3
with:
path: ~/.pkg-cache
key: node16-pkg-${{ github.run_id }}
restore-keys: node16-pkg-

- name: Add pre-built Node for armv7
run: |
mkdir -p ~/.pkg-cache/v3.4
cp .prebuild/built-v16.16.0-linux-armv7 ~/.pkg-cache/v3.4
key: node22-pkg-${{ github.run_id }}
restore-keys: node22-pkg-

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
Expand All @@ -64,24 +59,68 @@ jobs:
uses: MOZGIII/install-ldid-action@v1
with:
tag: v2.1.5-procursus7
# Follow instructions are required to build linux and keep backwards compatibility with ubuntu 20.04
- name: Build linux x64
run: npx --yes @yao-pkg/[email protected] . --target node22-linux-x64 -o build/particle-cli-linux-x64
- name: Build linux arm64
run: npx --yes @yao-pkg/[email protected] . --target node22-linux-arm64 -o build/particle-cli-linux-arm64
- name: Build linux armv7
run: npx --yes @yao-pkg/[email protected] . --target node22-linuxstatic-armv7 -o build/particle-cli-linuxstatic-armv7

- name: Save Cache
uses: actions/cache@v3
with:
path: ~/.pkg-cache
key: node22-pkg-${{ github.run_id }}

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: not_signed_linux
path: build/
macos-build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'

- name: Configure NPM Token
run: npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}

- name: Build Package
run: npm run build
- name: Install dependencies
run: npm install

- name: Restore Cache
uses: actions/cache@v3
with:
path: ~/.pkg-cache
key: node22-pkg-${{ github.run_id }}
restore-keys: node22-pkg-
- name: Build macos x64
run: npm run build -- --target node22-macos-x64 -o build/particle-cli-macos-x64
- name: Build macos arm64
run: npm run build -- --target node22-macos-arm64 -o build/particle-cli-macos-arm64

- name: Save Cache
uses: actions/cache@v3
with:
path: ~/.pkg-cache
key: node16-pkg-${{ github.run_id }}
key: node22-pkg-${{ github.run_id }}

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: not_signed
name: not_signed_mac
path: build/
windows-sign:
runs-on: windows-latest
needs: build
needs:
- linux-build
- macos-build
steps:
- uses: actions/checkout@v3
- name: Install NSIS
Expand All @@ -90,11 +129,30 @@ jobs:
shell: pwsh
run: |
echo "${env:ProgramFiles(x86)}\NSIS\Bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'

- name: Configure NPM Token
run: npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}

- name: Install dependencies
run: npm install

- name: Restore Cache
uses: actions/cache@v3
with:
path: ~/.pkg-cache
key: node22-pkg-${{ github.run_id }}
restore-keys: node22-pkg-
- name: Download Artifact
uses: actions/download-artifact@v5
with:
name: not_signed
path: build/
merge-multiple: true
- name: Build windows x64
run: npm run build -- --target node22-win-x64 -o build/particle-cli-win-x64
- name: Sign Windows Executable
uses: azure/trusted-signing-action@v0
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-publish-npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
node-version: '22'
- name: Configure NPM Token
run: npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_PUBLISH_TOKEN }}
- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-publish-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
node-version: '22'
- name: Configure NPM Token
run: npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/reusable-tests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Run Tests

on:
on:
workflow_call:
inputs:
skipE2E:
Expand Down Expand Up @@ -38,7 +38,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [16.x]
node-version: [22.x]
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v3
Expand All @@ -57,7 +57,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [16.x]
node-version: [22.x]
os: [ubuntu-latest, macOS-latest]
steps:
- uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
16
22
Binary file not shown.
12 changes: 12 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { particle } from 'eslint-config-particle';

export default particle({
rootDir: import.meta.dirname,
testGlobals: 'mocha',
overrides: {
'no-console': 'off'
},
globalIgnores: [
'./test/__fixtures__/logic_functions/lf*_proj/*.js'
]
});
Loading