An adapter that takes a Probot app and makes it compatible with GitHub Actions
npm i -S probot-actions-adapter
- Add an
action.js
to your Probot project, like the one shown below - Add an
action.yml
to your Probot project, like the one shown below - Vendor in your
node_modules
, as recommended by the official Actions documentation - Optional, but recommended, update your project's README with an example workflow showing how to consume your action
// Require the adapter
const adapt = require('probot-actions-adapter');
// Require your Probot app's entrypoint, usually this is just index.js
const probot = require('./index');
// Adapt the Probot app for Actions
// This also acts as the main entrypoint for the Action
adapt(probot);
name: 'Probot app name'
description: 'Probot app description.'
runs:
using: 'node12'
main: 'action.js'
See the documentation for action.yml
syntax details.
This adapter is designed to work well with Probot apps that are essentially stateless webhook handlers.
A few other limitations exist:
- The adapter will only work for Probot apps that receive webhook events that Actions also receives: https://help.github.com/en/articles/events-that-trigger-workflows
- The adapter will only work for Probot apps with a permissions set that is less than, or equivalent to the permission set attached to the
GITHUB_TOKEN
: https://help.github.com/en/articles/virtual-environments-for-github-actions#token-permissions
If that's you, then great! 🚀