Я пытаюсь найти способ привязать только файлы уценки, которые были изменены в текущей ветви. Я написал bash-скрипт, который прекрасно работает локально, но не работает в Github Actions.
Ожидаемый результат: файлы разметки только для lint, которые были изменены в ветви в GitHub Actions по запросу-запросу.
#!/bin/bash
files=`git diff --name-only master`
for x in $files;
do
if [ ${x: -3} == ".md" ]
then
node_modules/.bin/markdownlint $x
fi
done
Я вызываю скрипт в package.json
"scripts": {
"test": "bash mdlint.sh"
}
Затем я вызываю скрипт bash в рабочем процессе действий GitHub:
name: CI
on:
pull_request:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
fetch-depth: 1
- uses: actions/setup-node@master
- name: lint all markdownfiles
run: |
npm install
npm run test
Это ошибка в действиях GitHub:
shell: /bin/bash -e {0}
npm WARN Gatsby_site No repository field.
npm WARN Gatsby_site No license field.
added 33 packages from 26 contributors and audited 43 packages in 0.952s
found 0 vulnerabilities
> @ test /home/runner/work/Gatsby_site/Gatsby_site
> bash mdlint.sh
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Есть ли способ заставить действия GitHub запускать линтер только на файлах, которые изменились в текущей ветке?