Hello there, we’ve migrated our all CI jobs from self-hoted Jenkins to Github Actions.
It’s well-made, no server mainternance is required. awesome.
It would be nice if Github Actions supports “conditional job”. This can be used for filtering build triggers.
I use semantic-release for automating npm package publish workflow.
It automatically publises package based on semantic commit messages.
For example, Pushing “fix(scope): fix unsafe property access” commit to master branch will trigger patch version bump and publish to npm repository.
Problem is: semantic-release create a new commit that contains version change information (e.g. updated package.json file, updated CHANGELOG.md). This commit has
ci skip keyword - To skip build triggers because it is not necessary. As you know, Many CI Services like Travis support this.
So - I propose two ideas:
ifdirective to Job Definition
if directive is only supportd in step definition. This can be expanded to Job Definition.
To archive ci skip filtering, it can be used like this way:
name: CI on: push jobs: test: if: !github.commit\_message.contains("ci skip") # ...
- Support commit filtering in
Another idea is expanding
on directive like this way:
on: branches: - master commits: - '\*' - '!ci skip'