Skip to content

Commit ec38a73

Browse files
Merge dotnet/java-interop history under external/Java.Interop
Brings the full history of https://github.com/dotnet/java-interop into dotnet/android under external/Java.Interop/, replacing the previous git submodule. All original commits are preserved with their original author, committer, author-date, committer-date, and message. Paths were rewritten using `git filter-repo --to-subdirectory-filter external/Java.Interop`. History is rewound to the SHA previously pinned in the submodule (dotnet/java-interop@70493645) -- the rewritten equivalent 748e962 -- so this PR mirrors exactly what was in-tree before, with no behavioral change. Newer java-interop commits can be brought in via a follow-up.
2 parents e7284da + 748e962 commit ec38a73

1,688 files changed

Lines changed: 2284286 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet
3+
{
4+
"name": "Linux Universal Image",
5+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6+
"image": "mcr.microsoft.com/devcontainers/universal:2-linux"
7+
8+
// Features to add to the dev container. More info: https://containers.dev/features.
9+
, "features": {
10+
"ghcr.io/devcontainers/features/java:1": {
11+
"version": "17",
12+
"jdkDistro": "ms"
13+
}
14+
}
15+
16+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
17+
// "forwardPorts": [5000, 5001],
18+
// "portsAttributes": {
19+
// "5001": {
20+
// "protocol": "https"
21+
// }
22+
// }
23+
24+
// Use 'postCreateCommand' to run commands after the container is created.
25+
// Have GitHub Codespaces checkout all submodules
26+
// https://github.com/orgs/community/discussions/25429
27+
, "postCreateCommand": "git submodule update --init --recursive"
28+
29+
// Configure tool-specific properties.
30+
// "customizations": {},
31+
32+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
33+
// "remoteUser": "root"
34+
}

external/Java.Interop/.editorconfig

