View on GitHub

tp

PlanNUS helps NUS undergraduates plan their academic journey in NUS. It is optimized for CLI users as commands can be typed in faster by undergraduates.

DevOps Guide for PlanNUS

Table of contents

Build Automation

PlanNUS uses Gradle for build automation and dependency management.

Below shows how Gradle is being used in PlanNUS for important project tasks

Continuous Integration (CI)

PlanNUS uses GitHub Actions for continuous integration. The necessary GitHub Actions configuration files exist as .github/workflows/gradle.yml. This file does not require further set up.

I/O Testing

PlanNUS uses automated scripts located in the ./text-ui-test folder to test for the correct output given a sequence of inputs.

To test for the input/output of PlanNUS

  1. Change needed input in input.txt located in ./text-ui-test folder
  2. Change the expected output in EXPECTED.TXT located in ./text-ui-test folder
  3. Run the scripts for testing
    • On windows, run runtest.bat
    • On UNIX systems, run runtest.sh
  4. The scripts will run and throws a warning message if the actual output differs from the expected output
  5. The actual output will be stored in ACTUAL.TXT located in ./text-ui-test folder

Making a release

Here are the steps to create a new release.

  1. Generate a fat JAR file using Gradle with the commandgradlew build.
  2. Tag the repo with the version number. e.g. V2.0
  3. Create a new release using GitHub. Upload the JAR file you created.