Skip to content

Skip Pro CI workflows for Dependabot PRs#2825

Merged
justin808 merged 3 commits intomainfrom
jg/2171-skip-pro-ci-dependabot
Mar 24, 2026
Merged

Skip Pro CI workflows for Dependabot PRs#2825
justin808 merged 3 commits intomainfrom
jg/2171-skip-pro-ci-dependabot

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Mar 24, 2026

Summary

  • Add if: github.actor != 'dependabot[bot]' to the detect-changes job in all three Pro workflows (pro-integration-tests.yml, pro-lint.yml, pro-test-package-and-gem.yml)
  • All downstream jobs need: detect-changes, so the entire workflow is skipped for Dependabot PRs
  • Open-source CI workflows still run normally on Dependabot PRs

Closes #2171

Test plan

  • Verify Dependabot PRs no longer trigger Pro workflows (check next Dependabot PR)
  • Verify non-Dependabot PRs still trigger Pro workflows as before
  • Verify workflow_dispatch still works with force_run

🤖 Generated with Claude Code


Note

Low Risk
Low risk: changes only add conditional guards to GitHub Actions workflows and refactor CLI logging/labels without altering core generation behavior.

Overview
Prevents Pro GitHub Actions workflows from running on Dependabot pull requests by adding an if guard to the shared detect-changes job in the Pro workflows, effectively skipping all downstream jobs that require Pro license secrets.

Refactors create-react-on-rails-app mode labeling to use explicit if/else precedence (--rsc over --pro) for both the generator step label (proModeLabel) and the initial console output (modeLabel).

Written by Cursor Bugbot for commit 07735a2. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • Chores
    • CI workflows updated to skip certain change-detection steps for Dependabot PRs, reducing unnecessary CI runs.
  • Bug Fixes
    • Generator messaging adjusted so mode (pro vs. rsc) is determined and displayed more explicitly in create-app output and related error messages.

Dependabot PRs can't access the REACT_ON_RAILS_PRO_LICENSE secret,
causing all Pro workflows to fail. Add an actor check to the
detect-changes job in each Pro workflow so the entire workflow is
skipped when triggered by Dependabot.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 24, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 71b7a69d-590c-4306-b95a-247413397cd8

📥 Commits

Reviewing files that changed from the base of the PR and between 8aadbff and 07735a2.

📒 Files selected for processing (5)
  • .github/workflows/pro-integration-tests.yml
  • .github/workflows/pro-lint.yml
  • .github/workflows/pro-test-package-and-gem.yml
  • packages/create-react-on-rails-app/src/create-app.ts
  • packages/create-react-on-rails-app/src/index.ts
✅ Files skipped from review due to trivial changes (2)
  • packages/create-react-on-rails-app/src/index.ts
  • .github/workflows/pro-lint.yml
🚧 Files skipped from review as they are similar to previous changes (2)
  • .github/workflows/pro-test-package-and-gem.yml
  • .github/workflows/pro-integration-tests.yml

Walkthrough

The PR adds job-level guards to three Pro-related GitHub Actions workflows to skip the detect-changes job for Dependabot PRs, and refactors mode/label selection logic in two create-app TypeScript files to use explicit conditional assignments.

Changes

