Skip to content

cordekruijf/cisq1-lingo

 
 

Repository files navigation

Java CI

Coverage Maintainability Rating Security Rating

CISQ1: Lingo Trainer

This project is part of a sophomore Software Development Continuous Integration and Software Quality 1 (CISQ1) at the Institute for ICT of the Hogeschool Utrecht.

How do I get started?

During the start of the course, we will analyse the required use cases, domain and architecture.

For now, let's see if we can get this project started!

  1. Clone the repository and make it your own
  2. Start a PostgreSQL instance, either via docker-compose up or manually
    • For manual instructions, see below
  3. Check if everything works by running the tests, either via your IDE or via mvnw verify
  4. Follow the instructions in the course assignments

PostgreSQL without Docker

First, make sure to set up the correct databases and users:

CREATE USER "cisq1-lingo" WITH CREATEDB PASSWORD 'cisq1-lingo';
CREATE USER "cisq1-lingo-test" WITH CREATEDB PASSWORD 'cisq1-lingo-test';

CREATE DATABASE "cisq1-lingo" OWNER "cisq1-lingo";
CREATE DATABASE "cisq1-lingo-test" OWNER "cisq1-lingo-test";

Then, run the import script found at development/db/lingo_words.sql. You can import or copy-and-paste these queries into a PostgreSQL client of your choosing.

My integration tests work on my machine, but not in the CI pipeline

By default, there is no PostgreSQL database present during continuous integration. Although it is a less realistic test, it suffices to replace it with an in-memory database like H2. Our starter project already includes configuration for this, but you need to let Maven know that it should activate the continuous integration profile in Spring. The command to do this is as follows:

mvnw verify -Dspring.profiles.active

I'd rather use an actual database during CI

This is understandable! Although it might be slower, it is a more realistic test. Do note that longer run times might make you run out of GitHub Action minutes.

Have a look at:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 89.9%
  • Gherkin 6.2%
  • Shell 1.5%
  • JavaScript 1.3%
  • Dockerfile 1.1%