diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index 3ca4265..fbe54ef 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -51,3 +51,7 @@ jobs: - name: Build and push Docker images run: | docker buildx bake -f bakefiles/bakefile.json --push radian + docker buildx bake -f bakefiles/bakefile.json --push radian-verse + docker buildx bake -f bakefiles/bakefile.json --push radian-verse-zsh + docker buildx bake -f bakefiles/bakefile.json --push cmdstan-verse + docker buildx bake -f bakefiles/bakefile.json --push cmdstan-verse-zsh diff --git a/bakefiles/bakefile.json b/bakefiles/bakefile.json index dd5bf52..b111788 100644 --- a/bakefiles/bakefile.json +++ b/bakefiles/bakefile.json @@ -2,13 +2,34 @@ "target": { "default": { "depends": [ - "radian", "radian-verse", "cmdstan-verse", "radian-verse-zsh", "cmdstan-verse-zsh" ] + "radian", + "radian-arm64" +, "radian-verse", + "radian-verse-arm64" +, "cmdstan-verse", + "cmdstan-verse-arm64" +, "radian-verse-zsh", + "radian-verse-zsh-arm64" +, "cmdstan-verse-zsh", + "cmdstan-verse-zsh-arm64" + ] }, + "radian": { "context": ".", "dockerfile": "images/radian_4.4.2/Dockerfile", "tags": ["mattocci/radian:4.4.2"], - "platforms": ["linux/amd64", "linux/arm64"], + "platforms": ["linux/amd64"], + "cache-from": ["docker.io/mattocci/radian:4.4.2"], + "cache-to": ["type=inline"], + "output": ["type=registry,push=true"] + }, + "radian-arm64": { + "context": ".", + "dockerfile": "images/radian_4.4.2/Dockerfile", + "tags": ["mattocci/radian:4.4.2-arm64"], + "platforms": ["linux/arm64"], + "cache-from": ["docker.io/mattocci/radian:4.4.2-arm64"], "cache-to": ["type=inline"], "output": ["type=registry,push=true"] }, @@ -16,37 +37,72 @@ "context": ".", "dockerfile": "images/radian-verse_4.4.2/Dockerfile", "tags": ["mattocci/radian-verse:4.4.2"], - "platforms": ["linux/amd64", "linux/arm64"], + "platforms": ["linux/amd64"], "cache-from": ["docker.io/mattocci/radian-verse:4.4.2"], "cache-to": ["type=inline"], "output": ["type=registry,push=true"] }, + "radian-verse-arm64": { + "context": ".", + "dockerfile": "images/radian-verse_4.4.2/Dockerfile", + "tags": ["mattocci/radian-verse:4.4.2-arm64"], + "platforms": ["linux/arm64"], + "cache-from": ["docker.io/mattocci/radian-verse:4.4.2-arm64"], + "cache-to": ["type=inline"], + "output": ["type=registry,push=true"] + }, "cmdstan-verse": { "context": ".", "dockerfile": "images/cmdstan-verse_4.4.2/Dockerfile", "tags": ["mattocci/cmdstan-verse:4.4.2"], - "platforms": ["linux/amd64", "linux/arm64"], + "platforms": ["linux/amd64"], "cache-from": ["docker.io/mattocci/cmdstan-verse:4.4.2"], "cache-to": ["type=inline"], "output": ["type=registry,push=true"] }, + "cmdstan-verse-arm64": { + "context": ".", + "dockerfile": "images/cmdstan-verse_4.4.2/Dockerfile", + "tags": ["mattocci/cmdstan-verse:4.4.2-arm64"], + "platforms": ["linux/arm64"], + "cache-from": ["docker.io/mattocci/cmdstan-verse:4.4.2-arm64"], + "cache-to": ["type=inline"], + "output": ["type=registry,push=true"] + }, "radian-verse-zsh": { "context": ".", "dockerfile": "images/radian-verse-zsh_4.4.2/Dockerfile", "tags": ["mattocci/radian-verse-zsh:4.4.2"], - "platforms": ["linux/amd64", "linux/arm64"], + "platforms": ["linux/amd64"], "cache-from": ["docker.io/mattocci/radian-verse-zsh:4.4.2"], "cache-to": ["type=inline"], "output": ["type=registry,push=true"] }, + "radian-verse-zsh-arm64": { + "context": ".", + "dockerfile": "images/radian-verse-zsh_4.4.2/Dockerfile", + "tags": ["mattocci/radian-verse-zsh:4.4.2-arm64"], + "platforms": ["linux/arm64"], + "cache-from": ["docker.io/mattocci/radian-verse-zsh:4.4.2-arm64"], + "cache-to": ["type=inline"], + "output": ["type=registry,push=true"] + }, "cmdstan-verse-zsh": { "context": ".", "dockerfile": "images/cmdstan-verse-zsh_4.4.2/Dockerfile", "tags": ["mattocci/cmdstan-verse-zsh:4.4.2"], - "platforms": ["linux/amd64", "linux/arm64"], + "platforms": ["linux/amd64"], "cache-from": ["docker.io/mattocci/cmdstan-verse-zsh:4.4.2"], "cache-to": ["type=inline"], "output": ["type=registry,push=true"] - } - } -} + }, + "cmdstan-verse-zsh-arm64": { + "context": ".", + "dockerfile": "images/cmdstan-verse-zsh_4.4.2/Dockerfile", + "tags": ["mattocci/cmdstan-verse-zsh:4.4.2-arm64"], + "platforms": ["linux/arm64"], + "cache-from": ["docker.io/mattocci/cmdstan-verse-zsh:4.4.2-arm64"], + "cache-to": ["type=inline"], + "output": ["type=registry,push=true"] + } } +} \ No newline at end of file diff --git a/templates/bakefile_template.jinja b/templates/bakefile_template.jinja index 07744ca..17a3970 100644 --- a/templates/bakefile_template.jinja +++ b/templates/bakefile_template.jinja @@ -3,11 +3,14 @@ "default": { "depends": [ {% for config in images.configs %} - "{{ config.imageName }}"{% if not loop.last %},{% endif %} + "{{ config.imageName }}", + "{{ config.imageName }}-arm64" + {% if not loop.last %},{% endif %} {% endfor %} ] }, {% for config in images.configs %} + "{{ config.imageName }}": { "context": ".", "dockerfile": "images/{{ config.imageTag }}/Dockerfile", @@ -16,8 +19,16 @@ "cache-from": ["docker.io/{{ images.owner }}/{{ config.imageName }}:{{ config.imageVer }}"], "cache-to": ["type=inline"], "output": ["type=registry,push=true"] + }, + "{{ config.imageName }}-arm64": { + "context": ".", + "dockerfile": "images/{{ config.imageTag }}/Dockerfile", + "tags": ["{{ images.owner }}/{{ config.imageName }}:{{ config.imageVer }}-arm64"], + "platforms": ["linux/arm64"], + "cache-from": ["docker.io/{{ images.owner }}/{{ config.imageName }}:{{ config.imageVer }}-arm64"], + "cache-to": ["type=inline"], + "output": ["type=registry,push=true"] }{% if not loop.last %},{% endif %} - {% endfor %} } }