ci: avoid GitHub action downloads
CI / test (pull_request) Canceled after 4m58s

This commit is contained in:
2026-08-08 22:53:09 +08:00
parent 8b8676f854
commit cee657faac
2 changed files with 24 additions and 29 deletions
+12 -14
View File
@@ -20,35 +20,33 @@ jobs:
--health-timeout 5s --health-timeout 5s
--health-retries 20 --health-retries 20
steps: steps:
- uses: actions/checkout@v4 - uses: https://gitea.com/actions/checkout@v4
- uses: actions/setup-python@v5 - name: Show Python version
with: run: python3 --version
python-version: "3.11"
cache: pip
- name: Install MySQL build dependencies - name: Install MySQL build dependencies
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y default-libmysqlclient-dev pkg-config sudo apt-get install -y default-libmysqlclient-dev pkg-config
- name: Install dependencies - name: Install dependencies
run: pip install -r requirements-dev.txt run: python3 -m pip install -r requirements-dev.txt
- name: Check migrations - name: Check migrations
working-directory: backend working-directory: backend
run: python manage.py makemigrations --check --dry-run run: python3 manage.py makemigrations --check --dry-run
- name: Django checks - name: Django checks
working-directory: backend working-directory: backend
run: python manage.py check run: python3 manage.py check
- name: ASGI import check - name: ASGI import check
working-directory: backend working-directory: backend
run: python -c "from config.asgi import application; print(type(application).__name__)" run: python3 -c "from config.asgi import application; print(type(application).__name__)"
- name: Unit tests - name: Unit tests
run: pytest -q run: python3 -m pytest -q
- name: MySQL migrations and tests - name: MySQL migrations and tests
env: env:
DATABASE_URL: mysql://root:ci-root-password@mysql:3306/hulumath DATABASE_URL: mysql://root:ci-root-password@mysql:3306/hulumath
run: | run: |
python backend/manage.py check --database default python3 backend/manage.py check --database default
python backend/manage.py check_mysql python3 backend/manage.py check_mysql
python backend/manage.py migrate --noinput python3 backend/manage.py migrate --noinput
pytest -q python3 -m pytest -q
- name: Build image - name: Build image
run: docker build -t hulumath:${{ gitea.sha }} . run: docker build -t hulumath:${{ gitea.sha }} .
+12 -15
View File
@@ -28,15 +28,12 @@ jobs:
--health-retries 20 --health-retries 20
steps: steps:
- name: 检出 main - name: 检出 main
uses: actions/checkout@v4 uses: https://gitea.com/actions/checkout@v4
with: with:
ref: main ref: main
- name: 配置 Python - name: 显示 Python 版本
uses: actions/setup-python@v5 run: python3 --version
with:
python-version: "3.11"
cache: pip
- name: 安装 MySQL 编译依赖 - name: 安装 MySQL 编译依赖
run: | run: |
@@ -44,31 +41,31 @@ jobs:
sudo apt-get install -y default-libmysqlclient-dev pkg-config sudo apt-get install -y default-libmysqlclient-dev pkg-config
- name: 安装测试依赖 - name: 安装测试依赖
run: pip install -r requirements-dev.txt run: python3 -m pip install -r requirements-dev.txt
- name: 检查迁移文件 - name: 检查迁移文件
working-directory: backend working-directory: backend
run: python manage.py makemigrations --check --dry-run run: python3 manage.py makemigrations --check --dry-run
- name: Django 系统检查 - name: Django 系统检查
working-directory: backend working-directory: backend
run: python manage.py check run: python3 manage.py check
- name: ASGI 启动导入检查 - name: ASGI 启动导入检查
working-directory: backend working-directory: backend
run: python -c "from config.asgi import application; print(type(application).__name__)" run: python3 -c "from config.asgi import application; print(type(application).__name__)"
- name: 运行测试 - name: 运行测试
run: pytest -q run: python3 -m pytest -q
- name: MySQL 迁移与全量测试 - name: MySQL 迁移与全量测试
env: env:
DATABASE_URL: mysql://root:ci-root-password@mysql:3306/hulumath DATABASE_URL: mysql://root:ci-root-password@mysql:3306/hulumath
run: | run: |
python backend/manage.py check --database default python3 backend/manage.py check --database default
python backend/manage.py check_mysql python3 backend/manage.py check_mysql
python backend/manage.py migrate --noinput python3 backend/manage.py migrate --noinput
pytest -q python3 -m pytest -q
deploy: deploy:
if: ${{ github.event.pull_request.merged == true }} if: ${{ github.event.pull_request.merged == true }}