mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-24 15:27:17 +00:00
Compare commits
2 Commits
d63950be19
...
8b08bfe3b4
Author | SHA1 | Date | |
---|---|---|---|
8b08bfe3b4 | |||
e34356989d |
136
.github/workflows/regress.yml
vendored
Normal file
136
.github/workflows/regress.yml
vendored
Normal file
@ -0,0 +1,136 @@
|
||||
name: Regress
|
||||
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
run-regress-tests:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
services:
|
||||
ahriman:
|
||||
image: arcan1s/ahriman:edge
|
||||
env:
|
||||
AHRIMAN_PORT: 8080
|
||||
AHRIMAN_UNIX_SOCKET: /var/lib/ahriman/ahriman/ahriman-web.sock
|
||||
options: --privileged --entrypoint entrypoint-web
|
||||
ports:
|
||||
- 8080
|
||||
volumes:
|
||||
- repo:/var/lib/ahriman
|
||||
|
||||
container:
|
||||
image: arcan1s/ahriman:edge
|
||||
env:
|
||||
AHRIMAN_DEBUG: y
|
||||
AHRIMAN_OUTPUT: console
|
||||
AHRIMAN_PORT: 8080
|
||||
AHRIMAN_UNIX_SOCKET: /var/lib/ahriman/ahriman/ahriman-web.sock
|
||||
options: --privileged
|
||||
volumes:
|
||||
- repo:/var/lib/ahriman
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- run: pacman -Sy
|
||||
|
||||
- name: Init repository
|
||||
run: entrypoint help
|
||||
|
||||
- name: Print configuration
|
||||
run: |
|
||||
ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
service-config
|
||||
|
||||
- name: Validate configuration
|
||||
run: |
|
||||
ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
service-config-validate
|
||||
|
||||
- name: Create a user
|
||||
run: |
|
||||
sudo -u ahriman ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
user-add \
|
||||
--packager "github actions <actions@github.com>" \
|
||||
--password ahriman \
|
||||
--role full \
|
||||
ahriman
|
||||
|
||||
- name: Fetch users
|
||||
run: |
|
||||
ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
user-list \
|
||||
--exit-code
|
||||
|
||||
- name: Add package
|
||||
run: |
|
||||
sudo -u ahriman ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
package-add \
|
||||
--exit-code \
|
||||
--now \
|
||||
--refresh \
|
||||
ahriman
|
||||
|
||||
- name: Update status of the package
|
||||
run: |
|
||||
ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
package-status-update \
|
||||
--status failed \
|
||||
ahriman
|
||||
|
||||
- name: Request status of the package
|
||||
run: |
|
||||
ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
package-status \
|
||||
--exit-code \
|
||||
--info \
|
||||
--status failed \
|
||||
ahriman
|
||||
|
||||
- name: Update packages
|
||||
run: |
|
||||
sudo -u ahriman ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
repo-update \
|
||||
--exit-code \
|
||||
|| true
|
||||
|
||||
- name: Add patch
|
||||
run: |
|
||||
echo '${pkgver%%.*}' | \
|
||||
sudo -u ahriman ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
patch-add \
|
||||
ahriman \
|
||||
pkgrel
|
||||
|
||||
- name: Retrieve patches
|
||||
run: |
|
||||
ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
patch-list \
|
||||
--exit-code \
|
||||
ahriman
|
||||
|
||||
- name: Rebuild packages
|
||||
run: |
|
||||
sudo -u ahriman ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
repo-rebuild \
|
||||
--depends-on python \
|
||||
--exit-code
|
||||
|
||||
- name: Remove package
|
||||
run: |
|
||||
sudo -u ahriman ahriman \
|
||||
--log-handler "$AHRIMAN_OUTPUT" \
|
||||
package-remove \
|
||||
ahriman
|
@ -136,6 +136,7 @@ VOLUME ["/var/lib/ahriman"]
|
||||
COPY "docker/systemd-nspawn.sh" "/usr/local/bin/systemd-nspawn"
|
||||
## entrypoint setup
|
||||
COPY "docker/entrypoint.sh" "/usr/local/bin/entrypoint"
|
||||
COPY "docker/entrypoint-web.sh" "/usr/local/bin/entrypoint-web"
|
||||
ENTRYPOINT ["entrypoint"]
|
||||
# default command
|
||||
CMD ["repo-update", "--refresh"]
|
||||
|
5
docker/entrypoint-web.sh
Executable file
5
docker/entrypoint-web.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Special workaround for running web service in github actions, must not be usually used in real environment,
|
||||
# consider running web command explicitly instead
|
||||
|
||||
exec entrypoint web "$@"
|
@ -54,7 +54,7 @@ class StatusUpdate(Handler):
|
||||
case Action.Update if args.package:
|
||||
# update packages statuses
|
||||
for package in args.package:
|
||||
client.package_update(package, args.status)
|
||||
client.package_status_update(package, args.status)
|
||||
case Action.Update:
|
||||
# update service status
|
||||
client.status_update(args.status)
|
||||
|
@ -49,7 +49,7 @@ def test_run_packages(args: argparse.Namespace, configuration: Configuration, re
|
||||
args = _default_args(args)
|
||||
args.package = ["package"]
|
||||
mocker.patch("ahriman.core.repository.Repository.load", return_value=repository)
|
||||
update_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.package_update")
|
||||
update_mock = mocker.patch("ahriman.core.status.local_client.LocalClient.package_status_update")
|
||||
|
||||
_, repository_id = configuration.check_loaded()
|
||||
StatusUpdate.run(args, repository_id, configuration, report=False)
|
||||
|
Loading…
Reference in New Issue
Block a user