Utilities, composite actions, and reusable workflows for our GitHub actions
Automatically compiles and commits built files with ncc if build files were not updated.
name: ncc
on:
push:
# Can't push a build commit to a tag, so only run for branches
branches:
- '**'
paths:
# Include any files that could require rebuilding
- 'package-lock.json'
- 'src/**'
jobs:
ncc-build:
uses: planningcenter/balto-utils/.github/workflows/ncc.yml@v2
name: ncc
on:
push:
# Can't push a build commit to a tag, so only run for branches
branches:
- '**'
paths:
# Include any files that could require rebuilding
- 'package-lock.json'
- 'src/**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- uses: planningcenter/balto-utils/ncc@v2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
Sets up a node environment with dependencies installed using yarn. Dependency libraries are cached.
name: 'Run Tests'
on: [push]
jobs:
run-tests:
runs-on: ubuntu-latest
steps:
- uses: planningcenter/balto-utils/yarn@v2
- run: yarn test
Sets up a node environment with dependencies installed using npm. Dependency libraries are cached.
name: 'Run Tests'
on: [push]
jobs:
run-tests:
runs-on: ubuntu-latest
steps:
- uses: planningcenter/balto-utils/npm@v2
- run: npm run-script test
Composes other actions to move major (v1) and minor (v1.2) semver version tags when a fully qualified (v1.2.3) tag is created.
name: Release Tagger
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
jobs:
release-tagger:
uses: planningcenter/balto-utils/.github/workflows/release-tagger.yml@v2