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 {} \;