Cohort / File(s) Summary
Pro workflow guards
.github/workflows/pro-integration-tests.yml, .github/workflows/pro-lint.yml, .github/workflows/pro-test-package-and-gem.yml
Added `if: github.event_name != 'pull_request'
Create app mode/label logic
packages/create-react-on-rails-app/src/create-app.ts, packages/create-react-on-rails-app/src/index.ts
Replaced compact ternary expressions with explicit let initialization and if / else if assignments for Pro/RSC mode label and modeLabel string construction to make mode selection logic more direct and readable.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through code with a twitch of my nose,
Skipping Pro checks where Dependabot goes,
Labels clarified, the logic made clear,
A tiny refactor — a happy cheer! 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning Changes to create-app.ts and index.ts replacing nested ternaries with if/else statements are out of scope for the primary objective of skipping Pro workflows for Dependabot PRs. Remove the unrelated lint fixes from this PR or move them to a separate PR focused on refactoring the ternary expressions to satisfy ESLint.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding conditions to skip Pro CI workflows for Dependabot pull requests across three workflow files.
Linked Issues check ✅ Passed The PR implements the primary objective from issue #2171: preventing Dependabot PRs from failing Pro CI by adding conditions to skip the detect-changes job for Dependabot actors in three Pro workflow files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jg/2171-skip-pro-ci-dependabot

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Condition skips Pro CI on main for Dependabot merges
    • Updated all three Pro workflow detect-changes job conditions to skip Dependabot only on pull_request events so push/main and workflow_dispatch still run.

Create PR

Or push these changes by commenting:

@cursor push dfbe9e07b2
Preview (dfbe9e07b2)
diff --git a/.github/workflows/pro-integration-tests.yml b/.github/workflows/pro-integration-tests.yml
--- a/.github/workflows/pro-integration-tests.yml
+++ b/.github/workflows/pro-integration-tests.yml
@@ -27,7 +27,7 @@
 jobs:
   detect-changes:
     # Skip for Dependabot PRs — they can't access the Pro license secret
-    if: github.actor != 'dependabot[bot]'
+    if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]'
     permissions:
       contents: read
       actions: read

diff --git a/.github/workflows/pro-lint.yml b/.github/workflows/pro-lint.yml
--- a/.github/workflows/pro-lint.yml
+++ b/.github/workflows/pro-lint.yml
@@ -27,7 +27,7 @@
 jobs:
   detect-changes:
     # Skip for Dependabot PRs — they can't access the Pro license secret
-    if: github.actor != 'dependabot[bot]'
+    if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]'
     permissions:
       contents: read
       actions: read

diff --git a/.github/workflows/pro-test-package-and-gem.yml b/.github/workflows/pro-test-package-and-gem.yml
--- a/.github/workflows/pro-test-package-and-gem.yml
+++ b/.github/workflows/pro-test-package-and-gem.yml
@@ -27,7 +27,7 @@
 jobs:
   detect-changes:
     # Skip for Dependabot PRs — they can't access the Pro license secret
-    if: github.actor != 'dependabot[bot]'
+    if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]'
     permissions:
       contents: read
       actions: read

Comment thread .github/workflows/pro-integration-tests.yml Outdated

jobs:
detect-changes:
# Skip for Dependabot PRs — they can't access the Pro license secret
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The use of github.actor (rather than github.triggering_actor) means that manually re-running this workflow on a Dependabot PR will still be skipped, because github.actor stays as dependabot[bot] even when a human clicks Re-run. Only a workflow_dispatch with force_run: true can override this.

This is probably fine — it prevents accidental Pro-secret access — but worth a note so maintainers know the escape hatch:

Suggested change
# Skip for Dependabot PRs — they can't access the Pro license secret
# Skip for Dependabot PRs — they can't access the Pro license secret.
# To run Pro CI on a Dependabot PR, use workflow_dispatch with force_run: true
# (re-running the workflow will NOT help because github.actor stays as dependabot[bot]).
if: github.actor != 'dependabot[bot]'

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 24, 2026

Code Review

Overall: Correct, minimal, and safe. The three-line change is the right approach — gating detect-changes is enough to skip the entire downstream pipeline because all other jobs needs: detect-changes.

A few things worth knowing:

Re-run behaviour (inline comment posted): github.actor is frozen at the time the workflow was originally triggered, so manually clicking "Re-run" on a Dependabot PR still evaluates as dependabot[bot] and the job is skipped. The only way to force Pro CI on a Dependabot PR is workflow_dispatch with force_run: true. This is probably the right behaviour (prevents accidental secret exposure), but it's non-obvious. I've left a suggestion comment on the YAML to capture this.

Delayed detection of Pro-only breakages: Worth acknowledging explicitly — a dependency bump that breaks something Pro-specific won't surface until after merge, when the push to main fires with a human actor. For a future hardening step (not blocking this PR), adding Pro-specific dependencies to a Dependabot ignore list and bumping them manually would restore full CI coverage without the secret-access problem.

Actor string: 'dependabot[bot]' is the correct, GitHub-documented value. No change needed.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 24, 2026

Greptile Summary

This PR adds if: github.actor != 'dependabot[bot]' to the detect-changes job in all three Pro CI workflow files (pro-integration-tests.yml, pro-lint.yml, pro-test-package-and-gem.yml). Because every downstream job in these workflows already declares needs: detect-changes, skipping the gate job causes the entire workflow to be skipped for Dependabot PRs — preventing unnecessary failures caused by the inaccessible REACT_ON_RAILS_PRO_LICENSE_V2 secret.

Key points:

  • The change is minimal, consistent, and correctly placed at the single fan-out gate job in each workflow.
  • workflow_dispatch continues to work as expected because github.actor will be the human who manually triggered it.
  • Push events to main from Dependabot will also be skipped — this is intentional since Dependabot can't supply the Pro license secret regardless of branch context.
  • The dependabot[bot] string (including the [bot] suffix) is the canonical GitHub bot actor identifier, so a human GitHub user with a similar username would not be affected.

Confidence Score: 5/5

  • This PR is safe to merge — the change is minimal, consistent across all three workflows, and uses the correct canonical bot actor identifier.
  • Each workflow has a single gate job (detect-changes) that all other jobs already need; placing the condition there propagates the skip to every downstream job automatically with no further changes required. The dependabot[bot] string is the correct GitHub-issued actor name for Dependabot automation. Manual workflow_dispatch triggers are unaffected. No existing logic for non-Dependabot actors is altered.
  • No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/pro-integration-tests.yml Adds if: github.actor != 'dependabot[bot]' to detect-changes; all downstream jobs inherit the skip via needs.
.github/workflows/pro-lint.yml Same Dependabot guard added to detect-changes; single downstream job pro-lint-js-and-ruby is automatically skipped.
.github/workflows/pro-test-package-and-gem.yml Same Dependabot guard added to detect-changes; downstream jobs build-dummy-app-webpack-test-bundles, package-js-tests, and rspec-gem-specs are automatically skipped.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Workflow triggered] --> B{Is Dependabot actor?}
    B -- Yes --> C[detect-changes: SKIPPED]
    C --> D[All downstream jobs: SKIPPED]
    B -- No --> E[detect-changes: RUN]
    E --> F{force_run or full-ci label?}
    F -- Yes --> G[All downstream jobs: RUN]
    F -- No --> H[ci-changes-detector script]
    H --> I{Relevant changes?}
    I -- Yes --> G
    I -- No --> J[Downstream jobs: SKIPPED]
Loading

Reviews (1): Last reviewed commit: "Skip Pro CI workflows for Dependabot PRs..." | Re-trigger Greptile

justin808 and others added 2 commits March 23, 2026 22:24
The previous condition `github.actor != 'dependabot[bot]'` would also
skip Pro CI on push-to-main when Dependabot merges via auto-merge or
`@dependabot merge`. Scope the check so push and workflow_dispatch
events always run Pro CI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace nested ternary expressions with if/else blocks in create-app.ts
and index.ts to satisfy the no-nested-ternary lint rule.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Comment thread .github/workflows/pro-integration-tests.yml
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 24, 2026

Review: Skip Pro CI for Dependabot PRs

Overall: LGTM with one readability nit and a structural note.

GitHub Actions changes ✅

The detect-changes gating approach is well-chosen. Since all downstream jobs declare needs: detect-changes, skipping that one job cascades the skip to the entire Pro workflow — clean and DRY. The condition correctly handles all three event triggers:

Event github.actor Result
pull_request from Dependabot dependabot[bot] skipped
pull_request from human anything else runs ✓
push to main (post-merge) merger/GitHub runs ✓
workflow_dispatch any runs ✓

One readability nit on the condition expression — see inline comment. Applies identically to all three workflow files.

TypeScript refactoring ✅ (but unrelated)

The proModeLabel / modeLabel refactors in create-app.ts and index.ts are functionally equivalent to the original nested ternaries — --rsc takes precedence over --pro in both the old and new code. No behavior change.

However, this refactoring is unrelated to the Dependabot CI fix. Bundling unrelated changes makes git blame and bisect noisier. Worth separating into a distinct commit (or PR) if you want a clean history.

No security concerns

The approach is sound: rather than trying to pass secrets to Dependabot PRs (which GitHub explicitly blocks), the entire Pro workflow is simply skipped. Post-merge push to main still validates the Pro suite with full secret access.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 24, 2026

Code Review - PR 2825

Overall: Ready to merge. The core change is correct and well-implemented.

GitHub Actions condition (3 workflow files)
The condition is:
if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]'

Logic verification:

  • Dependabot pull_request event: FALSE OR FALSE = job skipped (correct)
  • Human pull_request: FALSE OR TRUE = runs (correct)
  • push to main after Dependabot merge: TRUE = runs (correct)
  • workflow_dispatch: TRUE = runs (correct)

Note on PR description: The summary bullets describe the simpler
github.actor != 'dependabot[bot]' form (which would also suppress
push-to-main runs). The actual implementation uses the correctly-scoped
condition. Worth updating the description to avoid misleading future readers.

TypeScript changes (create-app.ts, index.ts)
Functionally equivalent refactors. The ternary
options.rsc ? ... : options.pro ? ... : '' is expanded to explicit
if/else with identical precedence (RSC over Pro). No behavioral change.
These changes are unrelated to the PR's stated purpose (Dependabot CI
skip), making this a mixed-scope PR. Not blocking, but worth noting for
changelog/bisect clarity.

Verified correct:

  • 'dependabot[bot]' is the correct canonical GitHub actor string
  • Condition applied consistently across all three Pro workflows
  • Downstream jobs declare needs: detect-changes, so the gate propagates correctly

detect-changes:
# Skip Dependabot PRs — they can't access the Pro license secret.
# Scoped to pull_request so push-to-main after merge still runs Pro CI.
if: github.event_name != 'pull_request' || github.actor != 'dependabot[bot]'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Condition logic is correct. The github.event_name != 'pull_request' guard is essential — without it, push events triggered when a Dependabot PR is merged into main would also be skipped, silently leaving Pro CI dark on main after every Dependabot merge.

The PR description summary still says if: github.actor != 'dependabot[bot]' (the simpler, broader form). Worth updating the description to match the actual condition so the scoping intent is clear to future readers.

Comment on lines +229 to +234
let proModeLabel: string | null = null;
if (options.rsc) {
proModeLabel = '--rsc';
} else if (options.pro) {
proModeLabel = '--pro';
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Functionally equivalent to the previous ternary — RSC still takes precedence over --pro, and proModeLabel remains null when neither flag is set (which can only happen when proRequested is also false, so the null is never reached in a live code path).

One observation: these changes are unrelated to the PR's Dependabot CI purpose. Bundling them here makes future git bisect and changelog attribution harder. Consider a separate commit or PR for readability changes.

@justin808
Copy link
Copy Markdown
Member Author

Re: the note about the TypeScript refactoring being unrelated — agreed they're separate concerns, and they're already in distinct commits (07735a248 for the ESLint fix vs 5bdbdd70f/8aadbffcf for the Dependabot CI change), so git blame/bisect will correctly attribute each change.

@justin808 justin808 merged commit d7e7a91 into main Mar 24, 2026
33 checks passed
@justin808 justin808 deleted the jg/2171-skip-pro-ci-dependabot branch March 24, 2026 08:37
@github-actions
Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size
react-on-rails/client bundled (gzip) 62.63 KB (0%)
react-on-rails/client bundled (gzip) (time) 62.63 KB (0%)
react-on-rails/client bundled (brotli) 53.7 KB (0%)
react-on-rails/client bundled (brotli) (time) 53.7 KB (0%)
react-on-rails-pro/client bundled (gzip) 63.65 KB (0%)
react-on-rails-pro/client bundled (gzip) (time) 63.65 KB (-0.01% 🔽)
react-on-rails-pro/client bundled (brotli) 54.67 KB (0%)
react-on-rails-pro/client bundled (brotli) (time) 54.67 KB (0%)
registerServerComponent/client bundled (gzip) 127.46 KB (0%)
registerServerComponent/client bundled (gzip) (time) 127.46 KB (0%)
registerServerComponent/client bundled (brotli) 61.65 KB (0%)
registerServerComponent/client bundled (brotli) (time) 61.65 KB (0%)
wrapServerComponentRenderer/client bundled (gzip) 122.02 KB (0%)
wrapServerComponentRenderer/client bundled (gzip) (time) 122.02 KB (0%)
wrapServerComponentRenderer/client bundled (brotli) 56.77 KB (0%)
wrapServerComponentRenderer/client bundled (brotli) (time) 56.77 KB (0%)

justin808 added a commit that referenced this pull request Mar 25, 2026
## Summary

- Stamp `### [16.5.0.rc.0]` version header with today's date
- Add 10 new changelog entries for PRs merged since v16.4.0
- Fix incomplete PR 2818 entry (missing author link)

