filter out shared from yaml anchor output

This commit is contained in:
Lucas Yarid 2024-05-17 11:21:10 +02:00
parent de90cc6fb3
commit 9f68be011c
2 changed files with 16 additions and 2 deletions

View File

@ -1,5 +1,15 @@
import * as core from '@actions/core'
import {Filter, FilterConfig, PredicateQuantifier} from '../src/filter'
import {File, ChangeStatus} from '../src/file'
import {exportResults} from '../src/main'
jest.mock('@actions/core', () => ({
info: jest.fn(),
setFailed: jest.fn(),
startGroup: jest.fn(),
setOutput: jest.fn(),
endGroup: jest.fn()
}))
describe('yaml filter parsing tests', () => {
test('throws if yaml is not a dictionary', () => {
@ -160,6 +170,9 @@ describe('matching tests', () => {
const filter = new Filter(yaml)
const files = modified(['config/settings.yml'])
const match = filter.match(files)
exportResults(match, 'none')
expect(core.setOutput).toHaveBeenCalledWith('changes', '["src"]')
expect(match.src).toEqual(files)
})
})

View File

@ -228,7 +228,7 @@ async function getChangedFilesFromApi(token: string, pullRequest: PullRequestEve
}
}
function exportResults(results: FilterResults, format: ExportFormat): void {
export function exportResults(results: FilterResults, format: ExportFormat): void {
core.info('Results:')
const changes = []
for (const [key, files] of Object.entries(results)) {
@ -254,7 +254,8 @@ function exportResults(results: FilterResults, format: ExportFormat): void {
}
if (results['changes'] === undefined) {
const changesJson = JSON.stringify(changes)
const filteredShared = changes.filter(change => change !== 'shared')
const changesJson = JSON.stringify(filteredShared)
core.info(`Changes output set to ${changesJson}`)
core.setOutput('changes', changesJson)
} else {