pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/tarides/ocaml-devcontainer/commit/aef57c030967c3f07a3e599f2cf14fb0c186ad5a

Rename images: ocaml-5.4-{base,dev} → ocaml-devcontainer{-base,} · tarides/ocaml-devcontainer@aef57c0 · GitHub
Skip to content

Commit aef57c0

Browse files
cuihtlauacclaude
andcommitted
Rename images: ocaml-5.4-{base,dev} → ocaml-devcontainer{-base,}
Move the OCaml version out of the image name and into the tag so that future versions (e.g. ocaml-devcontainer:5.5) don't require new names. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 9238e5a commit aef57c0

File tree

9 files changed

+92
-90
lines changed

9 files changed

+92
-90
lines changed

.devcontainer-from-scratch/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"dockerfile": "../dev/Dockerfile",
66
"context": "..",
77
"args": {
8-
"BASE_IMAGE": "ocaml-5.4-base:latest"
8+
"BASE_IMAGE": "ocaml-devcontainer-base:latest"
99
}
1010
},
1111

.devcontainer/devcontainer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "OCaml 5.4 Development",
33
// Pre-built image from Docker Hub. Also available on GHCR:
4-
// ghcr.io/tarides/ocaml-5.4-dev:latest
5-
"image": "cuihtlauac/ocaml-5.4-dev:latest",
4+
// ghcr.io/tarides/ocaml-devcontainer:latest
5+
"image": "cuihtlauac/ocaml-devcontainer:latest",
66

