update-image
Update Docker image versions in dockerfile-deps. Use when adding or bumping an image, Dockerfile dependency, version, or revision and opening an update/<image>/<version> PR that must pass Build Only CI.
معلومات المصدر
- المستودع
- btcpayserver/dockerfile-deps
- آخر نشاط في المصدر
- ٢ سبتمبر ٢٠٢٦ في ١٠:١٤
- لغة SKILL.md المكتشفة
- الإنجليزية
- النجوم
- ٣٢
- التفرعات
- ٥٦
خيارات التثبيت
يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.
مراجعة ملفات المصدر
اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.
عرض SKILL.md
SKILL.md
تعليمات المصدر · معاينة للقراءة فقط- name
- update-image
- description
- Update Docker image versions in dockerfile-deps. Use when adding or bumping an image, Dockerfile dependency, version, or revision and opening an update/<image>/<version> PR that must pass Build Only CI.
# Update An Image
Use this process to add or update an image without publishing it. Do not create
or push a release tag as part of an update PR; tags run the Build and Publish
workflow and publish to Docker Hub.
## Choose The Image Tag
Image tags use this format:
```text
<Image>/<version>(-<revision>)?
```
Examples:
```text
Bitcoin/31.1
Bitcoin/31.1-1
```
Match the image name's case to its top-level directory. The optional revision
is part of the image tag but not the source directory: both examples above use
files from `Bitcoin/31.1/`. The scripts treat everything after the first `-` in
the version component as the revision.
## Prepare The Change
1. Check `git status` and preserve changes that are not part of the update.
2. Start from an up-to-date `master` unless the user specifies another base.
3. Create a branch whose name is exactly the image tag prefixed with `update/`:
```bash
git switch master
git pull --ff-only
git switch -c update/Bitcoin/31.1-1
```
The branch must have exactly these three slash-separated components:
`update/<Image>/<version>(-<revision>)?`. The Build Only workflow uses the
branch name to determine which image to build.
4. Inspect the previous version and the upstream project's release artifacts
before editing. Do not guess artifact URLs, checksums, signatures, platforms,
or build arguments.
5. Add or update `<Image>/<version>/`. Reuse the repository's existing layout
for that image. Supported Dockerfile names are:
```text
linuxamd64.Dockerfile
linuxarm32v7.Dockerfile
linuxarm64v8.Dockerfile
Dockerfile
```
Architecture-specific Dockerfiles produce separate images. A plain
`Dockerfile` is built with Buildx for `linux/amd64`, `linux/arm64`, and
`linux/arm/v7`. Missing variants are skipped by CI, so only add platforms that
the upstream release and image genuinely support.
6. Keep architecture variants consistent where applicable. Verify download
URLs, version values, checksums, entrypoints, copied files, and executable bits.
7. Review the full diff and run relevant local syntax or static checks. If a
local Docker build is practical, build the affected Dockerfile using the same
directory as its build context.
## Open And Verify The PR
1. Commit only files belonging to the image update.
2. Push the `update/<Image>/<version>(-<revision>)?` branch and open a PR to
`master`. Summarize the upstream version, supported architectures, provenance,
and local validation.
3. Wait for every Build Only matrix job to finish:
```bash
gh pr checks --watch
```
4. If a build fails, inspect the failed logs, fix the image files on the same
branch, push the fix, and watch the rerun:
```bash
gh run view <run-id> --log-failed
gh pr checks --watch
```
5. Do not report the update as complete until all required Build Only checks
pass. Explicitly report intentionally skipped architectures and any checks that
could not be run.
The PR workflow only builds images. Merging the PR does not publish them;
publishing is a separate maintainer action performed by pushing the matching
`<Image>/<version>(-<revision>)?` tag.
عرض على GitHub