Skip to content

ourPLCC/plcc-devcontainer

Repository files navigation

plcc-devcontainer

A prebuilt devcontainer image with PLCC, Java 17, and Python 3.11 — 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 Project",
  "image": "ghcr.io/ourplcc/plcc-devcontainer:1"
}

Open the project in GitHub Codespaces or VS Code with the Dev Containers extension. PLCC, Java, and Python are ready to use.

A copy of the template above is available in devcontainer.json at the root of this repository.

Image Tags

Tag Meaning
latest Most recent release
1 Latest 1.x.x release
1.2 Latest 1.2.x release
1.2.3 Exact release (immutable)

Recommendation for courses: pin to a major tag (e.g. 1). You get automatic patch updates but are protected from breaking changes mid-semester.

What's Included

Tool Version
PLCC See CHANGELOG for current version
Java 17 (OpenJDK)
Python 3.11

Commands available: plccmk, scan, parse, rep

Contributing

Making changes

  1. Fork and clone this repository
  2. Open it in VS Code or Codespaces — the devcontainer builds from the local recipe
  3. Make your changes
  4. Open a PR — CI builds the image and tags it pr-{N}. To test the built image, temporarily update .devcontainer/devcontainer.json to use that tag.

Use Conventional Commits in your commit messages:

  • fix: — patch release
  • feat: — minor release
  • feat!: or BREAKING CHANGE: — major release

Automated PLCC updates

A weekly workflow checks for new PLCC releases and opens a PR automatically. If you see a PR like fix: update PLCC to vX.Y.Z, review the CI results and merge if green.

Release setup

The release workflow requires a RELEASE_TOKEN repository secret with a GitHub App token (preferred) or a classic PAT. Classic PAT scopes required: repo, write:packages. This is required because GITHUB_TOKEN cannot push to the protected main branch.

About

Provides a Docker container for developing with PLCC.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages