Skip to content

YunaBraska/github-workflow-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

69 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub Workflow Plugin

Your Ultimate Wingman for GitHub Workflows and Actions! πŸš€

Build Version Downloads

Development Is Active Again

After a long pause, this plugin is back in active development. The project now has a plain Java/Gradle setup, a much larger editor test suite, refreshed release automation, and compatibility checks for current JetBrains IDE builds.

Contributors are still welcome. The difference now: the floor is sturdier, the lights are on, and the CI is expected to complain before users do.


Why Choose GitHub Workflow Plugin?

Say goodbye to tedious trial and error! Experience seamless GitHub workflow management like never before. Create pipelines at the speed of thought with this JetBrains plugin that extends support for GitHub Actions and Workflows. See Screenshots

Key Features

  • 🌈 Autocomplete & Syntax Highlighting: Write workflow YAML files with confidence. Autocomplete suggestions and clear syntax highlighting will make your code look and feel pristine.
  • πŸš€ Repository Access: Integrate with your private GitHub repositories for those secret projects you're working on.
  • 🏒 Self-hosted GitHub: Resolve metadata from public GitHub and GitHub Enterprise accounts already configured in JetBrains settings, without storing plaintext tokens in this plugin.
  • 🧹 Cache Controls: Refresh, inspect, export, import, or clear resolved action/workflow metadata from Find Action, Tools > GitHub Workflow, or Settings > Tools > GitHub Workflow.
  • ▢️ Workflow Runs: Create a GitHub Workflow Run Configuration from workflow_dispatch, default to the current branch, provide inputs, follow job progress in a Run tool-window tree, inspect selected job logs, and stop remote runs through the IDE or the workflow_dispatch gutter action. Job nodes use test-result style status icons and color warnings/errors in logs. GitHub log groups render as named blocks with stable 0001 | line numbers, run: command lines, and stripped ANSI noise.
  • ⬆️ Action Updates: Resolved major-version action refs such as actions/checkout@v3 can offer a quick fix when newer cached refs such as v4 are available.
  • πŸ—ΊοΈ Local Path Resolution: Navigate effortlessly with one-click access to local paths.
  • βœ… Validation Engine: Validates linked local actions and workflows, but hey, you can turn this off too.
  • πŸ›‘οΈ Security: We respect your privacy! The plugin doesn't use or store your personal data; it only accesses remote actions and workflows when necessary.
  • 🧩 Extensive Schema Support: Covers Depentabot, Actions, Workflows, Founding, Issue Config, Issue Forms, and Workflow Templates for comprehensive project management.

Getting Started

  • Installation: Download the plugin from JetBrains Marketplace.
  • Configuration: Add GitHub or GitHub Enterprise accounts via File > Settings > Version Control > GitHub. The plugin does not add a second server settings screen.
  • Cache: Use Find Action (Shift twice) for Refresh Action Cache, Clear Action Cache, or Restore Action Warnings. IDEs with the classic Tools menu also show these under Tools > GitHub Workflow. For review/delete, import/export, plugin cache size, and language override, use Settings > Tools > GitHub Workflow.
  • Workflow Runs: Add GitHub accounts in File > Settings > Version Control > GitHub, then use the gutter play action on workflow_dispatch or create a GitHub Workflow Run Configuration. GitHub jobs appear in one Run tree with selected-node log output. Context-created runs default to the checked-out Git branch and print clickable workflow/job URLs where GitHub exposes them. The gutter play action is shown only when the workflow file belongs to a resolvable GitHub repository. Runs try matching IDE accounts first, then other IDE GitHub accounts, then GITHUB_TOKEN, GH_TOKEN, GITHUB_PAT, then anonymous access. An optional token environment variable can still be set explicitly for custom setups. GitHub log timestamps, groups, command markers, and ANSI color codes are compacted before display.
  • Usage: Enjoy autocomplete, syntax highlighting, and much more as you code your GitHub Workflows and Actions.

Local Development

The project uses the Gradle wrapper and Java 25. No manual JetBrains JDK path is needed; the IntelliJ Platform Gradle Plugin downloads the IDE, bundled plugins, verifier, and test runtime.

  1. Install Java 25 and make it available as java.
  2. Run ./gradlew test for the fast regression suite.
  3. Run ./gradlew check verifyPlugin buildPlugin before publishing or opening a release PR.

Release Automation

One GitHub Actions workflow runs for branch pushes, PRs, and manual dispatches. It has one job and one cache. Branch and PR runs do the normal test/package pass. A merge to main, or a manual workflow run, prepares the date-based version, runs the full checks and Plugin Verifier, publishes the plugin ZIP to GitHub Packages, uploads the same ZIP to JetBrains Marketplace, pushes the release commit and tag, and creates the GitHub release.

The workflow prunes old GitHub Actions caches after a successful non-PR run so only the current pipeline cache remains.

Required repository secrets:

  • PUBLISH_TOKEN

Optional repository secret:

  • RELEASE_TOKEN - lets the workflow push the release commit and tag with a dedicated token. Without it, GITHUB_TOKEN is used.

Optional repository variable:

  • MARKETPLACE_CHANNEL - empty means the default stable Marketplace channel.

For manual IDE testing, run ./gradlew runIde. The default target tracks the latest stable IntelliJ IDEA platform that the Gradle tooling can resolve (platformVersion in gradle.properties). The first run downloads IDE artifacts and can take a while. The task also repairs stale custom color-scheme references in the generated sandbox only, so a missing local theme is less likely to kick the test IDE back into light-mode betrayal. This is annoying, but at least it is predictable. Progress.

Dependencies

This plugin depends on:

  • GitHub API integration
  • YAML parser

Unsupported Products

There is no way to increase the product support until the dependencies are compatible with these products.

Maintainer

Yuna Morgenstern, your GitHub Jedi. GitHub Profile

Dive in and level up your GitHub game! 🌟

Project Checklist

Learning List

  • Create Tests
  • Refactor remaining custom editor UI into smaller JetBrains-native pieces where it reduces gutter noise, disposal risk, or maintenance cost.
  • Auto Complete Uses with local action files
  • Auto Complete Uses with cached/current workflow refs
  • Auto Complete Uses field with Tags & Branches
  • Link local action/workflow files aka find usages
  • implement CMD+B
  • Create a new IntelliJ Platform Plugin Template project.
  • Get familiar with the template documentation.
  • Adjust the pluginGroup, plugin ID.
  • Adjust the plugin description in README (see Tips)
  • Review the Legal Agreements.
  • Publish a plugin manually for the first time.
  • Set the 21396-github-workflow in the above README badges.
  • Confirm the Plugin Signing related secrets.
  • Confirm the Deployment Token.
  • Watch IntelliJ Platform Gradle Plugin and template releases during maintenance rounds.

Plugin based on the IntelliJ Platform Plugin Template.

About

Your Ultimate Wingman for GitHub Workflows and Actions! πŸš€

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages