From d63950be199c59b48b9022fe633b18558afe0ffb Mon Sep 17 00:00:00 2001 From: Evgenii Alekseev Date: Fri, 29 Nov 2024 17:07:09 +0200 Subject: [PATCH] ci: create regress job --- .github/workflows/regress.yml | 74 +++++++++++++++++++++++++++++++++++ docker/Dockerfile | 1 + docker/entrypoint-web.sh | 5 +++ 3 files changed, 80 insertions(+) create mode 100644 .github/workflows/regress.yml create mode 100755 docker/entrypoint-web.sh diff --git a/.github/workflows/regress.yml b/.github/workflows/regress.yml new file mode 100644 index 00000000..126241a8 --- /dev/null +++ b/.github/workflows/regress.yml @@ -0,0 +1,74 @@ +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: Create user + run: | + sudo -u ahriman ahriman \ + --log-handler "$AHRIMAN_OUTPUT" \ + user-add \ + --packager "github actions " \ + --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 packages + run: | + sudo -u ahriman ahriman \ + --log-handler "$AHRIMAN_OUTPUT" \ + repo-update \ + --exit-code \ + || true diff --git a/docker/Dockerfile b/docker/Dockerfile index fe0e87ad..c2618b96 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -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"] diff --git a/docker/entrypoint-web.sh b/docker/entrypoint-web.sh new file mode 100755 index 00000000..af6532ab --- /dev/null +++ b/docker/entrypoint-web.sh @@ -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 "$@" \ No newline at end of file