Skip to content

Repository files navigation

plcc-ng-devcontainer

Prebuilt devcontainer images and a devcontainer feature for plcc-ng — for use in courses and assignments on GitHub Codespaces or VS Code.

Quick Start

Add a .devcontainer/devcontainer.json to your project:

{
  "name": "My PLCC-NG Project",
  "image": "ghcr.io/ourplcc/devcontainers/plcc-ng:2"
}

If your course implements language semantics in Haskell, use ghcr.io/ourplcc/devcontainers/plcc-ng-full:2 instead.

Open the project in GitHub Codespaces or VS Code with the Dev Containers extension. plcc-ng, Python, Java, and JavaScript are ready to use (plus Haskell in -full).

Not sure which image to pick? See Choosing your image.

What's published here

Artifact Where
Standard image (plcc-ng, Python, Java, JavaScript) ghcr.io/ourplcc/devcontainers/plcc-ng
Full image (standard + Haskell) ghcr.io/ourplcc/devcontainers/plcc-ng-full
Devcontainer feature (installs only plcc-ng) ghcr.io/ourplcc/features/plcc-ng

Contributing

  1. Fork and clone this repository.
  2. Open it in VS Code or Codespaces — the repo's devcontainer includes the devcontainer CLI and Docker.
  3. Make your changes; test with bash scripts/build-and-test.sh plcc-ng and devcontainer features test --project-folder . --features plcc-ng --base-image mcr.microsoft.com/devcontainers/base:ubuntu.
  4. Open a PR — CI tests the feature and builds both images as pr-{N} tags.

Use Conventional Commits: fix: → patch, feat: → minor, feat: with a BREAKING CHANGE: footer → major, and ci:/docs:/chore:/test: → no release.

Write the footer, not feat!:. semantic-release's Angular preset does not parse the ! shorthand, so feat!: on its own matches nothing and produces no release at all — easy to miss, because the pipeline still goes green.

See the maintainer guide for how releases work.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages