You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We can't get safe-settings to run in dry-run (nop?) mode when evaluating pull requests on topic branch, run via GitHub actions. It always enforces the rules for both github triggers pull_request and push from main branch even though on topic branch.
Are we missing a setting?
We are on rc version 2.1.15-rc.1, feel free to discard this issue if we are reporting it premature. We are ready to wait for future versions, I just wanted to report this back. Great work by the way! 👍
What is actually happening
We see that the settings evaluated are not from the topic branch (they are from main branch) and that the debug statements display that it is not run in nop mode. Any changes are enforced from main branch even though it's evaluation intended.
It's as if it doesn't recognize that it should be run in dry-run (nop) mode and picks up the topic branch name.
What is the expected behavior
That when run with event trigger is pull_request that the settings evaluated will be from the topic branch (not main branch) and that the changes on topic branch ARE NOT enforced, just gets output on the PR.
Error output, if available
The log from full-sync.js when evaluating a pull request with LOG_LEVEL: debug displays that
a) The GET statement doesn't invoke the GitHub api for topic branch, but just main branch. I would expect that it tried to look the file from ?ref=topic-branch or something like that
DEBUG (github): GitHub request: GET https://api.github.com/repos/OurOrg/our-repo/contents/safe-settings%2Frepos%test-repo.yml - 200
b) The output from probat displays it's not run in nop:
DEBUG (probot): Not run in nop
Context
Running on GitHub Enterprise. Running safe-settings via GitHub Action. Run with pull_request trigger.
on:
# PR - Pull request triggerpull_request:
Run with settings mentioned in example file. Almost as example. The admin repo has a custom name.
SAFE_SETTINGS_VERSION: 2.1.15-rc.1
...
- run: npm run full-syncworking-directory: ${{env.SAFE_SETTINGS_CODE_DIR}}env:
# Configuration files placed in safe-settings-folder in the ADMIN_REPOADMIN_REPO: our-admin-repoCONFIG_PATH: safe-settingsSETTINGS_PATH: ${{github.workspace}}/safe-settings/settings.ymlDEPLOYMENT_CONFIG_FILE: ${{github.workspace}}/safe-settings/deployment-settings.yml# GitHub App settingsGH_ORG: ${{vars.SAFE_SETTINGS_GH_ORG}}APP_ID: ${{vars.SAFE_SETTINGS_APP_ID}}PRIVATE_KEY: ${{secrets.SAFE_SETTINGS_PRIVATE_KEY}}GITHUB_CLIENT_ID: ${{vars.SAFE_SETTINGS_GITHUB_CLIENT_ID}}GITHUB_CLIENT_SECRET: ${{secrets.SAFE_SETTINGS_GITHUB_CLIENT_SECRET}}# LoggingLOG_LEVEL: debug # info, trace, debug
The text was updated successfully, but these errors were encountered:
Regarding the issue where safe-settings doesn't execute in nop (dry-run) mode (when running full-sync), you can track the progress through these links:
@decyjphr - Regarding the issue with the full-sync script always evaluating settings from the default branch:
I'd be happy to contribute to fixing this. We can we start by creating a dedicated issue to discuss the implementation details, since we currently can't retrieve the context in the same way as with event handlers.
My initial proposal would be to add a new environment variable called FULL_SYNC_GIT_REF (defaulting to the default branch). This could be easily configured in CI environments.
@sumokadet - Would adding an environment variable to specify which ref to use for settings meet your needs?
Note: This change would also require addressing the nop mode in full-sync (related to #733).
Please let me know your thoughts on this approach.
P.S. @decyjphr - I realize I might be tagging you too frequently. Please let me know if this is bothersome - I'm still learning how best to collaborate in open source and want to be respectful of everyone's notifications.
Problem Description
We can't get safe-settings to run in dry-run (nop?) mode when evaluating pull requests on topic branch, run via GitHub actions. It always enforces the rules for both github triggers
pull_request
andpush
from main branch even though on topic branch.Are we missing a setting?
We are on rc version
2.1.15-rc.1
, feel free to discard this issue if we are reporting it premature. We are ready to wait for future versions, I just wanted to report this back. Great work by the way! 👍What is actually happening
We see that the settings evaluated are not from the topic branch (they are from main branch) and that the debug statements display that it is not run in nop mode. Any changes are enforced from main branch even though it's evaluation intended.
It's as if it doesn't recognize that it should be run in dry-run (nop) mode and picks up the topic branch name.
What is the expected behavior
That when run with event trigger is
pull_request
that the settings evaluated will be from the topic branch (not main branch) and that the changes on topic branch ARE NOT enforced, just gets output on the PR.Error output, if available
The log from full-sync.js when evaluating a pull request with
LOG_LEVEL: debug
displays thata) The GET statement doesn't invoke the GitHub api for topic branch, but just main branch. I would expect that it tried to look the file from
?ref=topic-branch
or something like thatb) The output from probat displays it's not run in nop:
Context
Running on GitHub Enterprise. Running safe-settings via GitHub Action. Run with pull_request trigger.
Run with settings mentioned in example file. Almost as example. The admin repo has a custom name.
The text was updated successfully, but these errors were encountered: