workflow: don't exit on Linux runners; set SHOULD_CONTINUE env var instead - #3
Conversation
|
Mention Blocks like a regular teammate with your question or request: @blocks review this pull request Powered by Blocks | 📚 Documentation | ⚙️ Toggle this message 💡 Run |
…stead Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
Co-authored-by: robertpelloni <673434+robertpelloni@users.noreply.github.com>
fab0ea2
into
copilot/evaluate-software-stack
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a GitHub Actions workflow for the Copilot SWE Agent that runs on workflow dispatch or pushes to the copilot/evaluate-software-stack branch. The workflow includes OS detection logic and conditional execution based on platform support.
- Adds a new GitHub Actions workflow file for Copilot SWE Agent
- Implements cross-platform OS detection with support for Linux, Windows, and macOS
- Sets up conditional execution using environment variables to skip unsupported platforms
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| on: | ||
| workflow_dispatch: | ||
| push: | ||
| branches: | ||
| - copilot/evaluate-software-stack |
There was a problem hiding this comment.
The workflow trigger configuration is missing proper indentation. The workflow_dispatch should be on the same level as push, but both should be properties of the on key. Currently, this may cause the workflow to fail parsing.
| echo "SHOULD_CONTINUE=true" >> "$GITHUB_ENV" | ||
| echo "Runner OS is Linux — continuing." | ||
| ;; | ||
| Windows|Windows_NT|MINGW*|CYGWIN*|msys*) |
There was a problem hiding this comment.
The case pattern uses wildcards (MINGW*, msys*) which work in shell case statements, but RUNNER_OS on Windows runners is always set to exactly 'Windows'. The additional patterns like MINGW*, CYGWIN*, and msys* will never match the GitHub-provided RUNNER_OS value and are unnecessary. Consider simplifying to just Windows.
| Windows|Windows_NT|MINGW*|CYGWIN*|msys*) | |
| Windows|Windows_NT) |
| echo "SHOULD_CONTINUE=true" >> "$GITHUB_ENV" | ||
| echo "Runner OS is Windows — continuing." | ||
| ;; | ||
| Darwin|Mac|macOS) |
There was a problem hiding this comment.
The case pattern includes multiple variations (Darwin|Mac|macOS), but GitHub Actions sets RUNNER_OS to exactly 'macOS' for macOS runners. The patterns Darwin and Mac will never match the GitHub-provided RUNNER_OS value. Consider simplifying to just macOS.
| Darwin|Mac|macOS) | |
| Darwin|macOS) |
| fi | ||
|
|
||
| case "$RUNNER_OS" in | ||
| Linux|linux) |
There was a problem hiding this comment.
The case pattern includes both Linux and linux, but GitHub Actions sets RUNNER_OS to exactly 'Linux' (capitalized). The lowercase linux pattern will never match the GitHub-provided RUNNER_OS value and is unnecessary.
| Linux|linux) | |
| Linux) |
- 27 submodule pointers updated - 24+ Pull Requests merged across workspace - 2 upstream merges: bobeditpro (2), ksm-v2 (34) - 2 submodules committed: jules-autopilot, ksm-v2 Feature PRs merged: - MarbleBlast #2: Gamepad bug fix + TypeScript strict typing - agentirc #5: /add-model integration tests - auto_dj_script #3: Interactive Tempo Ramping + BPM fix (+1025/-289) - bobcoin #21: Fix CalculateHash + #20 dependabot npm - bobeditpro #3: Comprehensive Documentation & DSP Scaffolding (+3967/-17) - bobeditpro #4: Track panel width constant + documentation audit - bobgui #2: Initialize bobtk Go port + 6-pillar framework - bobmani/ksm-v2 #2: Filter sort backend - bobmani/pianogame #1: Audit project + refactor playing state - bobtorrent #8: Pub/Sub tracking with WebUI Dashboard - bobui #11: Port OmniSynthesizer to pure Go - bobbybookmarks #5: dependabot go_modules bump - dupeguru #1: Project audit, docs, hscommon type hints - f-zerox #7: Basic directional lighting - fwber #33: ActivityPub models and endpoints - hyperharness #7: dependabot go_modules bump - litellm #1: Prometheus Budget Metrics Implementation - mk64 #3: Update bobcoin submodule + audit updates - native-fy #1: Initial Project Audit and Scaffolding - onetool-mcp #1: Linux clipboard support for ot_image - pi-mono #5: Plannotator Implementation - planet_fitness_stepmaniax_agent #2: dependabot requests bump - realestatecrm #8: Activity type selector + Next.js 15 fix - realestatecrm #9: Consolidate RAG logic - skillzhub #7: Reputation Score Loop and Lint Fixes - slsk_discography_downloader_script #1: Dynamic version + dotenv - sm64coopdx #3: Implement Guild Bank and Storage - supersaber #3: Audio Waveform Extractor + Audit Cleanups - tabby #3: AI Chat functionality + Go backend bugfixes
- 3 submodule pointers updated - 1 upstream merge: ksm-v2 (34) - 2 reverse-syncs: bobeditpro feature branches (3 each) - 4 submodules committed Key changes: - auto_dj_script: core.py + dsp.py improvements (+83/-25) - hymnmania: edge_extractor.py NEW feature (+93/-4), Udio API refinements - slsk: main.py fix (+1) - Closed stale PRs: hymnmania #12, bobeditpro #3/#4, ksm-v2 #2
The workflow was forcibly exiting on Linux runners with
exit 1, preventing execution on GitHub's standard runner environment.Changes
RUNNER_OSenv var withunamefallbackSHOULD_CONTINUE=truefor Linux/Windows/macOS,falsefor unknown OSexit 1calls; workflow continues regardless of OSif: env.SHOULD_CONTINUE == 'true'guards for downstream stepsSubsequent steps can now check
SHOULD_CONTINUEto proceed or skip as needed.Original prompt
This pull request was created as a result of the following prompt from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
Note
Introduce a GitHub Actions workflow that detects runner OS, sets
SHOULD_CONTINUE, and conditionally runs the Copilot SWE Agent.dynamic/copilot-swe-agent/copilotGitHub Actions workflow to run Copilot SWE Agent.RUNNER_OS(fallback touname); setSHOULD_CONTINUE=trueforLinux,Windows,macOS, elsefalse.if: env.SHOULD_CONTINUE == 'true'.Written by Cursor Bugbot for commit 2f28e52. This will update automatically on new commits. Configure here.