Skip to content

Repository files navigation

CMPUT 415 Docker Container

This repo contains the docker files that we suggest using with the assignments for CMPUT 415. This container is also packaged on our packages so that you don't have to build from source.

Versioning

This repository and the images it publishes follow Semantic Versioning 2.0.0. Releases are cut as annotated git tags of the form vMAJOR.MINOR.PATCH; each image is tagged with the matching version (in addition to :latest and a dated tag).

For a container-publishing repo, the version increments mean:

  • MAJOR — a change that breaks a documented consumer contract: removing a tool that was on PATH, bumping a tool's major version (e.g. LLVM 18 → 19), changing the base OS, changing the default WORKDIR / ENTRYPOINT, or renaming an image. Anything that would require a student, grader, or downstream CI to change their commands or Dockerfile.
  • MINOR — additive changes that keep existing usage working: a new tool installed, a new build arg, a new image variant, or a minor tool-version bump that preserves CLI compatibility.
  • PATCH — bug fixes, base-image security refreshes, and internal cleanups that don't alter the installed toolchain surface.

Release notes are generated from commit trailers via GitLab's Changelog API; contributors should add a Changelog: trailer to user-visible commits (see the agent-commit protocol / project contributor guide for the trailer conventions and category mapping).

Development setup

Local dev tooling (pre-commit hooks and the GitLab CI lint helper) is managed with uv:

uv sync                       # create .venv/, install dev deps
uv run pre-commit install     # register hooks in .git/hooks/

The gitlab-ci-lint hook validates .gitlab-ci.yml against the project's CI Lint API and needs a personal access token:

# Create a PAT with `api` scope at
#   https://ua-gitlab.srv.ualberta.ca/-/user_settings/personal_access_tokens
export GITLAB_TOKEN=glpat-...

Without a token the hook prints a hint and passes (so first-time contributors are not blocked); server-side lint still runs in CI.

About

Docker containers for use in CMPUT 415

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages