lookyloo/.github/workflows/instance_test.yml

107 lines
2.9 KiB
YAML

name: Run local instance of lookyloo to test that current repo
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
splash-container:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{matrix.python-version}}
uses: actions/setup-python@v5
with:
python-version: ${{matrix.python-version}}
- name: Install poetry
run: pipx install poetry
- name: Clone Valkey
uses: actions/checkout@v4
with:
repository: valkey-io/valkey
path: valkey-tmp
ref: "8.0"
- name: Install and setup valkey
run: |
mv valkey-tmp ../valkey
pushd ..
pushd valkey
make
popd
popd
- name: Install system deps
run: |
sudo apt install libfuzzy-dev libmagic1
# playwright required deps.
# sudo apt install libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 libcups2 libxkbcommon0 libxdamage1 libgbm1 libpango-1.0-0 libcairo2 libatspi2.0-0
- name: Clone uwhoisd
uses: actions/checkout@v4
with:
repository: Lookyloo/uwhoisd
path: uwhoisd-tmp
- name: Install uwhoisd
run: |
sudo apt install whois
mv uwhoisd-tmp ../uwhoisd
pushd ..
pushd uwhoisd
poetry install
echo UWHOISD_HOME="'`pwd`'" > .env
poetry run start
popd
popd
- name: Install & run lookyloo
run: |
echo LOOKYLOO_HOME="'`pwd`'" > .env
cp config/generic.json.sample config/generic.json
cp config/modules.json.sample config/modules.json
cp config/takedown_filters.ini.sample config/takedown_filters.ini
poetry install -vvv
poetry run playwright install-deps
poetry run playwright install
poetry run tools/validate_config_files.py --check
poetry run tools/validate_config_files.py --update
poetry run tools/3rdparty.py
jq '.UniversalWhois.enabled = true' config/modules.json > temp.json && mv temp.json config/modules.json
poetry run start
- name: Clone PyLookyloo
uses: actions/checkout@v4
with:
repository: Lookyloo/PyLookyloo
path: PyLookyloo
- name: Install pylookyloo and run test
run: |
pushd PyLookyloo
poetry install
poetry run python -m pytest tests/testing_github.py
popd
- name: Stop instance
run: |
poetry run stop
- name: Logs
if: ${{ always() }}
run: |
find -wholename ./logs/*.log -exec cat {} \;
find -wholename ./website/logs/*.log -exec cat {} \;