Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
f0e53d1
fix(drivers/alias): default sort & substitute link (#1917)
KirCute Jan 26, 2026
29fcf59
fix(drivers/cloudreve_v4): add IsFolder attribute to Getter response …
xrgzs Jan 28, 2026
edc3fb6
feat(docs): add CLAUDE.md for project guidance and development instru…
Jan 4, 2026
249b090
fix(driver): fix file copy failure to 123pan due to incorrect etag
Dec 28, 2025
02b7684
feat: Implement streaming upload for Baidu Netdisk
Jan 1, 2026
769ea55
feat(upload): enhance hash calculation and upload logic for various s…
Jan 4, 2026
9dd9ff9
feat(link): add link refresh capability for expired download links
Jan 4, 2026
65260a4
feat(network): 增加对慢速网络的支持,调整超时和重试机制
Jan 5, 2026
aca58ce
fix: 修复500 panic和NaN问题
Jan 9, 2026
2f3619b
fix(alias): update storage retrieval method in listRoot function
Jan 4, 2026
b4702cb
fix(copy_move): 将预创建子目录的深度从2级调整为1级,以避免深度递归问题
Jan 11, 2026
78c510d
fix(driver): 增加夸克分片大小调整逻辑,支持重试机制以应对超限错误
Jan 12, 2026
229a706
refactor(stream): 移除过时的链接刷新逻辑,添加自愈读取器以处理0字节读取
Jan 13, 2026
957e42a
fix(google_drive): 更新Put方法以支持可重复读取流和不可重复读取流的MD5校验
Jan 13, 2026
aebec0a
ci: use Ironboxplus/OpenList-Frontend for beta builds
Jan 13, 2026
fe0c4b0
perf: optimize CI build speed with smart caching
Jan 13, 2026
cbf7d44
fix(stream): 修复链接过期检测逻辑,避免将上下文取消视为链接过期
Jan 14, 2026
c445510
refactor(workflow): 使用默认前端仓库,移除自定义前端仓库配置
Jan 14, 2026
cd20ea5
feat(google_drive): 添加处理重复文件名的功能,确保文件名唯一
Jan 14, 2026
253fd4b
feat(quark_open): 添加速率限制和重试逻辑,优化文件上传处理
Jan 17, 2026
c7f308e
feat(google_drive): 添加文件夹创建的锁机制和重试逻辑,确保文件夹唯一性
Jan 17, 2026
ed34b8e
refactor(link): 优化链接缓存逻辑,移除对 SyncClosers 的依赖,简化过期判断
Jan 18, 2026
27c4ec0
fix(stream): 更新过期链接检查逻辑,支持所有4xx客户端错误
Jan 18, 2026
f69e485
fix(115_open): 修复重复链接错误处理,通过检测错误码10008自动删除并重试
Jan 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 52 additions & 31 deletions .github/workflows/test_docker.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,74 @@
name: Beta Release (Docker)

on:
workflow_dispatch:
push:
branches:
- main
pull_request:
branches:
- main
- copy


concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
DOCKERHUB_ORG_NAME: ${{ vars.DOCKERHUB_ORG_NAME || 'openlistteam' }}
GHCR_ORG_NAME: ${{ vars.GHCR_ORG_NAME || 'openlistteam' }}
IMAGE_NAME: openlist-git
IMAGE_NAME_DOCKERHUB: openlist
GHCR_ORG_NAME: ${{ vars.GHCR_ORG_NAME || 'ironboxplus' }} # 👈 最好改成你的用户名,防止推错地方
IMAGE_NAME: openlist
REGISTRY: ghcr.io
ARTIFACT_NAME: 'binaries_docker_release'
RELEASE_PLATFORMS: 'linux/amd64,linux/arm64,linux/arm/v7,linux/386,linux/arm/v6,linux/ppc64le,linux/riscv64,linux/loong64' ### Temporarily disable Docker builds for linux/s390x architectures for unknown reasons.
IMAGE_PUSH: ${{ github.event_name == 'push' }}
# 👇 关键修改:只保留 linux/amd64,删掉后面一长串
RELEASE_PLATFORMS: 'linux/amd64'
# 👇 关键修改:强制允许推送,不用管是不是 push 事件
IMAGE_PUSH: 'true'
# 👇 使用默认的前端仓库 (OpenListTeam/OpenList-Frontend)
# FRONTEND_REPO: 'Ironboxplus/OpenList-Frontend'
IMAGE_TAGS_BETA: |
type=ref,event=pr
type=raw,value=beta,enable={{is_default_branch}}
type=raw,value=beta-retry

jobs:
build_binary:
name: Build Binaries for Docker Release (Beta)
name: Build Binaries (x64 Only)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/setup-go@v5
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.25.0'
cache: true
cache-dependency-path: go.sum

# 获取前端仓库的最新commit SHA
- name: Get Frontend Commit SHA
id: frontend-sha
run: |
FRONTEND_REPO="${{ env.FRONTEND_REPO }}"
# 如果未设置FRONTEND_REPO,使用默认值
if [ -z "$FRONTEND_REPO" ]; then
FRONTEND_REPO="OpenListTeam/OpenList-Frontend"
fi
FRONTEND_SHA=$(curl -s https://api.github.com/repos/$FRONTEND_REPO/commits/main | jq -r '.sha')
echo "sha=$FRONTEND_SHA" >> $GITHUB_OUTPUT
echo "repo=$FRONTEND_REPO" >> $GITHUB_OUTPUT
echo "Frontend repo: $FRONTEND_REPO"
echo "Frontend repo latest commit: $FRONTEND_SHA"

# 缓存前端下载 - key包含前端仓库的commit SHA
- name: Cache Frontend
id: cache-frontend
uses: actions/cache@v4
with:
path: public/dist
key: frontend-${{ steps.frontend-sha.outputs.repo }}-${{ steps.frontend-sha.outputs.sha }}
restore-keys: |
frontend-${{ steps.frontend-sha.outputs.repo }}-

# 即使只构建 x64,我们也需要 musl 工具链(因为 BuildDockerMultiplatform 默认会检查它)
- name: Cache Musl
id: cache-musl
uses: actions/cache@v4
Expand All @@ -51,11 +82,12 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Build go binary (beta)
- name: Build go binary
# 这里还是跑 docker-multiplatform,虽然会多编译一些架构,但这是兼容 Dockerfile 路径最稳妥的方法
run: bash build.sh beta docker-multiplatform
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FRONTEND_REPO: ${{ vars.FRONTEND_REPO }}
# FRONTEND_REPO 使用 build.sh 默认值 (OpenListTeam/OpenList-Frontend)

- name: Upload artifacts
uses: actions/upload-artifact@v4
Expand All @@ -69,12 +101,13 @@ jobs:

release_docker:
needs: build_binary
name: Release Docker image (Beta)
name: Release Docker (x64)
runs-on: ubuntu-latest
permissions:
packages: write
strategy:
matrix:
# 构建所有变体
image: ["latest", "ffmpeg", "aria2", "aio"]
include:
- image: "latest"
Expand Down Expand Up @@ -102,49 +135,37 @@ jobs:
with:
name: ${{ env.ARTIFACT_NAME }}
path: 'build/'

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# 👇 只保留 GitHub 登录,删除了 DockerHub 登录
- name: Login to GitHub Container Registry
if: env.IMAGE_PUSH == 'true'
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Login to DockerHub Container Registry
if: env.IMAGE_PUSH == 'true'
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_ORG_NAME_BACKUP || env.DOCKERHUB_ORG_NAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.GHCR_ORG_NAME }}/${{ env.IMAGE_NAME }}
${{ env.DOCKERHUB_ORG_NAME }}/${{ env.IMAGE_NAME_DOCKERHUB }}
tags: ${{ env.IMAGE_TAGS_BETA }}
flavor: |
${{ matrix.tag_favor }}
flavor: ${{ matrix.tag_favor }}

- name: Build and push
id: docker_build
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile.ci
push: ${{ env.IMAGE_PUSH == 'true' }}
push: true
build-args: |
BASE_IMAGE_TAG=${{ matrix.base_image_tag }}
${{ matrix.build_arg }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: ${{ env.RELEASE_PLATFORMS }}
cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.GHCR_ORG_NAME }}/${{ env.IMAGE_NAME }}:buildcache-${{ matrix.image }}
cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.GHCR_ORG_NAME }}/${{ env.IMAGE_NAME }}:buildcache-${{ matrix.image }},mode=max
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ output/
/public/dist/*
/!public/dist/README.md

.VSCodeCounter
.VSCodeCounter
nul
Loading