-
Notifications
You must be signed in to change notification settings - Fork 35
Merge main and resolve conflicts in campaign objectives feature #7976
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+9
−2
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Initial plan * Add setup-activation action with dependencies Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Modify compiler to use setup-activation action with require() Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Update actions README and test recompile with inline mode Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Complete setup-activation action implementation Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Attach GitHub builtin objects to global before require() Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Infer action mode from binary version tag Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Add sparse checkout of actions folder in dev mode Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Replace Node.js file embedding with bash script in setup-safe-outputs action (#6921) * Merge main branch Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main branch (second merge) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main and recompile workflows Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main branch (fourth merge) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main branch (fifth merge) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main branch (sixth merge) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Rebuild setup-activation action with updated dependencies Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Convert setup-activation to shell script with no runtime dependencies Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Rebuild and recompile before merge * Merge main branch (seventh merge) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main, format, and recompile workflows (eighth merge) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main, format, lint, and recompile (ninth merge) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main, format, lint, and recompile (tenth merge) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Update dev.md to read issue and post poem in staged mode Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Add isRelease/IsDev helper methods and use them for action mode checks Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Recompile all workflows in dev mode with local action paths Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Add setup action to externalize all workflow job scripts Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Use script registry to dynamically discover all .cjs files for setup action Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Remove inline mode and externalize all scripts via setup-activation action Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Remove inline mode, default to dev mode with local action paths BREAKING CHANGE: Inline script mode has been removed. All workflows now use external actions to load scripts via require() calls. Default mode is now dev (local action paths) instead of inline. Release mode uses version tags, never dirty SHAs. - Removed ActionModeInline constant and all inline mode references - Updated DetectActionMode() to default to dev mode instead of inline - Updated compiler defaults to use ActionModeDev - Removed IsInline() helper method - Updated UsesExternalActions() to always return true - Fixed all test files to remove ActionModeInline references - Updated action_reference.go to remove inline mode handling - All 121 workflows recompiled successfully with dev mode Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Rename action from setup-activation to setup - Renamed actions/setup-activation directory to actions/setup - Updated all code references in pkg/cli/actions_build_command.go - Updated all code references in pkg/workflow/compiler_activation_jobs.go - Updated documentation in actions/README.md - Updated documentation in actions/setup/README.md - Rebuilt action with new name - Recompiled all 121 workflows successfully - All workflows now reference ./actions/setup instead of ./actions/setup-activation - Formatted and linted all code successfully Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Rename step from "Setup Activation Scripts" to "Setup Scripts" - Updated step name in pkg/workflow/compiler_activation_jobs.go (2 occurrences) - Recompiled all 121 workflows successfully - All workflows now show "Setup Scripts" instead of "Setup Activation Scripts" Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Convert conclusion and pre-activation jobs to use setup action with require() calls - Modified buildConclusionJob to add setup action at job start with checkout in dev mode - Updated buildGitHubScriptStepWithoutDownload to support require() via ScriptFile field - Added ScriptFile field to GitHubScriptStepConfig struct - Updated conclusion job scripts to use require(): noop.cjs, missing_tool.cjs, notify_comment_error.cjs - Updated unlock-issue step to use require() instead of inline script - Fixed DetectActionMode to treat "-dirty" version suffix as dev mode - Recompiled all 121 workflows successfully - All workflows now use ./actions/setup (local path) in dev mode - Checkout actions folder step present in both pre_activation and conclusion jobs - Formatted and linted all code successfully Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Convert agent and detection jobs to use setup action with require() calls - Modified buildMainJob to add setup action + sparse checkout at job start - Modified buildThreatDetectionSteps to add setup action + sparse checkout at job start - Both jobs now load scripts via setup action before executing - Agent job: Setup action added before repository checkout step - Detection job: Setup action added before artifact download steps - Formatted and linted all code successfully - Recompiled all 121 workflows successfully (121/121) - All workflows now use ./actions/setup (local path) in dev mode - Total: 737 jobs, 9320 steps, 3507 scripts (43.2 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Migrate upload_assets, cache_memory, and repo_memory jobs to use setup action - Modified buildUploadAssetsJob in publish_assets.go to add setup action at job start - Modified buildUpdateCacheMemoryJob in cache.go to add setup action at job start - Modified buildPushRepoMemoryJob in repo_memory.go to add setup action at job start - All three jobs now include sparse checkout + setup action in dev mode - Formatted and linted all code successfully - Recompiled all 121 workflows successfully (121/121) - All workflows now use ./actions/setup (local path) in dev mode - Total: 737 jobs, 9416 steps, 3507 scripts (43.4 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Stage lock file changes before merge * Merge main and recompile all workflows - Merged origin/main into branch - Resolved conflicts in .gitignore and dev.lock.yml - Rebuilt binary with latest main changes - Recompiled all 121 workflows successfully (121/121) - All workflows continue to use ./actions/setup (local path) in dev mode - Total: 737 jobs, 9416 steps, 3507 scripts (43.4 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Fix action mode detection to use local paths for dev builds - Updated DetectActionMode to require version to start with 'v' for release mode - Git SHAs (like b72a404) are now correctly detected as dev mode - Rebuilt binary and recompiled all 121 workflows successfully - All workflows now use ./actions/setup (local path) in dev mode - Verified 0 workflows use remote SHA references - Total: 737 jobs, 9416 steps, 3507 scripts (43.4 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main and recompile all workflows - Merged origin/main into branch - Resolved conflicts automatically in 7 lock files - Merged updates from main: version.go, header improvements, CLI updates - Rebuilt binary with latest main changes - Recompiled all 121 workflows successfully (121/121) - All workflows continue to use ./actions/setup (local path) in dev mode - Total: 737 jobs, 9510 steps, 3507 scripts (43.2 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Fix setup action to pass INPUT_DESTINATION in composite action - Modified actions/setup/action.yml to explicitly pass destination input as INPUT_DESTINATION env var - Composite actions don't automatically convert inputs to INPUT_* environment variables - This fixes the "Cannot find module '/tmp/gh-aw/actions/activation/noop.cjs'" error in conclusion job - Setup action now correctly receives the destination path and creates files in /tmp/gh-aw/actions/activation/ - Recompiled all 121 workflows successfully with the fix - Formatted and linted all code successfully - Total: 737 jobs, 9510 steps, 3507 scripts (43.2 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Change setup action destination to /tmp/gh-aw/actions/ and add constant - Added SetupActionDestination constant in bundler_file_mode.go - Changed destination from /tmp/gh-aw/actions/activation to /tmp/gh-aw/actions - Updated all references to use the constant instead of hardcoded strings - Updated action.yml default value to match new path - Files modified: - pkg/workflow/bundler_file_mode.go (added constant) - pkg/workflow/cache.go - pkg/workflow/compiler_activation_jobs.go - pkg/workflow/notify_comment.go - pkg/workflow/publish_assets.go - pkg/workflow/repo_memory.go - pkg/workflow/safe_outputs_steps.go - pkg/workflow/threat_detection.go - actions/setup/action.yml - Recompiled all 121 workflows successfully (121/121) - All workflows now use /tmp/gh-aw/actions as destination - All require() statements updated to use new path - Total: 737 jobs, 9510 steps, 3507 scripts (43.2 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Add missing scripts to GetJavaScriptSources and setup action - Added 35 missing scripts from scripts.go to GetJavaScriptSources() map in js.go - Added noop.cjs, unlock-issue.cjs, missing_tool.cjs, and notify_comment_error.cjs to setup.sh - Fixed "Cannot find module '/tmp/gh-aw/actions/noop.cjs'" error in conclusion job - Setup action now embeds 117 scripts instead of 82 - Setup.sh now contains 15 essential scripts including all conclusion job dependencies - All 121 workflows compiled successfully (121/121) - Total: 737 jobs, 9510 steps, 3507 scripts (43.2 MB) - Verified 117 workflows use noop.cjs via require() calls Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Fix noop.cjs to use absolute path for load_agent_output require - Changed require("./load_agent_output.cjs") to require("/tmp/gh-aw/actions/load_agent_output.cjs") - Fixes "Cannot find module" error when noop.cjs is loaded via require() from workflows - Relative requires don't work when script is executed from a different directory - All 121 workflows compiled successfully (121/121) - Verified noop.cjs now correctly requires load_agent_output.cjs from setup action destination - Total: 737 jobs, 9510 steps, 3507 scripts (43.2 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Export main function from scripts instead of calling it directly - Modified noop.cjs, unlock-issue.cjs, missing_tool.cjs, and notify_comment_error.cjs to export main function via module.exports - Updated safe_outputs_steps.go to require() and await the exported main function - Updated notify_comment.go to use the same pattern for unlock-issue.cjs - Scripts no longer execute immediately when required - calling code controls execution - All 121 workflows compiled successfully (121/121) - Formatted and linted all code successfully - Total: 737 jobs, 9510 steps, 3507 scripts (43.2 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Fix noop.cjs embedded in setup.sh to use absolute path - Updated actions/setup/setup.sh to use absolute path for load_agent_output require - Changed require("./load_agent_output.cjs") to require("/tmp/gh-aw/actions/load_agent_output.cjs") - Source file pkg/workflow/js/noop.cjs already has correct absolute path - Source file correctly exports { main } without calling it - This fixes the require path mismatch in the embedded shell script - All linting passed successfully Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Refactor setup action to copy files instead of embedding them - Modified buildSetupAction() to copy JavaScript files to js/ directory instead of embedding in setup.sh - Rewrote setup.sh to copy files from js/ to destination using bash commands - Setup action now uses same pattern as setup-safe-outputs action - JavaScript files (117 .cjs files) are built into actions/setup/js/ by make actions-build - Setup.sh uses simple cp commands to copy files at runtime - No more here-documents (EOF markers) embedding full file contents - Added actions/setup/js/ to .gitignore as it's a build artifact - All 121 workflows compile successfully - Formatted and linted all code successfully Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Commit actions/setup/js/ directory to fix sparse checkout workflows (#7389) * Convert safe_outputs job to use setup action and require mode (#7391) * Merge main and recompile all workflows - Successfully merged latest changes from origin/main - Resolved conflicts in campaign-manager.lock.yml and go-file-size-reduction-project64.campaign.g.lock.yml - Rebuilt binary with latest version - Rebuilt all actions with make actions-build (117 scripts copied to setup action) - Recompiled all 121 workflows successfully (121/121) - Validated lock file format - all workflows properly formatted - Total: 737 jobs, 9624 steps, 3393 scripts (36.3 MB) - All workflows use local action path ./actions/setup in dev mode - Lock files contain proper YAML structure and formatting Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Fix invalid runner ubuntu-slim to ubuntu-latest - Changed DefaultActivationJobRunnerImage constant from "ubuntu-slim" to "ubuntu-latest" - ubuntu-slim is not a valid GitHub Actions runner type - Fixed dev.lock.yml and all other workflows using activation jobs - Recompiled all 121 workflows successfully (121/121) - Validated dev.lock.yml is valid YAML and valid GitHub Actions workflow - All workflows now use ubuntu-latest for activation/pre-activation jobs - Total: 737 jobs, 9624 steps, 3393 scripts (36.3 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Fix setup action reference in safe_outputs jobs - Fixed resolveActionReference calls to use "./actions/setup" instead of "actions/setup" - The missing "./" prefix caused GitHub Actions to reject the workflow (invalid action format) - Updated both occurrences in compiler_safe_outputs_core.go (lines 65 and 392) - Reverted ubuntu-slim runner as it is actually valid (was not the issue) - All 121 workflows recompiled successfully (121/121) - Validated dev.lock.yml with actionlint - no errors - Total: 737 jobs, 9624 steps, 3393 scripts (36.3 MB) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main and recompile all workflows - Successfully merged latest changes from origin/main - Resolved conflict in .gitignore (combined both branches' additions) - Rebuilt binary with latest version (641c9d1) - Rebuilt all actions with make actions-build (117 scripts in setup action) - Recompiled all 123 workflows successfully (123/123) - Total: 747 jobs, 9763 steps, 3444 scripts (36.8 MB) - All workflows use local action path ./actions/setup in dev mode - Setup action properly configured with file copying pattern Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Export main from safe output scripts instead of auto-executing (#7409) * Initial plan * Export main from safe output scripts and update tests - Changed all safe output scripts to export main instead of executing it - Updated test files to call main() explicitly after importing/evaluating - Fixed context global exposure (already present in compiler) - Updated 24 script files and their corresponding tests Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Fix remaining test failures for safe output script changes - Updated create_pull_request.test.cjs to handle module.exports pattern - Updated missing_tool.test.cjs to provide mock module object - Updated push_to_pull_request_branch.test.cjs assertion - Fixed add_reaction_and_edit_comment.cjs to export main Test results improved from 65 failures to 15 failures Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Complete safe output script export changes with recompiled workflows - All safe output scripts now export main instead of executing it - Recompiled all workflow lock files with updated scripts - Updated tests to handle new module.exports pattern - Context object already available in global scope (compiler line 519) The scripts are now ready to be called from github-script with await main() Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Fix add_comment.cjs to use absolute paths for require statements - Changed relative requires (./file.cjs) to absolute paths (/tmp/gh-aw/actions/file.cjs) - Updated 5 require statements: load_agent_output, messages_footer, get_repository_url, temporary_id, get_tracker_id - add_comment.cjs already exports main function correctly (no changes needed to export pattern) - Relative requires fail when script is loaded via require() from different directory - Rebuilt actions with make actions-build (117 scripts in setup action) - Rebuilt binary with latest changes - Recompiled all 123 workflows successfully (123/123) - Total: 747 jobs, 9763 steps, 3444 scripts (36.8 MB) - All workflows use local action path ./actions/setup in dev mode Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Merge main, format, lint, and recompile all workflows - Successfully merged origin/main (resolved conflict in playground-org-project-update-issue.lock.yml) - Formatted all code with make fmt (all files unchanged) - Linted all code with make lint (0 issues, all validations passed) - Rebuilt binary with latest changes (version 340474d-dirty) - Rebuilt all actions with make actions-build (117 scripts in setup action) - Recompiled all 123 workflows successfully (123/123) - Total: 747 jobs, 9767 steps, 3446 scripts (36.8 MB) - All workflows use local action path ./actions/setup in dev mode - Note: Some workflow tests need updates for new require() pattern (expected breaking change from inline mode removal) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> Co-authored-by: Peli de Halleux <pelikhan@users.noreply.github.com>
… module pattern (#7460)
…r top-level .cjs files (#7461)
…missions_shortcut_included_test.go
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Contributor
Author
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Copilot
AI
changed the title
[WIP] Add support for campaign objectives and KPIs
Merge main and resolve conflicts in campaign objectives feature
Dec 28, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merged main branch into campaign-delegation feature branch and resolved conflicts in campaign mode validation logic.
Conflicts Resolved
actions/setup/js/push_repo_memory.cjs: Preserved campaign mode enforcement (cursor.json and metrics snapshot validation) while integrating base implementation changes from mainpkg/workflow/permissions_shortcut_included_test.go: Resolved struct field alignment conflicts in test definitionsCampaign Mode Logic Preserved
The merge retains campaign-specific validation that enforces:
cursor.jsonfile with optional campaign_id and date metadata{campaign_id}/metrics/*.jsonWorkflows Recompiled
All 126 workflows successfully recompiled with merged changes.
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.