fix: CI 改用 apt 安装 JDK17 并加 concurrency 取消旧 run
CI / backend-test (push) Failing after 1m31s

- setup-java 从 github.com 下载 JDK 二进制在服务器网络不可达(实测 ETIMEDOUT),
  改为 apt 安装 openjdk-17-jdk-headless,apt 源优先切腾讯云镜像
- 同分支连推提交时自动取消旧的排队/进行中 run
This commit is contained in:
2026-09-04 18:02:23 +08:00
parent 6d47c5a2b6
commit b38b0d83bb
+19 -7
View File
@@ -6,9 +6,9 @@
# 2. 注册一个 act_runner,且 runner 所在主机具备: # 2. 注册一个 act_runner,且 runner 所在主机具备:
# - DockerTestcontainers 需要,跑 postgres:18 一次性容器) # - DockerTestcontainers 需要,跑 postgres:18 一次性容器)
# - 标签 ubuntu-latest 映射到含 bash/git 的镜像,或 host 模式执行 # - 标签 ubuntu-latest 映射到含 bash/git 的镜像,或 host 模式执行
# 3. 若 runner 无法访问 github.com 拉取 actions/*,可在 runner 配置 # 3. 服务器无法访问 github.comactions/* 本体经 app.ini 的
# [actions].DEFAULT_ACTIONS_URL 指向镜像源,或将下方 setup-java 步骤 # [actions].DEFAULT_ACTIONS_URL = https://gitea.com 拉取;
# 替换为直接使用预装 JDK 17 的 runner 镜像并删除该步骤 # JDK 用 apt 安装(见下方步骤),不依赖 GitHub 下载二进制
# #
# 未启用 Actions 时本文件无副作用。 # 未启用 Actions 时本文件无副作用。
name: CI name: CI
@@ -18,14 +18,26 @@ on:
branches: [dev] branches: [dev]
pull_request: pull_request:
# 同分支连推多个提交时,自动取消旧的排队/进行中 run,只跑最新
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
backend-test: backend-test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-java@v4 # 不用 actions/setup-java:它从 github.com 下载 JDK 二进制,
with: # 服务器无法访问 GitHub(实测 ETIMEDOUT)。改用 apt 装 OpenJDK 17
distribution: temurin # 并优先切换到腾讯云镜像源(runner 在腾讯云,内网加速)。
java-version: '17' - 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 # 与本地门禁同一命令;BUILD SUCCESS 且 0 失败方可合入(git-workflow.md
- run: ./mvnw -B clean test - run: ./mvnw -B clean test