Fixes - making action pass self-test (#3)

* Remove accidental string interpolation from action.yml

* Fix test workflow filters

* Improve self-test

* Add test case for matching any changed file

* Fix workflow test - step `name` was used instead of `id`

* Extend default pull_request trigger types

* Remove `edited` trigger to avoid executing workflow on non-code changes
This commit is contained in:
Michal Dorner 2020-05-21 01:37:33 +02:00 committed by GitHub
parent 94603ab6f7
commit f9b6173f5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 25 additions and 6 deletions

View File

@ -1,6 +1,9 @@
name: "build-test"
on: # rebuild any PRs and main branch changes
pull_request:
types:
- opened
- synchronize
branches:
- master
@ -17,10 +20,16 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: ./
id: filter
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
filter: |
githubToken: ${{ github.token }}
filters: |
src:
- src/**/*
tests:
- __tests__/**/*
- __tests__/**/*
any:
- "**/*"
- name: filter-test
if: steps.filter.outputs.any != 'true'
run: exit 1

View File

@ -70,4 +70,14 @@ describe('matching tests', () => {
const match = filter.match(['test/test.js'])
expect(match.src).toBeTruthy()
})
test('matches anything', () => {
const yaml = `
any:
- "**/*"
`
const filter = new Filter(yaml)
const match = filter.match(['test/test.js'])
expect(match.any).toBeTruthy()
})
})

View File

@ -3,7 +3,7 @@ description: 'Enables conditional execution of workflow job steps considering wh
author: 'Michal Dorner <dorner.michal@gmail.com>'
inputs:
githubToken:
description: 'GitHub Access Token - use ${{ github.token }}'
description: 'GitHub Access Token'
required: true
filters:
description: 'YAML dictionary where keys specifies rule names and values are lists of (globbing) file path patterns'

2
dist/index.js vendored
View File

@ -4118,7 +4118,7 @@ function run() {
return __awaiter(this, void 0, void 0, function* () {
try {
const token = core.getInput('githubToken', { required: true });
const filterYaml = core.getInput('filter', { required: true });
const filterYaml = core.getInput('filters', { required: true });
const client = new github.GitHub(token);
if (github.context.eventName !== 'pull_request') {
core.setFailed('This action can be triggered only by pull_request event');

View File

@ -7,7 +7,7 @@ import Filter from './filter'
async function run(): Promise<void> {
try {
const token = core.getInput('githubToken', {required: true})
const filterYaml = core.getInput('filter', {required: true})
const filterYaml = core.getInput('filters', {required: true})
const client = new github.GitHub(token)
if (github.context.eventName !== 'pull_request') {