Files
devstar/.gitea/workflows/devstar-studio-autotest.yaml
孟宁 130bb879f2 !109 添加了对webterminal:latest镜像拉取异常处理
* 添加了对webterminal:latest镜像拉取异常处理
* Merge branch 'main' into custom/devstar
2025-10-20 09:50:53 +00:00

100 lines
3.3 KiB
YAML

# DevStar 自动化测试工作流定义
#
# Artifact命名规则:
# 1. ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:latest
# e.g., devstar.cn/devstar/devstar-studio:latest
# 2. ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT}}:rootless-dev-${{ gitea.sha }}
# e.g., devstar.cn/devstar/devstar-studio:rootless-dev-0047d315a3f73cca0c18c641d24b0347456618d5
# 其中,
# - rootless 表示非 root 权限容器
# - dev 表示开发版本
# - ${{ gitea.sha }} 表示触发 CI Workflow 的 commit SHA
#
# 构建参数设置
# 点击仓库 > 设置 > Actions > 密钥:
# - ${{ secrets.DOCKER_REGISTRY_USERNAME }}: Docker Registry 用户名
# - ${{ secrets.DOCKER_REGISTRY_PASSWORD }}: Docker Registry 密码
# 点击仓库 > 设置 > Actions > 变量:
# - ${{ vars.DOCKER_REGISTRY_ADDRESS }}: Docker Registry 域名, e.g., `devstar.cn`
# - ${{ vars.DOCKER_REPOSITORY_ARTIFACT}}: 制品名称, e.g., `devstar/devstar-studio`
#
name: DevStar Studio Auto Test Pipeline
on:
push:
branches:
- main
pull_request:
branches:
- main
#进行代码单元测试-集成测试-端到端测试
jobs:
#前端单元测试
unit-frontend-test:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: https://github.com/actions/checkout@v4
- name: Prepare environment
uses: https://github.com/actions/setup-node@v4
with:
node-version: 24
cache: npm
cache-dependency-path: package-lock.json
- run: make deps-frontend
- run: make test-frontend
#后端单元测试
unit-backend-test:
runs-on: ubuntu-latest
services:
elasticsearch:
image: elasticsearch:7.5.0
env:
discovery.type: single-node
ports:
- "9200:9200"
meilisearch:
image: getmeili/meilisearch:v1
env:
MEILI_ENV: development # disable auth
ports:
- "7700:7700"
redis:
image: redis
options: >- # wait until redis has started
--health-cmd "redis-cli ping"
--health-interval 5s
--health-timeout 3s
--health-retries 10
ports:
- 6379:6379
minio:
image: bitnami/minio:2021.3.17
env:
MINIO_ACCESS_KEY: 123456
MINIO_SECRET_KEY: 12345678
ports:
- "9000:9000"
devstoreaccount1.azurite.local: # https://github.com/Azure/Azurite/issues/1583
image: mcr.microsoft.com/azure-storage/azurite:latest
ports:
- 10000:10000
steps:
- uses: https://github.com/actions/checkout@v4
- uses: https://github.com/actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
- name: Add hosts to /etc/hosts
run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 minio devstoreaccount1.azurite.local mysql elasticsearch meilisearch smtpimap " | sudo tee -a /etc/hosts'
- run: go clean -modcache
- run: GOPROXY=https://goproxy.cn make deps-backend
- run: make backend
env:
TAGS: bindata
- name: unit-tests
run: make test-backend
env:
GITEA_I_AM_BEING_UNSAFE_RUNNING_AS_ROOT: "true"