Запускать действие github только при последней фиксации
Так что я пытаюсь бежать
gitleaks
через
github-actions
и используя в своем файле yaml.
Моя цель - запустить gitleaks только при последней фиксации, это означает, что если кто-то получил ошибку из-за утечек в коде, ему нужно исправить это и просто выполнить еще раз, и он будет работать.
Прямо сейчас, если я запускаю его, как будто он просматривает всю историю коммитов и проверяет это (и это нехорошо, потому что, если я исправлю свои утечки, он должен пройти)
Это ямл:
name: gitleaks
on: [pull_request]
jobs:
gitleaks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: gitleaks-action with defaults
uses: zricethezav/gitleaks-action@master
- name: gitleaks-action with config
uses: zricethezav/gitleaks-action@master
with:
config-path: .gitleaks.yml
прочитав немного, я попытался использовать:
- uses: actions/checkout@v2
with:
fetch-depth: '0'
но «0» по-прежнему дает мне всю историю коммитов. попытался изменить на 1 или 2, и теперь он все равно прошел (также, если в коде есть утечки), и я получил:
time="2021-12-21T13:52:58Z" level=info msg= "проверено зафиксировано: 0"
Как я могу заставить его работать только при последней фиксации?
2 ответа
ПьерБис прав, но эта команда не даст никаких результатов.
Вы также должны добавить -p в параметр --log-opts. Строка ниже должна работать:
gitleaks detect --source . --log-opts "-p -n 1"
Вы можете использовать параметр '--log-opts' gitleaks, чтобы установить лимит фиксации (Gitleaks doc).
Таким образом, чтобы получить только последнюю фиксацию, вы должны использовать '-n 1', чтобы ограничить количество коммитов за один раз.
Вся команда gitleaks выглядит так:
gitleaks detect --source . --log-opts "-n 1"
Примечания: это не ограничивает действие github, но gitleaks
Примечания 2: Это будет проверять только разницу, заданную последней фиксацией (т.е. результат
git log -p -n 1
команда)