77
"features": {
88
"ghcr.io/anthropics/devcontainer-features/claude-code:1": {}

.github/workflows/build-push.yml

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@ on:
2222
type: boolean
2323

2424
env:
25-
DOCKER_HUB_REPO: ${{ secrets.DOCKERHUB_USERNAME }}/ocaml-5.4
26-
GHCR_REPO: ghcr.io/${{ github.repository_owner }}/ocaml-5.4
25+
DOCKER_HUB_BASE: ${{ secrets.DOCKERHUB_USERNAME }}/ocaml-devcontainer-base
26+
DOCKER_HUB_DEV: ${{ secrets.DOCKERHUB_USERNAME }}/ocaml-devcontainer
27+
GHCR_BASE: ghcr.io/${{ github.repository_owner }}/ocaml-devcontainer-base
28+
GHCR_DEV: ghcr.io/${{ github.repository_owner }}/ocaml-devcontainer
2729

2830
jobs:
2931
# ============================================================================
@@ -96,8 +98,8 @@ jobs:
9698
platforms: linux/amd64
9799
push: ${{ github.event_name != 'pull_request' }}
98100
tags: |
99-
${{ env.GHCR_REPO }}-base:latest-amd64
100-
${{ env.DOCKER_HUB_REPO }}-base:latest-amd64
101+
${{ env.GHCR_BASE }}:latest-amd64
102+
${{ env.DOCKER_HUB_BASE }}:latest-amd64
101103
labels: |
102104
org.opencontainers.image.source=https://github.com/${{ github.repository }}
103105
org.opencontainers.image.revision=${{ github.sha }}
@@ -148,8 +150,8 @@ jobs:
148150
platforms: linux/arm64
149151
push: ${{ github.event_name != 'pull_request' }}
150152
tags: |
151-
${{ env.GHCR_REPO }}-base:latest-arm64
152-
${{ env.DOCKER_HUB_REPO }}-base:latest-arm64
153+
${{ env.GHCR_BASE }}:latest-arm64
154+
${{ env.DOCKER_HUB_BASE }}:latest-arm64
153155
labels: |
154156
org.opencontainers.image.source=https://github.com/${{ github.repository }}
155157
org.opencontainers.image.revision=${{ github.sha }}
@@ -204,13 +206,13 @@ jobs:
204206
platforms: linux/amd64
205207
push: ${{ github.event_name != 'pull_request' }}
206208
tags: |
207-
${{ env.GHCR_REPO }}-dev:latest-amd64
208-
${{ env.DOCKER_HUB_REPO }}-dev:latest-amd64
209+
${{ env.GHCR_DEV }}:latest-amd64
210+
${{ env.DOCKER_HUB_DEV }}:latest-amd64
209211
labels: |
210212
org.opencontainers.image.source=https://github.com/${{ github.repository }}
211213
org.opencontainers.image.revision=${{ github.sha }}
212214
build-args: |
213-
BASE_IMAGE=${{ env.GHCR_REPO }}-base:latest-amd64
215+
BASE_IMAGE=${{ env.GHCR_BASE }}:latest-amd64
214216
cache-from: type=gha,scope=dev-amd64
215217
cache-to: type=gha,mode=max,scope=dev-amd64
216218

@@ -259,13 +261,13 @@ jobs:
259261
platforms: linux/arm64
260262
push: ${{ github.event_name != 'pull_request' }}
261263
tags: |
262-
${{ env.GHCR_REPO }}-dev:latest-arm64
263-
${{ env.DOCKER_HUB_REPO }}-dev:latest-arm64
264+
${{ env.GHCR_DEV }}:latest-arm64
265+
${{ env.DOCKER_HUB_DEV }}:latest-arm64
264266
labels: |
265267
org.opencontainers.image.source=https://github.com/${{ github.repository }}
266268
org.opencontainers.image.revision=${{ github.sha }}
267269
build-args: |
268-
BASE_IMAGE=${{ env.GHCR_REPO }}-base:latest-arm64
270+
BASE_IMAGE=${{ env.GHCR_BASE }}:latest-arm64
269271
cache-from: type=gha,scope=dev-arm64
270272
cache-to: type=gha,mode=max,scope=dev-arm64
271273

@@ -303,39 +305,39 @@ jobs:
303305

304306
- name: Create and push multi-arch manifest (GHCR)
305307
run: |
306-
docker buildx imagetools create -t ${{ env.GHCR_REPO }}-base:latest \
307-
${{ env.GHCR_REPO }}-base:latest-amd64 \
308-
${{ env.GHCR_REPO }}-base:latest-arm64
308+
docker buildx imagetools create -t ${{ env.GHCR_BASE }}:latest \
309+
${{ env.GHCR_BASE }}:latest-amd64 \
310+
${{ env.GHCR_BASE }}:latest-arm64
309311
310312
# Add version tag if this is a release
311313
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
312314
VERSION=${GITHUB_REF#refs/tags/}
313-
docker buildx imagetools create -t ${{ env.GHCR_REPO }}-base:${VERSION} \
314-
${{ env.GHCR_REPO }}-base:latest-amd64 \
315-
${{ env.GHCR_REPO }}-base:latest-arm64
315+
docker buildx imagetools create -t ${{ env.GHCR_BASE }}:${VERSION} \
316+
${{ env.GHCR_BASE }}:latest-amd64 \
317+
${{ env.GHCR_BASE }}:latest-arm64
316318
fi
317319
318320
- name: Create and push multi-arch manifest (Docker Hub)
319321
run: |
320-
docker buildx imagetools create -t ${{ env.DOCKER_HUB_REPO }}-base:latest \
321-
${{ env.DOCKER_HUB_REPO }}-base:latest-amd64 \
322-
${{ env.DOCKER_HUB_REPO }}-base:latest-arm64
322+
docker buildx imagetools create -t ${{ env.DOCKER_HUB_BASE }}:latest \
323+
${{ env.DOCKER_HUB_BASE }}:latest-amd64 \
324+
${{ env.DOCKER_HUB_BASE }}:latest-arm64
323325
324326
# Add version tag if this is a release
325327
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
326328
VERSION=${GITHUB_REF#refs/tags/}
327-
docker buildx imagetools create -t ${{ env.DOCKER_HUB_REPO }}-base:${VERSION} \
328-
${{ env.DOCKER_HUB_REPO }}-base:latest-amd64 \
329-
${{ env.DOCKER_HUB_REPO }}-base:latest-arm64
329+
docker buildx imagetools create -t ${{ env.DOCKER_HUB_BASE }}:${VERSION} \
330+
${{ env.DOCKER_HUB_BASE }}:latest-amd64 \
331+
${{ env.DOCKER_HUB_BASE }}:latest-arm64
330332
fi
331333
332334
- name: Verify multi-arch manifest
333335
run: |
334336
echo "=== GHCR Base Image ==="
335-
docker buildx imagetools inspect ${{ env.GHCR_REPO }}-base:latest
337+
docker buildx imagetools inspect ${{ env.GHCR_BASE }}:latest
336338
echo ""
337339
echo "=== Docker Hub Base Image ==="
338-
docker buildx imagetools inspect ${{ env.DOCKER_HUB_REPO }}-base:latest
340+
docker buildx imagetools inspect ${{ env.DOCKER_HUB_BASE }}:latest
339341
340342
# ============================================================================
341343
# Fan-in: Merge Dev Image Tags into Multi-Arch Manifest
@@ -371,36 +373,36 @@ jobs:
371373

372374
- name: Create and push multi-arch manifest (GHCR)
373375
run: |
374-
docker buildx imagetools create -t ${{ env.GHCR_REPO }}-dev:latest \
375-
${{ env.GHCR_REPO }}-dev:latest-amd64 \
376-
${{ env.GHCR_REPO }}-dev:latest-arm64
376+
docker buildx imagetools create -t ${{ env.GHCR_DEV }}:latest \
377+
${{ env.GHCR_DEV }}:latest-amd64 \
378+
${{ env.GHCR_DEV }}:latest-arm64
377379
378380
# Add version tag if this is a release
379381
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
380382
VERSION=${GITHUB_REF#refs/tags/}
381-
docker buildx imagetools create -t ${{ env.GHCR_REPO }}-dev:${VERSION} \
382-
${{ env.GHCR_REPO }}-dev:latest-amd64 \
383-
${{ env.GHCR_REPO }}-dev:latest-arm64
383+
docker buildx imagetools create -t ${{ env.GHCR_DEV }}:${VERSION} \
384+
${{ env.GHCR_DEV }}:latest-amd64 \
385+
${{ env.GHCR_DEV }}:latest-arm64
384386
fi
385387
386388
- name: Create and push multi-arch manifest (Docker Hub)
387389
run: |
388-
docker buildx imagetools create -t ${{ env.DOCKER_HUB_REPO }}-dev:latest \
389-
${{ env.DOCKER_HUB_REPO }}-dev:latest-amd64 \
390-
${{ env.DOCKER_HUB_REPO }}-dev:latest-arm64
390+
docker buildx imagetools create -t ${{ env.DOCKER_HUB_DEV }}:latest \
391+
${{ env.DOCKER_HUB_DEV }}:latest-amd64 \
392+
${{ env.DOCKER_HUB_DEV }}:latest-arm64
391393
392394
# Add version tag if this is a release
393395
if [[ "${{ github.ref }}" == refs/tags/v* ]]; then
394396
VERSION=${GITHUB_REF#refs/tags/}
395-
docker buildx imagetools create -t ${{ env.DOCKER_HUB_REPO }}-dev:${VERSION} \
396-
${{ env.DOCKER_HUB_REPO }}-dev:latest-amd64 \
397-
${{ env.DOCKER_HUB_REPO }}-dev:latest-arm64
397+
docker buildx imagetools create -t ${{ env.DOCKER_HUB_DEV }}:${VERSION} \
398+
${{ env.DOCKER_HUB_DEV }}:latest-amd64 \
399+
${{ env.DOCKER_HUB_DEV }}:latest-arm64
398400
fi
399401
400402
- name: Verify multi-arch manifest
401403
run: |
402404
echo "=== GHCR Dev Image ==="
403-
docker buildx imagetools inspect ${{ env.GHCR_REPO }}-dev:latest
405+
docker buildx imagetools inspect ${{ env.GHCR_DEV }}:latest
404406
echo ""
405407
echo "=== Docker Hub Dev Image ==="
406-
docker buildx imagetools inspect ${{ env.DOCKER_HUB_REPO }}-dev:latest
408+
docker buildx imagetools inspect ${{ env.DOCKER_HUB_DEV }}:latest

.github/workflows/test.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
# runner: [ubuntu-latest, ubuntu-24.04-arm]
3131

3232
container:
33-
image: ghcr.io/${{ github.repository_owner }}/ocaml-5.4-dev:latest
33+
image: ghcr.io/${{ github.repository_owner }}/ocaml-devcontainer:latest
3434
options: --user root
3535

3636
steps:
@@ -52,7 +52,7 @@ jobs:
5252
switch: ['5.4.0', '5.4.0+tsan']
5353

5454
container:
55-
image: ghcr.io/${{ github.repository_owner }}/ocaml-5.4-dev:latest
55+
image: ghcr.io/${{ github.repository_owner }}/ocaml-devcontainer:latest
5656
options: --user root
5757

5858
steps:
@@ -74,7 +74,7 @@ jobs:
7474
switch: ['5.4.0', '5.4.0+tsan']
7575

7676
container:
77-
image: ghcr.io/${{ github.repository_owner }}/ocaml-5.4-dev:latest
77+
image: ghcr.io/${{ github.repository_owner }}/ocaml-devcontainer:latest
7878
options: --user root
7979

8080
steps:
@@ -92,7 +92,7 @@ jobs:
9292
runs-on: ubuntu-latest
9393

9494
container:
95-
image: ghcr.io/${{ github.repository_owner }}/ocaml-5.4-dev:latest
95+
image: ghcr.io/${{ github.repository_owner }}/ocaml-devcontainer:latest
9696
options: --user root
9797

9898
steps:
@@ -130,7 +130,7 @@ jobs:
130130
runs-on: ubuntu-latest
131131

132132
container:
133-
image: ghcr.io/${{ github.repository_owner }}/ocaml-5.4-dev:latest
133+
image: ghcr.io/${{ github.repository_owner }}/ocaml-devcontainer:latest
134134
options: --user root
135135

136136
steps:
@@ -145,7 +145,7 @@ jobs:
145145
runs-on: ubuntu-latest
146146

147147
container:
148-
image: ghcr.io/${{ github.repository_owner }}/ocaml-5.4-dev:latest
148+
image: ghcr.io/${{ github.repository_owner }}/ocaml-devcontainer:latest
149149
options: --user root
150150

151151
steps:
@@ -160,7 +160,7 @@ jobs:
160160
runs-on: ubuntu-latest
161161

162162
container:
163-
image: ghcr.io/${{ github.repository_owner }}/ocaml-5.4-dev:latest
163+
image: ghcr.io/${{ github.repository_owner }}/ocaml-devcontainer:latest
164164
options: --user root
165165

166166
steps:

CLAUDE.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ This is an **OCaml 5.4 DevContainer Project** - a production-ready development e
1313
Two-layer Docker image strategy for fast iteration:
1414

1515
```
16-
ocaml-5.4-base (compilers, ~35-50 min build, rebuild rare)
17-
└── ocaml-5.4-dev (tools, ~15-20 min build, rebuild when tools update)
16+
ocaml-devcontainer-base (compilers, ~35-50 min build, rebuild rare)
17+
└── ocaml-devcontainer (tools, ~15-20 min build, rebuild when tools update)
1818
└── [tutorial-specific] (optional, user-created, seconds to build)
1919
```
2020

@@ -29,8 +29,8 @@ The base image creates both OCaml switches (compilers only). The dev image insta
2929
sudo sysctl -w vm.mmap_rnd_bits=28
3030

3131
# Local build (for customization)
32-
docker build -t ocaml-5.4-base base/
33-
docker build -t ocaml-5.4-dev dev/
32+
docker build -t ocaml-devcontainer-base base/
33+
docker build -t ocaml-devcontainer dev/
3434

3535
# Start container with pre-built images
3636
devcontainer up --workspace-folder .
@@ -67,8 +67,8 @@ CI runs matrix tests: `[5.4.0, 5.4.0+tsan] × [amd64, arm64]`
6767
## Project Structure
6868

6969
```
70-
base/ # Dockerfile for ocaml-5.4-base (compilers only)
71-
dev/ # Dockerfile for ocaml-5.4-dev (full dev tools)
70+
base/ # Dockerfile for ocaml-devcontainer-base (compilers only)
71+
dev/ # Dockerfile for ocaml-devcontainer (full dev tools)
7272
.devcontainer/ # Uses pre-built images (fast startup)
7373
.devcontainer-from-scratch/ # Builds locally (for customization)
7474
test/ # Integration test scripts

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ To build the Docker images locally:
8686
sudo sysctl -w vm.mmap_rnd_bits=28
8787

8888
# Build images
89-
docker build -t ocaml-5.4-base base/
90-
docker build -t ocaml-5.4-dev dev/
89+
docker build -t ocaml-devcontainer-base base/
90+
docker build -t ocaml-devcontainer dev/
9191
```
9292

9393
The `vm.mmap_rnd_bits=28` setting is required for the ThreadSanitizer switch to compile.
@@ -98,7 +98,7 @@ See [google/sanitizers#1716](https://github.com/google/sanitizers/issues/1716) f
9898
This environment is designed for OCaml tutorials and workshops. Create a tutorial-specific image:
9999

100100
```dockerfile
101-
FROM ghcr.io/tarides/ocaml-5.4-dev:latest
101+
FROM ghcr.io/tarides/ocaml-devcontainer:latest
102102
RUN opam install -y lwt eio # Add your packages
103103
COPY exercises/ /home/vscode/exercises/
104104
```

dev/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Contains: Full OCaml development toolchain
33
# Build time: ~15-20 min
44

5-
ARG BASE_IMAGE=ghcr.io/tarides/ocaml-5.4-base:latest
5+
ARG BASE_IMAGE=ghcr.io/tarides/ocaml-devcontainer-base:latest
66
FROM ${BASE_IMAGE}
77

88
LABEL org.opencontainers.image.source="https://github.com/tarides/ocaml-devcontainer"

docs/SETUP-ADVANCED.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ For customization or offline use:
6565

6666
```bash
6767
# Build base image (~35-50 minutes)
68-
docker build -t ocaml-5.4-base base/
68+
docker build -t ocaml-devcontainer-base base/
6969

7070
# Build dev image (~15-20 minutes)
71-
docker build -t ocaml-5.4-dev dev/
71+
docker build -t ocaml-devcontainer dev/
7272

7373
# Use local build
7474
devcontainer up --workspace-folder . --config .devcontainer-from-scratch/devcontainer.json
@@ -79,7 +79,7 @@ devcontainer up --workspace-folder . --config .devcontainer-from-scratch/devcont
7979
Create a tutorial-specific image:
8080

8181
```dockerfile
82-
FROM ghcr.io/tarides/ocaml-5.4-dev:latest
82+
FROM ghcr.io/tarides/ocaml-devcontainer:latest
8383

8484
# Add tutorial-specific packages
8585
RUN opam install -y lwt eio

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy