Skip to main content
With conformance tests passing locally, it’s time to set up continuous integration. The plugin template includes a GitHub Actions workflow that runs on every push and pull request.

What’s included

The template provides .github/workflows/ci.yml with these jobs: The integration and conformance test jobs are disabled by default. You need to configure them for your infrastructure.

Initialize your repository

If you haven’t already, initialize a git repository and push to GitHub:
Create a repository on GitHub, then push:

Verify basic CI

After pushing, check the Actions tab in your GitHub repository. You should see the workflow running with build, lint, and pkl-validate jobs. These jobs should pass immediately.

Enable integration tests

For our SFTP plugin, we start a Docker container directly in the workflow:
Key changes from the template:
  1. Remove if: false to enable the job
  2. Add a step to start your test infrastructure (Docker container)
  3. Set environment variables for credentials

Enable conformance tests

The conformance tests follow the same pattern. Remove the if condition that disables the job:
Note that conformance tests depend on integration tests passing first (needs: [build, lint, pkl-validate, integration-tests]).

Verify

After updating the workflow, push your changes:
Check the Actions tab. All jobs should pass:

Next: 13 - Local Testing - Test your plugin locally with formae