Announcing the GitHub Actions extension for VS Code

Today, we’re excited to announce the release of the public beta of the official GitHub Actions VS Code extension, which provides support for authoring and editing workflows and helps you manage workflow runs without leaving your IDE.

|
| 5 minutes

Today, we’re excited to announce the release of the public beta of the official GitHub Actions VS Code extension. The extension provides support for authoring and editing workflows and helps you manage workflow runs without leaving your IDE.

The extension was originally started as a community project to monitor workflow runs. While it gained linting and code completion features over the years, this release now uses the official GitHub Actions schema so you can take advantage of the latest and most up-to-date features. We’re also happy to announce that, as part of this release, we are transitioning the community extension to an officially supported part of the GitHub Actions product family that will be maintained by GitHub.

Managing workflows and monitoring workflow runs

With the extension, you can manage your workflows without leaving your editor. You can easily monitor runs for workflows in your repository, cancel and re-run them, or trigger new ones for manually triggered workflows. To investigate failures, you can drill down from runs to jobs to steps and even view logs without leaving VS Code.

A common scenario is CI workflows that run for every pushed branch: you edit your code and then push it to GitHub to run unit and integration tests. The Current Branch view shows you the results of all workflows for the currently checked out branch in VS Code at a glance.

In addition to managing workflows and runs, you can also list available secrets and variables at all supported levels: organization, repository, and environment. With the right permissions, you can also add and modify repository and environment secrets and variables.

Workflow authoring

Most of the improvements to the existing extension have been made for authoring workflows. All experiences now use the official GitHub Actions schema, and we also use a new GitHub Actions Expressions parser to provide more help and insight when using expressions in your workflow.

Some of the features that improve the experience of editing workflows:

  • Syntax highlighting for workflows and expressions makes it clear where values are inserted at execution time and helps with understanding complex expressions:

  • Integrated documentation for the workflow schema, expression functions, and even event payloads speeds up workflow editing by reducing the required context switches:

  • Validation and code completion for the YAML schema and GitHub Actions Expressions. Get instant validation and code completion for the workflow schema, expression functions, event payloads, and job or step outputs.

The extension not only validates workflows against the static schema, but it also knows enough about how workflows are executed to detect incorrect references between jobs, steps, and other workflow components. It also parses any on triggers and provides validation and completion for the actual event payload that the workflow will receive at execution time. If a workflow runs for every pull request, for example, the extension knows that the event payload in the github context is a pull request payload and can validate that fields exist and suggest code completions.

  • Smart validation, code completion and documentation for referenced actions and reusable workflows: the extension automatically parses parameters, inputs, and outputs for referenced actions from GitHub.com and provides validation, code completion, and inline documentation. The same functionality works for reusable workflows referenced from the local or another remote repository.

Getting started

Head over to the VS Code Marketplace to download the extension or you can download it from within VS Code. If you had installed the community extension before, it will automatically be upgraded to the official release.

We are looking forward to hearing from you! Please let us know if you find this extension helpful or if there is anything that we can improve.

Related posts