Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,4 @@
"test/**/*.test_.ts",
"tsup.config.ts"
]
}
}
115 changes: 81 additions & 34 deletions .github/README.md

Large diffs are not rendered by default.

77 changes: 41 additions & 36 deletions .github/workflows/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,26 @@ on:
workflow_dispatch:

env:
NODE_VERSION: 22
NODE_VERSION: 24

permissions:
contents: write
id-token: write

jobs:
build:
name: 'Build'
runs-on: ubuntu-latest
if: github.repository_owner == 'rockcarver'
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
# Need to specify ref and repository for PRs from forked repos
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}

- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
Expand Down Expand Up @@ -82,7 +87,7 @@ jobs:
- name: Security Audit
run: npm audit --audit-level high

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: build
path: |
Expand All @@ -102,7 +107,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22, 20, 18]
node-version: [25, 24, 22, 20]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

# Service containers to run with `test`
Expand All @@ -116,20 +121,20 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
# Need to specify ref and repository for PRs from forked repos
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
node-version: ${{ matrix.node-version }}
cache: 'npm'

- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v7
with:
name: build

Expand Down Expand Up @@ -187,34 +192,34 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v7
with:
name: build

- name: Download MacOS Intel Binary Release
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: macos-intel-binary-release

- name: Download MacOS ARM64 Binary Release
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: macos-arm64-binary-release

- name: Download Linux X64 Binary Release
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: linux-x64-binary-release

- name: Download Linux ARM64 Binary Release
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: linux-arm64-binary-release

- name: Download Windows X64 Binary Release
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: windows-x64-binary-release

Expand Down Expand Up @@ -287,14 +292,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v7
with:
name: build

Expand All @@ -303,15 +308,15 @@ jobs:

- name: Pre-Release
if: ${{ fromJSON(needs.build.outputs.preRelease) }}
uses: JS-DevTools/npm-publish@v3
uses: JS-DevTools/npm-publish@v4
with:
access: public
tag: 'next'
token: ${{ secrets.NPM_ACCESS_TOKEN }}

- name: Release
if: ${{ ! fromJSON(needs.build.outputs.preRelease) }}
uses: JS-DevTools/npm-publish@v3
uses: JS-DevTools/npm-publish@v4
with:
access: public
token: ${{ secrets.NPM_ACCESS_TOKEN }}
Expand Down Expand Up @@ -356,7 +361,7 @@ jobs:
# don't run on PRs, since secrets are not available
if: github.event_name != 'pull_request'
needs: [build, test]
runs-on: macos-13
runs-on: macos-15-intel
timeout-minutes: 15
steps:
- name: Install the Apple certificate
Expand Down Expand Up @@ -389,7 +394,7 @@ jobs:
with:
name: build

- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
Expand Down Expand Up @@ -425,7 +430,7 @@ jobs:
- name: Notorize
run: xcrun notarytool submit --apple-id ${{ secrets.AC_USERNAME }} --password ${{ secrets.AC_PASSWORD }} --team-id ${{ secrets.AC_TEAM_ID }} --wait frodo-macos-intel-${{ needs.build.outputs.newVersion }}.zip

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: macos-intel-binary-release
path: frodo-macos-intel-${{ needs.build.outputs.newVersion }}.zip
Expand All @@ -434,7 +439,7 @@ jobs:
# don't run on PRs, since secrets are not available
if: github.event_name != 'pull_request'
needs: [build, test]
runs-on: macos-14
runs-on: macos-15
timeout-minutes: 15
steps:
- name: Install the Apple certificate
Expand Down Expand Up @@ -463,11 +468,11 @@ jobs:
#security import $INTERMEDIATE_CERTIFICATE_PATH -P "$DEVELOPMENT_CERTIFICATE_PASSPHRASE" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH

- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v7
with:
name: build

- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
Expand Down Expand Up @@ -503,7 +508,7 @@ jobs:
- name: Notorize
run: xcrun notarytool submit --apple-id ${{ secrets.AC_USERNAME }} --password ${{ secrets.AC_PASSWORD }} --team-id ${{ secrets.AC_TEAM_ID }} --wait frodo-macos-arm64-${{ needs.build.outputs.newVersion }}.zip

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: macos-arm64-binary-release
path: frodo-macos-arm64-${{ needs.build.outputs.newVersion }}.zip
Expand All @@ -513,11 +518,11 @@ jobs:
needs: [build, test]
runs-on: ubuntu-24.04
steps:
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v7
with:
name: build

- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
Expand All @@ -540,7 +545,7 @@ jobs:
- name: Archive distribution binary
run: zip -Z bzip2 frodo-linux-x64-${{ needs.build.outputs.newVersion }}.zip frodo

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: linux-x64-binary-release
path: frodo-linux-x64-${{ needs.build.outputs.newVersion }}.zip
Expand All @@ -551,11 +556,11 @@ jobs:
needs: [build, test]
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v7
with:
name: build

- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
# runner currently only supports 16 due to GLIBC_2.28 dependency in node 18
node-version: 16
Expand All @@ -579,7 +584,7 @@ jobs:
- name: Archive distribution binary
run: zip -Z bzip2 frodo-linux-arm64-${{ needs.build.outputs.newVersion }}.zip frodo

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: linux-arm64-binary-release
path: frodo-linux-arm64-${{ needs.build.outputs.newVersion }}.zip
Expand All @@ -590,11 +595,11 @@ jobs:
needs: [build, test]
runs-on: windows-2022
steps:
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v7
with:
name: build

- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
Expand All @@ -617,7 +622,7 @@ jobs:
- name: Archive distribution binary
run: 7z a -tzip frodo-windows-x64-${{ needs.build.outputs.newVersion }}.zip frodo.exe

- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
with:
name: windows-x64-binary-release
path: frodo-windows-x64-${{ needs.build.outputs.newVersion }}.zip
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -140,3 +140,6 @@ out

test/fs_tmp/*
!test/fs_tmp/.gitkeep

temp
.vscode/settings.json
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@
"restart": true
}
]
}
}
44 changes: 43 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [4.0.0-1] - 2026-01-26

### Changed

- Updated to Frodo Lib 4.0.0

### Added

- Added `frodo config-manager` (`fr-config-manager`) commands.
- Added support for Node Designer Nodes through several API and Ops functions to allow for doing exports, imports, deletes, etc. with custom node configurations.<br><br>
Just like with journeys, custom nodes get exported and imported in the same way as they do from AIC/AM, so you can import Frodo exported custom nodes into AIC/AM and vice versa.<br><br>
Additionally, journeys were updated to include custom node dependencies during exports. Even if a journey is exported with Frodo and contains these dependencies in the export JSON, they can still be imported into AIC/AM using the admin UI as it should ignore the custom node dependencies (since AIC/AM doesn't support exporting them yet).
- Added `--retry <strategy>` option to all commands.

### Fixed

- \#XXX:

## [3.1.1-1] - 2026-01-25

## [3.1.1-0] - 2026-01-25

## [3.1.0] - 2026-01-22

## [3.0.10] - 2026-01-20

### Changed

- This release enables the CLI to support Proxy Connect in PingOne Advanced Identity Cloud through the use of custom authentication headers.

### Fixed

- rockcarver/frodo-lib#519: Fixed an error generated by the `frodo admin grant-oauth2-client-admin-privileges` command due to changes in AIC default configuration.
- Updated dependencies with security issues.

## [3.0.9] - 2025-09-16

### Fixed
Expand Down Expand Up @@ -2094,7 +2129,14 @@ Frodo CLI 2.x automatically refreshes session and access tokens before they expi
- Fixed problem with adding connection profiles
- Miscellaneous bug fixes

[unreleased]: https://github.com/rockcarver/frodo-cli/compare/v3.0.9...HEAD
[unreleased]: https://github.com/rockcarver/frodo-cli/compare/v4.0.0-1...HEAD
[4.0.0-1]: https://github.com/rockcarver/frodo-cli/compare/v3.1.1-1...v4.0.0-1
[3.1.1-1]: https://github.com/rockcarver/frodo-cli/compare/v3.1.1-0...v3.1.1-1
[3.1.1-0]: https://github.com/rockcarver/frodo-cli/compare/v3.1.0...v3.1.1-0
[3.1.0]: https://github.com/rockcarver/frodo-cli/compare/v3.0.10...v3.1.0
[3.0.10]: https://github.com/rockcarver/frodo-cli/compare/v3.0.10-1...v3.0.10
[3.0.10-1]: https://github.com/rockcarver/frodo-cli/compare/v3.0.10-0...v3.0.10-1
[3.0.10-0]: https://github.com/rockcarver/frodo-cli/compare/v3.0.9...v3.0.10-0
[3.0.9]: https://github.com/rockcarver/frodo-cli/compare/v3.0.8...v3.0.9
[3.0.8]: https://github.com/rockcarver/frodo-cli/compare/v3.0.7...v3.0.8
[3.0.7]: https://github.com/rockcarver/frodo-cli/compare/v3.0.6...v3.0.7
Expand Down
Loading