Skip to content

Executable tutorial proposal: Advanced GitHub Actions - #3079

Merged
algomaster99 merged 1 commit into
KTH:2026from
hosseinghzadeh:executable-tutorial-github-actions
Oct 2, 2026
Merged

algomaster99 merged 1 commit into
KTH:2026from
hosseinghzadeh:executable-tutorial-github-actions

Conversation

@hosseinghzadeh

Copy link
Copy Markdown
Contributor

Assignment Proposal

Title

Advanced GitHub Actions: Caching, Matrix Builds, and Reusable Workflows

Names and KTH ID

Deadline

  • Task 2

Category

  • Executable tutorial

Description

This executable tutorial teaches three intermediate GitHub Actions techniques by having the learner apply them to a small starter repository provided as a GitHub template: dependency caching, matrix builds, and reusable/callable workflows.

The learner forks the template repository, which contains a minimal CI workflow with no caching and a single build target. Working entirely in the browser (GitHub's web editor and the Actions tab), they will:

  1. Add actions/cache to the workflow and compare run time before and after.
  2. Turn the single build target into a build matrix (multiple OS / language versions) and observe the parallel matrix runs.
  3. Extract the shared steps into a reusable workflow (workflow_call) and call it from the main workflow, so the same CI logic can be reused across repositories.

Each step includes an explanation of what it does and why it is needed, and the tutorial states its intended learning outcomes at the start.

Relevance

Caching, matrix builds, and reusable workflows are standard techniques for keeping CI pipelines fast and maintainable as a project grows, and they directly address the continuous-integration themes covered in this course. Learning to compose CI logic into reusable, callable workflows also reflects a core DevOps principle: treating pipeline configuration itself as maintainable, DRY code rather than copy-pasted YAML.

@github-actions github-actions Bot added the tutorial One of the task categories listed in README.md label Sep 28, 2026
@algomaster99 algomaster99 self-assigned this Sep 29, 2026
@FlowRyda

FlowRyda commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Hi Hossein and Alexander, as mentioned in a mail to you, Ignacy and me would like to provide feedback on your tutorial. Let us know what you think!

@hosseinghzadeh

Copy link
Copy Markdown
Contributor Author

Hi Hossein and Alexander, as mentioned in a mail to you, Ignacy and me would like to provide feedback on your tutorial. Let us know what you think!

Sounds good!

@algomaster99 algomaster99 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be nice to see caching used across different matrix builds. I haven't done that before.

@algomaster99
algomaster99 merged commit cefa645 into KTH:2026 Oct 2, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tutorial One of the task categories listed in README.md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants