Skip to content

Latest commit

 

History

History

README.md

GitHub Workflows

This directory contains the GitHub workflows for this repository. Each workflow and any supporting files will be documented here.

build-latex.yml is a reusable workflow that can be used to build a LaTeX document, and upload the resulting PDF as an artifact.

build-release.yml contains the main build workflow for this repo. It will:

  • Automatically generate a changelog and bump the version number, based on new conventional commits.
  • Build the LaTeX document using build-latex.yml.
  • Create a new Release on GitHub, uploading the document .pdf and changelog.

This will happen whenever any changes are pushed to main, which should be through PR's!

Note that the document name is derived from the repo name by default, and is overridden by following line:

DOCUMENT_BASE_NAME: Nathaniel_Struselis_CV

A workflow that allows using the /fast-forward command to complete a PR, and merge it with the git merge --ff-only strategy. This is paired with the pull request workflow.

GitHub's default "Rebase and Merge" strategy modifies the commits that it rebases, which will negate things like GPG-signed commits. This workflow allows a fast-forward merge to be performed instead.

This workflow is completely optional, and is only used to suit my preferred git routine.

To use this workflow, you will need to either set up a personal access token and add the token name to the following line of the workflow, or remove the following line entirely:

github_token: ${{ secrets.FF_PAT }}

Replacing FF_PAT with the name of your access token.

Tip

Unless you use a personal access token, this workflow will not be able to trigger other workflows when merging.

lint-commits.yml uses git-cliff to lint all commits in the repo with every PR, ensuring that they conform to the Conventional Commits specification.

The main cliff.toml is used as the configuration file to configure git-cliff, which should require conventional commits for this workflow to function correctly.

Prep Build is a reusable workflow that can be used to prepare the variables used to build the LaTeX document, and prepare the changelog and upload it as an artifact.

The prepared variables are:

  • The CHANGELOG (both as an artifact and variable containing the contents)
  • The versioned document name
  • The bumped version number

This workflow simply monitors the commits in a PR, checks whether they can be fast-forwarded, and generates a preview CHANGELOG and PDF file that are posted as comments on the PR to allow review of the generated contents.

This is paired with the fast forward workflow to close PRs using the git merge --ff-only strategy.

The check-fast-forward job in this workflow is optional, and you can remove this job along with the fast forward workflow to use GitHub's default merge strategies.