mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-29 09:47:17 +00:00
Compare commits
No commits in common. "e0b0c3caeb319ea63c3fb3759a5d5338d06923ea" and "e441d93a561edb96ec71355f529b536bfb24f5ea" have entirely different histories.
e0b0c3caeb
...
e441d93a56
16
.github/workflows/run-setup.yml
vendored
16
.github/workflows/run-setup.yml
vendored
@ -7,22 +7,6 @@ on:
|
|||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-setup-minimal:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
container:
|
|
||||||
image: archlinux:latest
|
|
||||||
volumes:
|
|
||||||
- ${{ github.workspace }}:/build
|
|
||||||
options: --privileged -w /build
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: setup the minimal service in arch linux container
|
|
||||||
run: .github/workflows/setup.sh minimal
|
|
||||||
|
|
||||||
run-setup:
|
run-setup:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
31
.github/workflows/setup.sh
vendored
31
.github/workflows/setup.sh
vendored
@ -3,8 +3,6 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
[[ $1 = "minimal" ]] && MINIMAL_INSTALL=1
|
|
||||||
|
|
||||||
# install dependencies
|
# install dependencies
|
||||||
echo -e '[arcanisrepo]\nServer = http://repo.arcanis.me/$arch\nSigLevel = Never' | tee -a /etc/pacman.conf
|
echo -e '[arcanisrepo]\nServer = http://repo.arcanis.me/$arch\nSigLevel = Never' | tee -a /etc/pacman.conf
|
||||||
# refresh the image
|
# refresh the image
|
||||||
@ -14,14 +12,12 @@ pacman --noconfirm -Sy base-devel devtools git pyalpm python-aur python-passlib
|
|||||||
# make dependencies
|
# make dependencies
|
||||||
pacman --noconfirm -Sy python-build python-installer python-wheel
|
pacman --noconfirm -Sy python-build python-installer python-wheel
|
||||||
# optional dependencies
|
# optional dependencies
|
||||||
if [[ -z $MINIMAL_INSTALL ]]; then
|
# VCS support
|
||||||
# VCS support
|
pacman --noconfirm -Sy breezy darcs mercurial subversion
|
||||||
pacman --noconfirm -Sy breezy darcs mercurial subversion
|
# web server
|
||||||
# web server
|
pacman --noconfirm -Sy python-aioauth-client python-aiohttp python-aiohttp-debugtoolbar python-aiohttp-jinja2 python-aiohttp-security python-aiohttp-session python-cryptography python-jinja
|
||||||
pacman --noconfirm -Sy python-aioauth-client python-aiohttp python-aiohttp-debugtoolbar python-aiohttp-jinja2 python-aiohttp-security python-aiohttp-session python-cryptography python-jinja
|
# additional features
|
||||||
# additional features
|
pacman --noconfirm -Sy gnupg python-boto3 rsync
|
||||||
pacman --noconfirm -Sy gnupg python-boto3 rsync
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create fresh tarball
|
# create fresh tarball
|
||||||
make VERSION=1.0.0 archlinux # well, it does not really matter which version we will put here
|
make VERSION=1.0.0 archlinux # well, it does not really matter which version we will put here
|
||||||
@ -37,17 +33,14 @@ systemd-machine-id-setup
|
|||||||
# special thing for the container, because /dev/log interface is not available there
|
# special thing for the container, because /dev/log interface is not available there
|
||||||
sed -i "s/handlers = syslog_handler/handlers = console_handler/g" /etc/ahriman.ini.d/logging.ini
|
sed -i "s/handlers = syslog_handler/handlers = console_handler/g" /etc/ahriman.ini.d/logging.ini
|
||||||
# initial setup command as root
|
# initial setup command as root
|
||||||
[[ -z $MINIMAL_INSTALL ]] && WEB_ARGS=("--web-port" "8080")
|
ahriman -a x86_64 repo-setup --packager "ahriman bot <ahriman@example.com>" --repository "github" --web-port 8080
|
||||||
ahriman -a x86_64 repo-setup --packager "ahriman bot <ahriman@example.com>" --repository "github" "${WEB_ARGS[@]}"
|
|
||||||
# enable services
|
# enable services
|
||||||
systemctl enable ahriman-web@x86_64
|
systemctl enable ahriman-web@x86_64
|
||||||
systemctl enable ahriman@x86_64.timer
|
systemctl enable ahriman@x86_64.timer
|
||||||
if [[ -z $MINIMAL_INSTALL ]]; then
|
# run web service (detached)
|
||||||
# run web service (detached)
|
sudo -u ahriman -- ahriman -a x86_64 web &
|
||||||
sudo -u ahriman -- ahriman -a x86_64 web &
|
WEBPID=$!
|
||||||
WEB_PID=$!
|
sleep 15s # wait for the web service activation
|
||||||
sleep 15s # wait for the web service activation
|
|
||||||
fi
|
|
||||||
# add the first package
|
# add the first package
|
||||||
# the build itself does not really work in the container
|
# the build itself does not really work in the container
|
||||||
sudo -u ahriman -- ahriman package-add --now yay
|
sudo -u ahriman -- ahriman package-add --now yay
|
||||||
@ -56,4 +49,4 @@ sudo -u ahriman -- ahriman package-add --now yay
|
|||||||
# run package check
|
# run package check
|
||||||
sudo -u ahriman -- ahriman repo-update
|
sudo -u ahriman -- ahriman repo-update
|
||||||
# stop web service lol
|
# stop web service lol
|
||||||
[[ -z $WEB_PID ]] || kill $WEB_PID
|
kill $WEBPID
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
import sqlite3
|
import sqlite3
|
||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
from sqlite3 import Connection, Cursor
|
||||||
from typing import Any, Dict, Tuple, TypeVar, Callable
|
from typing import Any, Dict, Tuple, TypeVar, Callable
|
||||||
|
|
||||||
from ahriman.core.lazy_logging import LazyLogging
|
from ahriman.core.lazy_logging import LazyLogging
|
||||||
@ -45,7 +46,7 @@ class Operations(LazyLogging):
|
|||||||
self.path = path
|
self.path = path
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def factory(cursor: sqlite3.Cursor, row: Tuple[Any, ...]) -> Dict[str, Any]:
|
def factory(cursor: Cursor, row: Tuple[Any, ...]) -> Dict[str, Any]:
|
||||||
"""
|
"""
|
||||||
dictionary factory based on official documentation
|
dictionary factory based on official documentation
|
||||||
|
|
||||||
@ -61,7 +62,7 @@ class Operations(LazyLogging):
|
|||||||
result[column[0]] = row[index]
|
result[column[0]] = row[index]
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def with_connection(self, query: Callable[[sqlite3.Connection], T], commit: bool = False) -> T:
|
def with_connection(self, query: Callable[[Connection], T], commit: bool = False) -> T:
|
||||||
"""
|
"""
|
||||||
perform operation in connection
|
perform operation in connection
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user