feature(ci): run keyring integrity check if keyring or code changes

This commit is contained in:
Levente Polyak 2021-11-07 23:31:19 +01:00
parent 0456e9a5f8
commit 5f36beff90
No known key found for this signature in database
GPG Key ID: FC1B547C8D8172C8
4 changed files with 39 additions and 0 deletions

View File

@ -53,3 +53,21 @@ build_install:
- pacman-key --populate archlinux - pacman-key --populate archlinux
- pacman-key --updatedb - pacman-key --updatedb
- pacman -Syu - pacman -Syu
keyring_check:
stage: test
needs: []
before_script:
- pacman -Syu --needed --noconfirm make python sequoia-sq
script:
- ./keyringctl import --main master master-revoked
- ./keyringctl import packager packager-revoked
- ./keyringctl check
only:
changes:
- keyring
- keyringctl
- libkeyringctl/*
- tests/*
- .gitlab-ci.yml
- Makefile

View File

@ -56,3 +56,8 @@ To execute all tests using pytest
```bash ```bash
make test make test
``` ```
To run keyring integrity and consistency checks
```bash
make check
```

View File

@ -14,6 +14,9 @@ fmt:
black . black .
isort . isort .
check:
./keyringctl -v check
test: test:
coverage run coverage run
coverage report coverage report

View File

@ -115,6 +115,11 @@ verify_parser.add_argument(
) )
verify_parser.set_defaults(lint_hokey=True, lint_sq_keyring=True) verify_parser.set_defaults(lint_hokey=True, lint_sq_keyring=True)
check_parser = subcommands.add_parser(
"check",
help="Run keyring integrity and consistency checks",
)
ci_parser = subcommands.add_parser( ci_parser = subcommands.add_parser(
"ci", "ci",
help="ci command to verify certain aspects and expectations in pipelines", help="ci command to verify certain aspects and expectations in pipelines",
@ -199,6 +204,14 @@ def main() -> None: # noqa: ignore=C901
) )
elif "ci" == args.subcommand: elif "ci" == args.subcommand:
ci(working_dir=working_dir, keyring_root=keyring_root, project_root=project_root) ci(working_dir=working_dir, keyring_root=keyring_root, project_root=project_root)
elif "check" == args.subcommand:
verify(
working_dir=working_dir,
keyring_root=keyring_root,
sources=[keyring_root],
lint_hokey=False,
lint_sq_keyring=False,
)
else: else:
parser.print_help() parser.print_help()