Skip to content

Commit ce81031

Browse files
committed
Add cache support in pre-commit.
1 parent da4717c commit ce81031

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed

.woodpecker/docker.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@ when:
22
- event: push
33
- event: pull_request
44

5+
variables:
6+
- &docker_config
7+
DOCKER_CACHE: /woodpecker/cache/docker
8+
- &minio_config
9+
MINIO_HOST: https://s3.kclab.cloud
10+
MINIO_ACCESS_KEY:
11+
from_secret: minio_access_key
12+
MINIO_SECRET_KEY:
13+
from_secret: minio_secret_key
14+
MINIO_BUCKET: cache-53030
15+
516
clone:
617
git:
718
image: woodpeckerci/plugin-git:2.6
@@ -10,6 +21,17 @@ clone:
1021
partial: false
1122

1223
steps:
24+
- name: open cache
25+
image: minio/mc:latest
26+
environment:
27+
<<: [*docker_config, *minio_config]
28+
commands:
29+
- mkdir --parents $${DOCKER_CACHE}
30+
- touch $${DOCKER_CACHE}/.keep
31+
- mc alias set minio $${MINIO_HOST} $${MINIO_ACCESS_KEY} $${MINIO_SECRET_KEY}
32+
- mc cp --recursive minio/$${MINIO_BUCKET}/${CI_REPO}/docker/ $${DOCKER_CACHE}/
33+
failure: ignore
34+
1335
- name: tagging
1436
image: mcp/git:latest
1537
commands:
@@ -24,8 +46,20 @@ steps:
2446
from_secret: gitea_package
2547
registry: git.kclab.cloud
2648
tags_file: .tag
49+
cache-to: type=local,dest=/woodpecker/cache/docker
50+
cache-from:
51+
- type=local\\,src=/woodpecker/cache/docker
2752
buildkit_config: |
2853
[registry."docker.io"]
2954
mirrors = ["https://docker.mirrors.kclab.cloud/"]
3055
build_args:
3156
PYPI_MIRROR: https://mirrors.ustc.edu.cn/pypi/simple
57+
58+
- name: save cache
59+
image: minio/mc:latest
60+
environment:
61+
<<: [*docker_config, *minio_config]
62+
commands:
63+
- mc alias set minio $${MINIO_HOST} $${MINIO_ACCESS_KEY} $${MINIO_SECRET_KEY}
64+
- mc cp --recursive $${DOCKER_CACHE}/ minio/$${MINIO_BUCKET}/${CI_REPO}/docker/
65+
failure: ignore

.woodpecker/pre-commit.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,41 @@ when:
55
variables:
66
- &pip_config
77
PIP_INDEX_URL: https://mirrors.ustc.edu.cn/pypi/simple
8+
- &pre_commit_config
9+
PRE_COMMIT_HOME: /woodpecker/cache/pre-commit
10+
- &minio_config
11+
MINIO_HOST: https://s3.kclab.cloud
12+
MINIO_ACCESS_KEY:
13+
from_secret: minio_access_key
14+
MINIO_SECRET_KEY:
15+
from_secret: minio_secret_key
16+
MINIO_BUCKET: cache-53030
817

918
steps:
19+
- name: open cache
20+
image: minio/mc:latest
21+
environment:
22+
<<: [*pre_commit_config, *minio_config]
23+
commands:
24+
- mkdir --parents $${PRE_COMMIT_HOME}
25+
- touch $${PRE_COMMIT_HOME}/.keep
26+
- mc alias set minio $${MINIO_HOST} $${MINIO_ACCESS_KEY} $${MINIO_SECRET_KEY}
27+
- mc cp --recursive minio/$${MINIO_BUCKET}/${CI_REPO}/pre-commit/ $${PRE_COMMIT_HOME}/
28+
failure: ignore
29+
1030
- name: pre-commit
1131
image: python:3.12
1232
environment:
13-
<<: *pip_config
33+
<<: [*pre_commit_config, *pip_config]
1434
commands:
1535
- pip install pre-commit
1636
- pip install '.[dev]'
1737
- pre-commit run --all-files
38+
39+
- name: save cache
40+
image: minio/mc:latest
41+
environment:
42+
<<: [*pre_commit_config, *minio_config]
43+
commands:
44+
- mc alias set minio $${MINIO_HOST} $${MINIO_ACCESS_KEY} $${MINIO_SECRET_KEY}
45+
- mc cp --recursive $${PRE_COMMIT_HOME}/ minio/$${MINIO_BUCKET}/${CI_REPO}/pre-commit/

0 commit comments

Comments
 (0)