Skip to content
This repository has been archived by the owner on May 29, 2023. It is now read-only.
/ comp3231-ci Public archive

The CI part of our OS assignment, so you can this repo as a template for your own assignment!

License

Notifications You must be signed in to change notification settings

delilahw/comp3231-ci

Repository files navigation

OS Assignment 3

Build Mirror

This repository is automatically mirrored from GitHub. Do not push to any other remotes, as conflicting changes from upstream will result in a forced push to overwrite files.

Docker

Docker is used to facilitate building and testing OS/161 in an containerised Debian environment. The relevant CI workflows can be found in Dockerfile and scripts/. Use the following commands to build a docker image and start a container.

# With tags
$ docker build -t os161 . && docker run os161

# Without tags
$ docker run -it $(docker build -q .)

Continuous Integration

Tests are run with the same Docker image shown above. Linting with clang-format will be added later. Mirroring to GitLab is also performed by the CI pipeline.

Helper Scripts

Runner

Use the scripts located at the root of the repository to help compile and run your code. The run script will pipe your compiler output through a perl script to colourise it (boo gcc v4.8).

$ run --help
OS Assignment Runner by @hellodavie

Usage: run [clean | compile | install-kernel | kernel | debug | ([--]test <OS161-command>)]...

Examples:
  run
  run test
  run debug
  run compile install-kernel kernel
  run compile install --test "p /testbin/asst2"

$ run clean compile install-kernel test "p /testbin/asst2"
...

Bundler

The bundle helper will automatically package and upload the bundle to CSE servers. An ssh session will be started and you'll be dropped into a zsh shell to complete the assignment submission process.

About

The CI part of our OS assignment, so you can this repo as a template for your own assignment!

Resources

License

Stars

Watchers

Forks