-
Notifications
You must be signed in to change notification settings - Fork 28
Add support for full GitHub actions specification in jobs field and automatic job dependencies #3451
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
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot keep working |
…port Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Implementation completed in e8adda7. The jobs field now supports the full GitHub Actions step specification including all standard properties: id, if, name, uses, run, with, env, continue-on-error, timeout-minutes, working-directory, and shell. Schema validation enforces proper step structure (requires either uses or run). All tests pass including comprehensive new tests for step property validation. |
|
@copilot update the super-linter agentic workflow: move the steps in the front matter into a job (super_linter) and add a needs dependency to the agent job as 'super_linter'. The super_linter job should upload the super-linter logs as an artifact (super-linter.log) and the agent should download the super-linter.log artifacts. |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot keep working |
|
@copilot keep working |
- Modified buildMainJob to automatically add custom job names to agent job dependencies - Agent job now waits for all custom jobs defined in frontmatter before executing - Updated super-linter-report workflow to demonstrate the feature Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Completed in aa73e19. The super-linter workflow has been updated:
The implementation adds automatic dependency management: the agent job now automatically waits for all custom jobs defined in the frontmatter before executing. |
|
@copilot Merge main |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds complete GitHub Actions step specification support to the jobs field in workflow frontmatter and introduces automatic job dependency management. Users can now define custom jobs using all standard GitHub Actions step properties, and the agent job automatically waits for custom jobs to complete before executing.
Key changes:
- Enhanced step schema to support all GitHub Actions step properties with proper validation
- Added automatic dependency injection so custom jobs run before the agent job
- Refactored super-linter workflow to use a custom job that runs before the agent
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pkg/parser/schemas/main_workflow_schema.json | Replaced restrictive step schema with complete GitHub Actions specification including all standard properties |
| pkg/workflow/compiler_jobs.go | Added logic to automatically make agent job depend on custom jobs |
| pkg/workflow/jobs_full_spec_test.go | Added comprehensive tests for full step specification and validation |
| .github/workflows/super-linter-report.md | Refactored to demonstrate custom job pattern with super_linter job |
| .github/workflows/super-linter-report.lock.yml | Generated workflow reflecting custom job dependencies |
| docs/src/content/docs/status.mdx | Added super-linter-report workflow to status page |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…om/githubnext/gh-aw into copilot/add-github-actions-support
Add Full GitHub Actions Step Specification Support to Jobs Field
This PR adds complete GitHub Actions step specification support to the
jobsfield in workflow frontmatter, allowing users to utilize all standard step properties when defining custom jobs. It also introduces automatic job dependency management for the agent job.Changes Made
Schema Updates (
pkg/parser/schemas/main_workflow_schema.json):id,if,name,uses,run,with,env,continue-on-error,timeout-minutes,working-directory,shelloneOfconstraint to ensure steps have eitherusesorrun(but not both or neither)Test Coverage (
pkg/workflow/jobs_full_spec_test.go):Compiler Enhancement (
pkg/workflow/compiler_jobs.go):buildMainJobto automatically add custom job names as dependenciesSuper-Linter Workflow Update (
.github/workflows/super-linter-report.md):super_linterjobsuper_linterjob completionMain Branch Merge:
Problem Solved
Previously, the
jobsfield defined steps with a restrictive schema:This prevented users from:
id,env,timeout-minutes, etc.Now users can:
Testing
The implementation allows users to use the full GitHub Actions step specification in their custom jobs with proper validation and support for all standard properties, plus automatic job dependency management.
Original prompt
💡 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.