### New entries added

**Added:**
- `create-react-on-rails-app --pro` support (PR 2818)
- Global prerender env override `REACT_ON_RAILS_PRERENDER_OVERRIDE` (PR
2816)
- `react_on_rails:sync_versions` rake task (PR 2797)
- Pro/RSC setup checks in `react_on_rails:doctor` (PR 2674)

**Changed:**
- [Pro] Canonical env var for worker count is now
`RENDERER_WORKERS_COUNT` (PR 2611)

**Improved:**
- Smoother `create-react-on-rails-app` and install generator flows (PR
2650)
- Pro upgrade hint after install (PR 2642)

**Fixed:**
- Preserve runtime env vars across `Bundler.with_unbundled_env` (PR
2836)
- Fix doctor prerender check and ExecJS display for Pro/RSC apps (PR
2773)
- Fix doctor false positives for custom layouts (PR 2612)

### Skipped PRs (not user-visible)

Docs-only: #2845, #2842, #2826, #2830, #2820, #2809, #2803, #2785,
#2801, #2791, #2789, #2788, #2772, #2778, #2780, #2784, #2671, #2676,
#2662, #2657, #2669
CI/internal tooling: #2825, #2817, #2819, #2812, #2815, #2810, #2808,
#2807, #2634, #2798, #2761, #2760, #2658, #2639, #2667, #2656

