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"
|
COPY "docker/systemd-nspawn.sh" "/usr/local/bin/systemd-nspawn"
|
||||||
## entrypoint setup
|
## entrypoint setup
|
||||||
COPY "docker/entrypoint.sh" "/usr/local/bin/entrypoint"
|
COPY "docker/entrypoint.sh" "/usr/local/bin/entrypoint"
|
||||||
|
COPY "docker/entrypoint-web.sh" "/usr/local/bin/entrypoint-web"
|
||||||
ENTRYPOINT ["entrypoint"]
|
ENTRYPOINT ["entrypoint"]
|
||||||
# default command
|
# default command
|
||||||
CMD ["repo-update", "--refresh"]
|
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:
|
case Action.Update if args.package:
|
||||||
# update packages statuses
|
# update packages statuses
|
||||||
for package in args.package:
|
for package in args.package:
|
||||||
client.package_update(package, args.status)
|
client.package_status_update(package, args.status)
|
||||||
case Action.Update:
|
case Action.Update:
|
||||||
# update service status
|
# update service status
|
||||||
client.status_update(args.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 = _default_args(args)
|
||||||
args.package = ["package"]
|
args.package = ["package"]
|
||||||
mocker.patch("ahriman.core.repository.Repository.load", return_value=repository)
|
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()
|
_, repository_id = configuration.check_loaded()
|
||||||
StatusUpdate.run(args, repository_id, configuration, report=False)
|
StatusUpdate.run(args, repository_id, configuration, report=False)
|
||||||
|
Loading…
Reference in New Issue
Block a user