alphagov/govuk-developer-docs

Conditional logic for deployment commit messages isn't working

ollietreend opened this issue · 0 comments

When GitHub Actions deploys to GitHub Pages, it uses conditional logic to decide which commit message to use. According to the config file, it looks like the commit message should be determined by the event that triggered the build:

- name: Set commit message up front
id: commit_message_writer
run: | # `github.event.number` will be blank if this is a cron
if [ "${{ github.event.number }}" == "" ]; then
echo "::set-output name=commit_message::Hourly scheduled redeploy"
else
echo "::set-output name=commit_message::Deploy via merge"
fi

However in practice, the commit message is always "Hourly scheduled redeploy".

It looks like ${{ github.event.number }} always evaluates to an empty string. This seems consistent with the GitHub docs for builds triggered by a 'push' event, which suggests that number isn't a property of 'push' events.

Instead, I think we could probably change the if statement to something like this:

- if [ "${{ github.event.number }}" == "" ]; then
+ if [ "${{ github.event_name }}" == "schedule" ]; then

It assumes that cron-triggered builds have an event_name of "schedule" – which I think is correct, but this assumption would need to be tested.