## Test plan

- [x] Verified version header and diff links are correct
- [x] Verified all entries follow changelog formatting conventions
- [x] Verified file ends with newline
- [ ] After merge, run `rake release` to publish 16.5.0.rc.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only change updating `CHANGELOG.md` with a new
`16.5.0.rc.0` section and compare links; no runtime code is modified.
> 
> **Overview**
> Adds a new `16.5.0.rc.0` (2026-03-25) section to `CHANGELOG.md`,
consolidating recent PR entries under **Added/Changed/Improved/Fixed**
and correcting the previously incomplete `--pro` CLI entry author
attribution.
> 
> Updates the bottom compare links so `[unreleased]` now compares from
`v16.5.0.rc.0` and adds a link definition for `[16.5.0.rc.0]`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
481a71c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes - v16.5.0.rc.0

* **New Features**
  * Added sync_versions task for streamlined version management
  * Expanded doctor checks for Pro and RSC support

* **Improvements**
  * Enhanced generator workflow and Pro upgrade guidance
  * Improved environment variable handling and preservation

* **Bug Fixes**
* Fixed detection issues with doctor tools and ExecJS/prerender
functionality

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
justin808 added a commit that referenced this pull request Mar 27, 2026
…olve-2835

* origin/main: (21 commits)
  docs: fix profiling node renderer command (#2863)
  generators: point Pro install fallback to upgrade guide (#2868)
  Add RSC Flight payload optimization guide (Article 7) (#2827)
  Migrate from deprecated Async::Variable to Async::Promise (#2832)
  docs: turn pro quick start into a gateway (#2862)
  Fix upload-assets endpoint duplicating bundles across directories (#2768)
  docs: fix stale docs links and help URLs (#2850)
  docs: replace dead pro.reactonrails.com links (#2851)
  docs: refresh generator and helper URLs (#2852)
  Add standalone RSC upgrade guide for existing Pro apps (#2831)
  Raise docs version floor to 16.4.0 in install/demo guidance (#2610)
  Fix release script: require changelog, fix RC version computation (#2848)
  Bump version to 16.5.0
  Bump version to 16.5.0.rc.0
  Update CHANGELOG.md for 16.5.0.rc.0 (#2847)
  Docs: add memory leak prevention guide for Node Renderer SSR (#2845)
  Docs: fix RSC migration gaps found during real-world migration (#2842)
  Add common mistakes sections to RSC migration guides (#2826)
  fix: preserve runtime env vars across Bundler.with_unbundled_env (#2836)
  Skip Pro CI workflows for Dependabot PRs (#2825)
  ...

# Conflicts:
#	CHANGELOG.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix CI failures for Dependabot PRs due to missing REACT_ON_RAILS_PRO_LICENSE secret

1 participant