Skip to content

Conditional logic for deployment commit messages isn't working #3322

@ollietreend

Description

@ollietreend

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions