Skip to content

Conversation

@head1328
Copy link

@head1328 head1328 commented Dec 22, 2025

This PR adds a new Woodpecker CI plugin that enables building and running Dev Containers in Woodpecker CI pipelines.

Closes #430

Changes

New Features

  • Complete Woodpecker CI plugin implementation
  • Docker image with all required dependencies (docker, buildx, skopeo, devcontainer CLI)
  • Comprehensive documentation and examples
  • Full test coverage with Jest (18 passing tests)
  • Local development environment with Forgejo + Woodpecker CI

Plugin Capabilities

  • Build Dev Container images with feature support
  • Run commands inside containers (run_cmd)
  • Multi-platform builds (linux/amd64, linux/arm64)
  • Image caching and pushing to registries
  • Environment variable passthrough
  • Configurable paths and options

Code Quality

  • TypeScript with strict mode
  • ESLint configuration
  • Prettier formatting
  • Comprehensive unit tests
  • CI pipeline with format-check, lint, build, and integration tests

Documentation

  • Complete README with setup instructions
  • Plugin marketplace documentation (docs.md)
  • Example configurations for common use cases
  • Troubleshooting guide

Testing

  • All 18 unit tests passing
  • Integration tests in CI pipeline
  • Tested with multiple Dev Container configurations:
    • Simple Node.js (image-based)
    • Custom Dockerfile
    • Dev Container features
  • Local testing with docker-compose (Forgejo + Woodpecker)

Breaking Changes

None - this is a new addition.

@head1328 head1328 requested review from a team and stuartleeks as code owners December 22, 2025 11:13
@head1328 head1328 marked this pull request as draft December 22, 2025 11:27
@head1328 head1328 force-pushed the feat/woodpecker-ci-plugin branch from 438361f to ec4f9a9 Compare December 26, 2025 11:39
@head1328
Copy link
Author

@microsoft-github-policy-service agree

@head1328 head1328 marked this pull request as ready for review January 25, 2026 16:58
@head1328
Copy link
Author

It works as described, but due to the lack of dind support, it doesn't work on the Codeberg platform: https://ci.codeberg.org/. However, it is possible to integrate a Woodpecker CI instance or run your own agent. Since I now prefer using EnvBuilder or directly generated devcontainer images via devcontainer --build for my project, I will no longer maintain this plugin. However, you are welcome to merge it, maintain it further, and use it, or we can close the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Woodpecker CI Plugin for Dev Containers

1 participant