Fix/auto fixes - #3383
Conversation
Checkout: Update all workflows to use Checkout V4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v3...v4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* Switch default node version to 20 * Update version set to 18.x, 20.x, 22.x Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
As required in pull_request_template.md
Remove Pages starter workflows from the sync automation
|
tests/fizz-buzz.test.js |
|
{ |
|
interface ViteTypeOptions { interface ImportMetaEnv { interface ImportMeta { |
|
.env # loaded in all cases |
|
experimental: { |
|
experimental: { |
|
import fizzBuzz from './src/fizz-buzz.js'; console.log(fizzBuzz(3)); // "Fizz" |
|
Use | sudo bash to run as root and install to /usr/local/bin |
GitHub Agentic Workflows Factory TourImportant GitHub Agentic Workflows and the What you will learn to buildBuild a real AI-powered GitHub workflow from scratch and leave with a safe production-style agentic automation you can adapt to your own repositories. Why this workshopMost workflow tutorials stop at toy examples. This workshop takes you all the way to a useful end result: an agentic workflow that runs in GitHub Actions, inspects a repository, and publishes a daily status report automatically. By the time you finish, you will know how to:
What you'll buildYou'll build a scheduled, AI-powered repository status report that runs in GitHub Actions and posts a useful summary without custom shell-script orchestration. Who this is for
What makes this different from a classic Actions tutorialInstead of spending most of your time wiring together scripts, conditionals, and API calls, you define the workflow in a Markdown brief and let the agent reason over the repository at runtime. That means you focus on:
Ready to begin?➡️ Start with workshop/00-welcome.md Note Microsoft and GitHub facilitators: Request a demo environment at aka.ms/golden-ticket. ©️ GitHub • Code of Conduct • MIT License |
MarkItDown OCR PluginLLM Vision plugin for MarkItDown that extracts text from images embedded in PDF, DOCX, PPTX, and XLSX files. Uses the same Features
Installationpip install markitdown-ocrThe plugin uses whatever OpenAI-compatible client you already have. Install one if you don't have it yet: pip install openaiUsageCommand Linemarkitdown document.pdf --use-plugins --llm-client openai --llm-model gpt-4oPython APIPass from markitdown import MarkItDown
from openai import OpenAI
md = MarkItDown(
enable_plugins=True,
llm_client=OpenAI(),
llm_model="gpt-4o",
)
result = md.convert("document_with_images.pdf")
print(result.text_content)If no Custom PromptOverride the default extraction prompt for specialized documents: md = MarkItDown(
enable_plugins=True,
llm_client=OpenAI(),
llm_model="gpt-4o",
llm_prompt="Extract all text from this image, preserving table structure.",
)Any OpenAI-Compatible ClientWorks with any client that follows the OpenAI API: from openai import AzureOpenAI
md = MarkItDown(
enable_plugins=True,
llm_client=AzureOpenAI(
api_key="...",
azure_endpoint="https://your-resource.openai.azure.com/",
api_version="2024-02-01",
),
llm_model="gpt-4o",
)How It WorksWhen
When a file is converted:
Supported File Formats
DOCX
PPTX
XLSX
Output formatEvery extracted OCR block is wrapped as: TroubleshootingOCR text missing from outputThe most likely cause is a missing from openai import OpenAI
from markitdown import MarkItDown
md = MarkItDown(
enable_plugins=True,
llm_client=OpenAI(), # required
llm_model="gpt-4o", # required
)Plugin not loadingConfirm the plugin is installed and discovered: markitdown --list-plugins # should show: ocrAPI errorsThe plugin propagates LLM API errors as warnings and continues conversion. Check your API key, quota, and that the chosen model supports vision inputs. DevelopmentRunning Testscd packages/markitdown-ocr
pytest tests/ -vBuilding from Sourcegit clone https://github.com/microsoft/markitdown.git
cd markitdown/packages/markitdown-ocr
pip install -e .ContributingContributions are welcome! See the MarkItDown repository for guidelines. LicenseMIT — see LICENSE. Changelog0.1.0 (Initial Release)
|
|
name: Step 5 on: permissions: env: jobs: post_review_content: finish_exercise: disable_workflow: |
|
name: Step 4 on: permissions: env: jobs: post_next_step_content: |
|
name: Step 3 on: permissions: env: jobs: check_step_work: post_next_step_content: |
|
name: Step 2 on: permissions: env: jobs: check_step_work: post_next_step_content: |
|
name: Step 1 on: permissions: env: jobs: check_step_work: post_next_step_content: |
GitHub Actions WorkflowThis repository uses GitHub Actions to automate building, testing, and deploying the project. OverviewWorkflows live in Workflow Files
(Update this table to match your actual workflow files.) CI Workflow (
|
flynnjustin24
left a comment
There was a problem hiding this comment.
GitHub Agentic Workflows Factory Tour
Important
GitHub Agentic Workflows and the gh-aw CLI are in public preview. You may notice product changes, rough edges, or minor differences from the screenshots and examples in this workshop.
What you will learn to build
Build a real AI-powered GitHub workflow from scratch and leave with a safe production-style agentic automation you can adapt to your own repositories.
Why this workshop
Most workflow tutorials stop at toy examples. This workshop takes you all the way to a useful end result: an agentic workflow that runs in GitHub Actions, inspects a repository, and publishes a daily status report automatically.
By the time you finish, you will know how to:
- define an agentic workflow in Markdown
- use the
gh-awCLI to validate, run, and iterate on workflows - connect triggers, prompts, and GitHub context into one practical automation
- adapt the pattern for scheduled reporting, documentation upkeep, PR review, and more
What you'll build
You'll build a scheduled, AI-powered repository status report that runs in GitHub Actions and posts a useful summary without custom shell-script orchestration.
Who this is for
| You are... | You'll get... |
|---|---|
| A developer new to agentic workflows | A clear, end-to-end path from zero to a working automation |
| A GitHub Actions user | A practical mental model for when agentic workflows are a better fit than classic YAML and scripts |
| A platform or DevOps engineer | A reusable pattern for AI-assisted repository triage with auditable runs in GitHub |
| An evaluator, mentor, or workshop host | A hands-on artifact that makes agentic workflow concepts easy to demonstrate and assess |
What makes this different from a classic Actions tutorial
Instead of spending most of your time wiring together scripts, conditionals, and API calls, you define the workflow in a Markdown brief and let the agent reason over the repository at runtime.
That means you focus on:
- the task you want completed
- the repository context the agent should use
- the trigger that should run the workflow
- the output that should be published back to GitHub
Ready to begin?
➡️ Start with workshop/00-welcome.md
Note
Microsoft and GitHub facilitators: Request a demo environment at aka.ms/golden-ticket.
©️ GitHub • Code of Conduct • MIT License

Pre-requisites
Please note that at this time we are only accepting new starter workflows for Code Scanning. Updates to existing starter workflows are fine.
Tasks
For all workflows, the workflow:
.ymlfile with the language or platform as its filename, in lower, kebab-cased format (for example,docker-image.yml). Special characters should be removed or replaced with words as appropriate (for example, "dotnet" instead of ".NET").GITHUB_TOKENso that the workflow runs successfully.For CI workflows, the workflow:
cidirectory.ci/properties/*.properties.jsonfile (for example,ci/properties/docker-publish.properties.json).pushtobranches: [ $default-branch ]andpull_requesttobranches: [ $default-branch ].releasewithtypes: [ created ].docker-publish.yml).For Code Scanning workflows, the workflow:
code-scanningdirectory.code-scanning/properties/*.properties.jsonfile (for example,code-scanning/properties/codeql.properties.json), with properties set as follows:name: Name of the Code Scanning integration.creator: Name of the organization/user producing the Code Scanning integration.description: Short description of the Code Scanning integration.categories: Array of languages supported by the Code Scanning integration.iconName: Name of the SVG logo representing the Code Scanning integration. This SVG logo must be present in theiconsdirectory.pushtobranches: [ $default-branch, $protected-branches ]andpull_requesttobranches: [ $default-branch ]. We also recommend ascheduletrigger ofcron: $cron-weekly(for example,codeql.yml).Some general notes:
actionsorganization, or