An action to check if a "full build" should be run by inspecting commit message and manual input for push, pull request, and manual runs (workflow_dispatch).
To provide a workflow_dispatch input (e.g. to do a manual full build from the UI), add the following to your on block:
on:
# Allow for manual runs to override whether or not a "full build" is run
workflow_dispatch:
ci-full:
description: "Run Full CI Build"
required: false
type: boolean
default: falseTo utilize this action, add it in a block like so:
initialize:
runs-on: ubuntu-22.04
outputs:
FULL_BUILD: ${{ steps.initialize.outputs.FULL_BUILD || steps.initialize.outputs.FULL_BUILD || steps.initialize.outputs.FULL_BUILD }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 2
- name: Initialize variables
uses: actions-ext/general/initialize-variables@v1
id: initialize
with:
full: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.ci-full }}You can now condition steps like so:
do_some_heavy_build:
needs: [initialize]
runs-on: ubuntu-latest
if: ${{ needs.initialize.outputs.FULL_BUILD == 'true' }}This action will set FULL_BUILD output in 2 ways:
- provide
full: trueinput to the action - have
[ci-full]in the commit message or PR title