Lines changed: 500 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# NOTE: this file is for git 1.6.6 (and possibly older)
2+
# Post-1.7.2 there is eol and text, and crlf is deprecated
3+
# but we can't depend on an unreleased version...
4+
5+
# This file mainly controls line ending conversion behaviour, if
6+
# the user has the setting core.autocrlf true.
7+
8+
# The meaning of the attributes is a little odd
9+
# -crlf means DO NOT convert line endings
10+
# crlf means CONVERT to lf in the repo & Linux/Mac, crlf on Windows
11+
12+
# sln is always CRLF, even on linux, so don't convert
13+
*.sln eol=crlf
14+
*.bat eol=crlf
15+
*.cmd eol=crlf
16+
*.rtf eol=crlf
17+
18+
# Mostly generated by VS, so avoid extra noise
19+
*.Designer.cs eol=crlf
20+
21+
*.cs text
22+
*.resx text
23+
*.xlf text
24+
*.xml text
25+
*.md text
26+
Makefile eol=lf
27+
*.targets eol=crlf
28+
*.proj eol=crlf
29+
*.vcproj eol=crlf
30+
*.vcxproj eol=crlf
31+
*.csproj eol=crlf
32+
*.shproj eol=crlf
33+
*.projitems eol=crlf
34+
*.tpnitems eol=crlf
35+
*.wixproj eol=crlf
36+
*.wxs eol=crlf
37+
*.rtf eol=crlf
38+
39+
# Gradle wrapper must stay LF on all platforms (executed under Bash on Unix)
40+
gradlew eol=lf
41+
*.properties eol=lf
42+
*.kt eol=lf
43+
*.kts eol=lf
44+
45+
.github/workflows/*.lock.yml linguist-generated=true merge=ours
Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
---
2+
name: Agentic Workflows
3+
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing.
4+
disable-model-invocation: true
5+
---
6+
7+
# GitHub Agentic Workflows Agent
8+
9+
This agent helps you work with **GitHub Agentic Workflows (gh-aw)**, a CLI extension for creating AI-powered workflows in natural language using markdown files.
10+
11+
## What This Agent Does
12+
13+
This is a **dispatcher agent** that routes your request to the appropriate specialized prompt based on your task:
14+
15+
- **Creating new workflows**: Routes to `create` prompt
16+
- **Updating existing workflows**: Routes to `update` prompt
17+
- **Debugging workflows**: Routes to `debug` prompt
18+
- **Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
19+
- **Creating report-generating workflows**: Routes to `report` prompt — consult this whenever the workflow posts status updates, audits, analyses, or any structured output as issues, discussions, or comments
20+
- **Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
21+
- **Fixing Dependabot PRs**: Routes to `dependabot` prompt — use this when Dependabot opens PRs that modify generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`). Never merge those PRs directly; instead update the source `.md` files and rerun `gh aw compile --dependabot` to bundle all fixes
22+
- **Analyzing test coverage**: Routes to `test-coverage` prompt — consult this whenever the workflow reads, analyzes, or reports on test coverage data from PRs or CI runs
23+
- **Rendering ASCII charts in markdown**: Routes to `asciicharts` guide — consult this whenever the workflow needs compact charts that render reliably in GitHub issues, comments, or discussions
24+
- **CLI commands and triggering workflows**: Routes to `cli-commands` guide — consult this whenever the user asks how to run, compile, debug, or manage workflows from the command line, or when they need the MCP tool equivalent of a `gh aw` command
25+
- **Reducing token consumption / cost optimization**: Routes to `token-optimization` guide — consult this whenever the user asks how to reduce token usage, lower costs, speed up workflows, or measure the impact of prompt changes with experiments
26+
- **Choosing workflow architectures and design patterns**: Routes to `patterns` guide — consult this whenever the user asks for strategy, architecture, operating models, or pattern selection for agentic workflows
27+
28+
Workflows may optionally include:
29+
30+
- **Project tracking / monitoring** (GitHub Projects updates, status reporting)
31+
- **Orchestration / coordination** (one workflow assigning agents or dispatching and coordinating other workflows)
32+
33+
## Files This Applies To
34+
35+
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
36+
- Workflow lock files: `.github/workflows/*.lock.yml`
37+
- Shared components: `.github/workflows/shared/*.md`
38+
- Configuration: `.github/aw/github-agentic-workflows.md`
39+
40+
## Problems This Solves
41+
42+
- **Workflow Creation**: Design secure, validated agentic workflows with proper triggers, tools, and permissions
43+
- **Workflow Debugging**: Analyze logs, identify missing tools, investigate failures, and fix configuration issues
44+
- **Version Upgrades**: Migrate workflows to new gh-aw versions, apply codemods, fix breaking changes
45+
- **Component Design**: Create reusable shared workflow components that wrap MCP servers
46+
47+
## How to Use
48+
49+
When you interact with this agent, it will:
50+
51+
1. **Understand your intent** - Determine what kind of task you're trying to accomplish
52+
2. **Route to the right prompt** - Load the specialized prompt file for your task
53+
3. **Execute the task** - Follow the detailed instructions in the loaded prompt
54+
55+
## Available Prompts
56+
57+
### Create New Workflow
58+
**Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet
59+
60+
**Prompt file**: `.github/aw/create-agentic-workflow.md`
61+
62+
**Use cases**:
63+
- "Create a workflow that triages issues"
64+
- "I need a workflow to label pull requests"
65+
- "Design a weekly research automation"
66+
67+
### Update Existing Workflow
68+
**Load when**: User wants to modify, improve, or refactor an existing workflow
69+
70+
**Prompt file**: `.github/aw/update-agentic-workflow.md`
71+
72+
**Use cases**:
73+
- "Add web-fetch tool to the issue-classifier workflow"
74+
- "Update the PR reviewer to use discussions instead of issues"
75+
- "Improve the prompt for the weekly-research workflow"
76+
77+
### Debug Workflow
78+
**Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors
79+
80+
**Prompt file**: `.github/aw/debug-agentic-workflow.md`
81+
82+
**Use cases**:
83+
- "Why is this workflow failing?"
84+
- "Analyze the logs for workflow X"
85+
- "Investigate missing tool calls in run #12345"
86+
87+
### Upgrade Agentic Workflows
88+
**Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations
89+
90+
**Prompt file**: `.github/aw/upgrade-agentic-workflows.md`
91+
92+
**Use cases**:
93+
- "Upgrade all workflows to the latest version"
94+
- "Fix deprecated fields in workflows"
95+
- "Apply breaking changes from the new release"
96+
97+
### Create a Report-Generating Workflow
98+
**Load when**: The workflow being created or updated produces reports — recurring status updates, audit summaries, analyses, or any structured output posted as a GitHub issue, discussion, or comment
99+
100+
**Prompt file**: `.github/aw/report.md`
101+
102+
**Use cases**:
103+
- "Create a weekly CI health report"
104+
- "Post a daily security audit to Discussions"
105+
- "Add a status update comment to open PRs"
106+
107+
### Create Shared Agentic Workflow
108+
**Load when**: User wants to create a reusable workflow component or wrap an MCP server
109+
110+
**Prompt file**: `.github/aw/create-shared-agentic-workflow.md`
111+
112+
**Use cases**:
113+
- "Create a shared component for Notion integration"
114+
- "Wrap the Slack MCP server as a reusable component"
115+
- "Design a shared workflow for database queries"
116+
117+
### Fix Dependabot PRs
118+
**Load when**: User needs to close or fix open Dependabot PRs that update dependencies in generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`)
119+
120+
**Prompt file**: `.github/aw/dependabot.md`
121+
122+
**Use cases**:
123+
- "Fix the open Dependabot PRs for npm dependencies"
124+
- "Bundle and close the Dependabot PRs for workflow dependencies"
125+
- "Update @playwright/test to fix the Dependabot PR"
126+
127+
### Analyze Test Coverage
128+
**Load when**: The workflow reads, analyzes, or reports test coverage — whether triggered by a PR, a schedule, or a slash command. Always consult this prompt before designing the coverage data strategy.
129+
130+
**Prompt file**: `.github/aw/test-coverage.md`
131+
132+
**Use cases**:
133+
- "Create a workflow that comments coverage on PRs"
134+
- "Analyze coverage trends over time"
135+
- "Add a coverage gate that blocks PRs below a threshold"
136+
137+
### CLI Commands Reference
138+
**Load when**: The user asks how to run, compile, debug, or manage workflows from the command line; needs the MCP tool equivalent of a `gh aw` command; or is in a restricted environment (e.g., Copilot Cloud) without direct CLI access.
139+
140+
**Reference file**: `.github/aw/cli-commands.md`
141+
142+
**Use cases**:
143+
- "How do I trigger workflow X on the main branch?"
144+
- "What's the MCP equivalent of `gh aw logs`?"
145+
- "I'm in Copilot Cloud — how do I compile a workflow?"
146+
- "Show me all available gh aw commands"
147+
148+
### Token Consumption Optimization
149+
**Load when**: The user asks how to reduce token usage, lower workflow costs, make a workflow faster or cheaper, or measure the impact of prompt or configuration changes.
150+
151+
**Reference file**: `.github/aw/token-optimization.md`
152+
153+
**Use cases**:
154+
- "How do I reduce the token cost of this workflow?"
155+
- "My workflow is too expensive — how do I optimize it?"
156+
- "How do I compare token usage between two runs?"
157+
- "Should I use gh-proxy or the MCP server?"
158+
- "How do I use sub-agents to reduce costs?"
159+
- "How do I measure the impact of a prompt change?"
160+
161+
### Workflow Pattern Selection
162+
**Load when**: The user asks for architecture, strategy, operating model selection, or pattern recommendations for building agentic workflows.
163+
164+
**Reference file**: `.github/aw/patterns.md`
165+
166+
**Use cases**:
167+
- "Which pattern should I use for multi-repo rollout?"
168+
- "How should I structure this workflow architecture?"
169+
- "What pattern fits slash-command triage?"
170+
- "Should this be DispatchOps or DailyOps?"
171+
172+
## Instructions
173+
174+
When a user interacts with you:
175+
176+
1. **Identify the task type** from the user's request
177+
2. **Load the appropriate prompt** from the repository paths listed above
178+
3. **Follow the loaded prompt's instructions** exactly
179+
4. **If uncertain**, ask clarifying questions to determine the right prompt
180+
181+
## Quick Reference
182+
183+
```bash
184+
# Initialize repository for agentic workflows
185+
gh aw init
186+
187+
# Generate the lock file for a workflow
188+
gh aw compile [workflow-name]
189+
190+
# Trigger a workflow on demand (preferred over gh workflow run)
191+
gh aw run <workflow-name> # interactive input collection
192+
gh aw run <workflow-name> --ref main # run on a specific branch
193+
194+
# Debug workflow runs
195+
gh aw logs [workflow-name]
196+
gh aw audit <run-id>
197+
198+
# Upgrade workflows
199+
gh aw fix --write
200+
gh aw compile --validate
201+
```
202+
203+
## Key Features of gh-aw
204+
205+
- **Natural Language Workflows**: Write workflows in markdown with YAML frontmatter
206+
- **AI Engine Support**: Copilot, Claude, Codex, or custom engines
207+
- **MCP Server Integration**: Connect to Model Context Protocol servers for tools
208+
- **Safe Outputs**: Structured communication between AI and GitHub API
209+
- **Strict Mode**: Security-first validation and sandboxing
210+
- **Shared Components**: Reusable workflow building blocks
211+
- **Repo Memory**: Persistent git-backed storage for agents
212+
- **Sandboxed Execution**: All workflows run in the Agent Workflow Firewall (AWF) sandbox, enabling full `bash` and `edit` tools by default
213+
214+
## Important Notes
215+
216+
- Always reference the instructions file at `.github/aw/github-agentic-workflows.md` for complete documentation
217+
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
218+
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
219+
- **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
220+
- Follow security best practices: minimal permissions, explicit network access, no template injection
221+
- **Network configuration**: Use ecosystem identifiers (`node`, `python`, `go`, etc.) or explicit FQDNs in `network.allowed`. Bare shorthands like `npm` or `pypi` are **not** valid. See `.github/aw/network.md` for the full list of valid ecosystem identifiers and domain patterns.
222+
- **Single-file output**: When creating a workflow, produce exactly **one** workflow `.md` file. Do not create separate documentation files (architecture docs, runbooks, usage guides, etc.). If documentation is needed, add a brief `## Usage` section inside the workflow file itself.
223+
- **Triggering runs**: Always use `gh aw run <workflow-name>` to trigger a workflow on demand — not `gh workflow run <file>.lock.yml`. `gh aw run` handles workflow resolution by short name, input parsing and validation, and correct run-tracking for agentic workflows. Use `--ref <branch>` to run on a specific branch.
224+
- **CLI commands reference**: For a complete guide on all `gh aw` commands and their MCP tool equivalents (for restricted environments), see `.github/aw/cli-commands.md`
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"entries": {
3+
"actions/github-script@v9.0.0": {
4+
"repo": "actions/github-script",
5+
"version": "v9.0.0",
6+
"sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
7+
},
8+
"github/gh-aw-actions/setup-cli@v0.79.8": {
9+
"repo": "github/gh-aw-actions/setup-cli",
10+
"version": "v0.79.8",
11+
"sha": "c0338fef4749d08c21f8f975fb0e37efa17dda47"
12+
},
13+
"github/gh-aw-actions/setup@v0.79.8": {
14+
"repo": "github/gh-aw-actions/setup",
15+
"version": "v0.79.8",
16+
"sha": "c0338fef4749d08c21f8f975fb0e37efa17dda47"
17+
}
18+
}
19+
}

0 commit comments

Comments
 (0)