document website by github pages #193
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - develop | |
| pull_request: | |
| branches: | |
| - main | |
| - develop | |
| paths-ignore: | |
| - 'README.md' | |
| - 'demo/**' | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| # server: seekdb-server | |
| test_mode: [embedded, server, oceanbase, other] | |
| os: [ubuntu-latest] | |
| steps: | |
| - name: Free disk space | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: kfir4444/free-disk-space@main | |
| with: | |
| tool-cache: false | |
| android: true | |
| dotnet: true | |
| haskell: true | |
| large-packages: true | |
| swap-storage: true | |
| - name: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v3 | |
| with: | |
| python-version: '3.11' | |
| - name: Install Poetry | |
| run: | | |
| pip install poetry | |
| - name: Install dependencies | |
| run: | | |
| poetry install | |
| - name: Start OceanBase container | |
| if: matrix.test_mode == 'oceanbase' | |
| uses: oceanbase/setup-oceanbase-ce@v1 | |
| with: | |
| image_name: 'oceanbase/oceanbase-ce' | |
| image_tag: '4.5.0.0-100000012025112711' | |
| mode: 'mini' | |
| sql_port: 10000 | |
| datafile_size: '20G' | |
| log_disk_size: '10G' | |
| tenant_name: 'mysql' | |
| init_sql: "ALTER SYSTEM ob_vector_memory_limit_percentage = 30; create user 'jtuser'@'%'; GRANT SELECT, INSERT, UPDATE, DELETE ON test.* TO 'jtuser'@'%'; FLUSH PRIVILEGES;" | |
| - name: Start seekdb container | |
| if: matrix.test_mode == 'server' | |
| shell: bash | |
| run: | | |
| docker run --name seekdb-server -p 2881:2881 -d oceanbase/seekdb:latest | |
| sleep 15 | |
| docker logs seekdb-server | |
| - name: Run tests | |
| if: matrix.test_mode != 'other' | |
| run: | | |
| CI=1 SEEKDB_PATH=$HOME/seekdb.db OB_PORT=10000 SERVER_PORT=2881 poetry run pytest --log-cli-level=INFO -k 'test_${{ matrix.test_mode }}' | tee pytest.log | |
| cat pytest.log | awk '/^collected/{s=$8} /passed/{p=$2} END{if(s==p) print "✅ all passed "p"/"s; else print "❌ failed"; exit s!=p}' | |
| - name: Run other tests | |
| if: matrix.test_mode == 'other' | |
| run: | | |
| CI=1 poetry run pytest --log-cli-level=INFO -k 'test_${{ matrix.test_mode }}' | tee pytest.log | |
| cat pytest.log | awk '/^collected/{s=$8} /passed/{p=$2} END{if(s==p) print "✅ all passed "p"/"s; else print "❌ failed"; exit s!=p}' |