Continuous Integration is an essential part of the “trunk based development” branching strategy. When a team has agreed that master is the only lone-lived branch - then it implies that all other development branches must frequently and continuously integrate onto that. But with more developers contributing. We need to have compliancy rules - and we need to automate the integration.

Context

This module is developed in the context of AP programme for Computer Science at Copenhagen School of Technology and Design (KEA). It’s part of the fulfillment of the curriculum of the topic technology.

The Tech Stack

We will be exploring the following technologies:

  • GitHub Actions
  • YAML
  • VS Code

Learning goals

  • Understand and master a declarative pipeline (GitHub Actions).

Prepare for class

GitHub Actions Quickstart

Read the first six sections in GitHub’s quickstart guide to actions

Learn GitHub Actions:
📚 Understanding GitHub Actions
📚 Finding and customizing actions
📚 Essential features og GitHub Actions
📚 Expressions
📚 Contexts
📚 Variables
⏳ [60:00]

Build Java Maven

Read through the Maven example:

📚 GitHub Actions - Build With Maven
⏳ [15:00]

Classroom assignments

This module has a GitHub Classroom Assignment.

There are a few ground rules - and quite a few tips and trick you want to know when working these assignments - so read the general note on GtiHub Classroom Assignments if you haven’t already.

Assignments will be introduced in class.