From b38b0d83bbb047c2e1a79621bb72e6effb0200fc Mon Sep 17 00:00:00 2001 From: Lixi20 Date: Fri, 4 Sep 2026 18:02:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20CI=20=E6=94=B9=E7=94=A8=20apt=20?= =?UTF-8?q?=E5=AE=89=E8=A3=85=20JDK17=20=E5=B9=B6=E5=8A=A0=20concurrency?= =?UTF-8?q?=20=E5=8F=96=E6=B6=88=E6=97=A7=20run?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - setup-java 从 github.com 下载 JDK 二进制在服务器网络不可达(实测 ETIMEDOUT), 改为 apt 安装 openjdk-17-jdk-headless,apt 源优先切腾讯云镜像 - 同分支连推提交时自动取消旧的排队/进行中 run --- .gitea/workflows/ci.yml | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index d95e151..5dd0de4 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -6,9 +6,9 @@ # 2. 注册一个 act_runner,且 runner 所在主机具备: # - Docker(Testcontainers 需要,跑 postgres:18 一次性容器) # - 标签 ubuntu-latest 映射到含 bash/git 的镜像,或 host 模式执行 -# 3. 若 runner 无法访问 github.com 拉取 actions/*,可在 runner 配置 -# [actions].DEFAULT_ACTIONS_URL 指向镜像源,或将下方 setup-java 步骤 -# 替换为直接使用预装 JDK 17 的 runner 镜像并删除该步骤。 +# 3. 服务器无法访问 github.com:actions/* 本体经 app.ini 的 +# [actions].DEFAULT_ACTIONS_URL = https://gitea.com 拉取; +# JDK 用 apt 安装(见下方步骤),不依赖 GitHub 下载二进制。 # # 未启用 Actions 时本文件无副作用。 name: CI @@ -18,14 +18,26 @@ on: branches: [dev] pull_request: +# 同分支连推多个提交时,自动取消旧的排队/进行中 run,只跑最新 +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + jobs: backend-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: '17' + # 不用 actions/setup-java:它从 github.com 下载 JDK 二进制, + # 服务器无法访问 GitHub(实测 ETIMEDOUT)。改用 apt 装 OpenJDK 17, + # 并优先切换到腾讯云镜像源(runner 在腾讯云,内网加速)。 + - name: Install JDK 17 via apt + run: | + sed -i 's|http://archive.ubuntu.com|https://mirrors.cloud.tencent.com|g; s|http://security.ubuntu.com|https://mirrors.cloud.tencent.com|g' /etc/apt/sources.list 2>/dev/null || true + sed -i 's|http://archive.ubuntu.com|https://mirrors.cloud.tencent.com|g; s|http://security.ubuntu.com|https://mirrors.cloud.tencent.com|g' /etc/apt/sources.list.d/*.sources 2>/dev/null || true + apt-get update -qq + apt-get install -y -qq --no-install-recommends openjdk-17-jdk-headless + echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> "$GITHUB_ENV" + java -version # 与本地门禁同一命令;BUILD SUCCESS 且 0 失败方可合入(git-workflow.md) - run: ./mvnw -B clean test