1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-04-27 11:01:14 +00:00
seahub/.github/workflows/test.yml
Huang Junxiang 6d9d952079
revert: Python 3.8 compatibility (#7690)
* revert: Python 3.8 compatibility

* update(settings.py): default value for CACHE

* fix(settings.py): fetch redis cfg locations from env

* update requirements

* feat(gitcli::test.yml): support redis test

* feat(gitcli::test.yml): support redis test

* style(gitcli::test.yml): trailing blank line
2025-03-31 15:50:11 +08:00

71 lines
2.6 KiB
YAML

name: Seahub Test CI
on:
pull_request:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
REDIS_HOST: localhost
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
services:
redis:
image: redis:latest
options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 3
ports:
- 6379:6379
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.8"
- name: apt install
run: |
sudo apt-get update --fix-missing
sudo apt-get install -y libevent-dev libcurl4-openssl-dev libglib2.0-dev
sudo apt-get install -y uuid-dev intltool libsqlite3-dev build-essential
sudo apt-get install -y libarchive-dev libtool libjansson-dev valac
sudo apt-get install -y libfuse-dev cmake re2c flex sqlite3
sudo apt-get install -y libssl-dev libsasl2-dev libldap2-dev libonig-dev
sudo apt-get install -y libxml2 libxml2-dev libjwt-dev
- name: clone and build
run: |
git clone --depth=1 --branch=master https://github.com/haiwen/seafile-test-deploy /tmp/seafile-test-deploy
cd /tmp/seafile-test-deploy && git fetch origin master:master && git checkout master
export JWT_PRIVATE_KEY=qwertyuiop SITE_ROOT=/ SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub
./bootstrap.sh
- name: pip install
run: |
cd $GITHUB_WORKSPACE
pip install -r test-requirements.txt
sudo rm -rf /usr/lib/python3/dist-packages/pytz/
- name: Set REDIS_HOST environment variable
run: |
echo "REDIS_HOST=localhost" >> $GITHUB_ENV
- name: run pytest
run: |
cd $GITHUB_WORKSPACE
rm -r tests/seahub/repo_metadata
export CCNET_CONF_DIR=/tmp/ccnet SEAFILE_CONF_DIR=/tmp/seafile-data TRAVIS=1 SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub
if ./tests/test_seahub_changes.sh; then ./tests/seahubtests.sh init && ./tests/seahubtests.sh runserver && ./tests/seahubtests.sh test; else true; fi
- uses: actions/setup-node@v2
with:
node-version: "20.x"
- name: run npm lint and npm test
run: |
cd $GITHUB_WORKSPACE/tests/
if chmod +x test_frontend_changes.sh && ./test_frontend_changes.sh; then chmod +x github_actions_npm_lint.sh && ./github_actions_npm_lint.sh; else true; fi