Skip to content

Commit e223a1a

Browse files
authored
Merge pull request #1553 from bdovaz/feature/arm-docker-image
ARM64 docker images WIP merged into a dev branch, to continue development there.
2 parents 8b1ed86 + 29e2ac1 commit e223a1a

File tree

88 files changed

+109617
-2439
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+109617
-2439
lines changed

.automation/build_schemas_doc.sh

+8-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@
33
# Generate HTML documentation from JSON schemas, using json-schema-for-humans :)
44

55
generate-schema-doc ../megalinter/descriptors/schemas/megalinter-descriptor.jsonschema.json \
6-
../docs/json-schemas/descriptor.html
6+
../docs/json-schemas/descriptor.html \
7+
--config minify=false \
8+
--config expand_buttons=false \
9+
--config link_to_reused_ref=false
710

811
generate-schema-doc ../megalinter/descriptors/schemas/megalinter-configuration.jsonschema.json \
9-
../docs/json-schemas/configuration.html
12+
../docs/json-schemas/configuration.html \
13+
--config minify=false \
14+
--config expand_buttons=false \
15+
--config link_to_reused_ref=false

.github/linters/.cspell.json

+4
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@
322322
"Syft",
323323
"Symlinks",
324324
"Syntastic",
325+
"TARGETPLATFORM",
325326
"TEAMPROJECT",
326327
"TEKTON",
327328
"TERMIOS",
@@ -363,6 +364,7 @@
363364
"Ywarn",
364365
"Zepu",
365366
"Zraku",
367+
"aarch64",
366368
"abefhkmnptuvx",
367369
"abhith",
368370
"absolutized",
@@ -392,6 +394,7 @@
392394
"arctan",
393395
"aren",
394396
"argparse",
397+
"armv6",
395398
"arror",
396399
"artefacts",
397400
"asdict",
@@ -1095,6 +1098,7 @@
10951098
"returnrules",
10961099
"rexec",
10971100
"risd",
1101+
"riscv",
10981102
"rmfamily",
10991103
"rockspec",
11001104
"rockspecs",

.github/workflows/auto-update-linters.yml

+6-3
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,14 @@ jobs:
5454
run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_ENV}
5555

5656
###################################
57-
# Build image locally for testing #
57+
# Build images locally for testing #
5858
###################################
59-
- name: Build image
59+
- name: Build images
6060
shell: bash
61-
run: docker buildx build --platform linux/amd64 --build-arg "BUILD_DATE=${BUILD_DATE}" --build-arg "BUILD_REVISION=auto_update_${GITHUB_SHA}" --build-arg "BUILD_VERSION=auto_update_${GITHUB_SHA}" --no-cache -t oxsecurity/megalinter:auto_update_${GITHUB_SHA} --load . | while read line ; do echo "$(date +'%H:%M:%S')| $line"; done;
61+
run: |
62+
docker buildx build --platform linux/amd64,linux/arm64 --build-arg "BUILD_DATE=${BUILD_DATE}" --build-arg "BUILD_REVISION=auto_update_${GITHUB_SHA}" --build-arg "BUILD_VERSION=auto_update_${GITHUB_SHA}" --no-cache -t oxsecurity/megalinter:auto_update_${GITHUB_SHA} .
63+
docker buildx build --load --platform linux/amd64 -t oxsecurity/megalinter:auto_update_${GITHUB_SHA} .
64+
docker buildx build --load --platform linux/arm64 -t oxsecurity/megalinter:auto_update_${GITHUB_SHA}:arm64 .
6265
timeout-minutes: 60
6366

6467
#####################################

.github/workflows/deploy-ALPHA-flavors.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ jobs:
8989
IMAGE_REPO: oxsecurity/megalinter-${{ matrix.flavor }}
9090
IMAGE_VERSION: alpha
9191
DOCKERFILE_PATH: flavors/${{ matrix.flavor }}/Dockerfile
92-
DOCKER_BUILD_PLATFORMS: linux/amd64
92+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
9393
REGISTRY: Docker
9494
SQUASH: "true"
9595
shell: bash
@@ -106,7 +106,7 @@ jobs:
106106
IMAGE_REPO: oxsecurity/megalinter-${{ matrix.flavor }}
107107
IMAGE_VERSION: alpha
108108
DOCKERFILE_PATH: flavors/${{ matrix.flavor }}/Dockerfile
109-
DOCKER_BUILD_PLATFORMS: linux/amd64
109+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
110110
REGISTRY: GCR
111111
SQUASH: "true"
112112
shell: bash

.github/workflows/deploy-ALPHA.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
IMAGE_REPO: oxsecurity/megalinter
7070
IMAGE_VERSION: alpha
7171
DOCKERFILE_PATH: Dockerfile
72-
DOCKER_BUILD_PLATFORMS: linux/amd64
72+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
7373
REGISTRY: Docker
7474
shell: bash
7575
run: .automation/upload-docker.sh
@@ -86,7 +86,7 @@ jobs:
8686
IMAGE_REPO: oxsecurity/megalinter
8787
IMAGE_VERSION: alpha
8888
DOCKERFILE_PATH: Dockerfile
89-
DOCKER_BUILD_PLATFORMS: linux/amd64
89+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
9090
REGISTRY: GCR
9191
shell: bash
9292
run: .automation/upload-docker.sh

.github/workflows/deploy-BETA-flavors.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
IMAGE_REPO: oxsecurity/megalinter-${{ matrix.flavor }}
9494
IMAGE_VERSION: beta
9595
DOCKERFILE_PATH: flavors/${{ matrix.flavor }}/Dockerfile
96-
DOCKER_BUILD_PLATFORMS: linux/amd64
96+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
9797
REGISTRY: Docker
9898
shell: bash
9999
run: .automation/upload-docker.sh
@@ -109,7 +109,7 @@ jobs:
109109
IMAGE_REPO: oxsecurity/megalinter-${{ matrix.flavor }}
110110
IMAGE_VERSION: beta
111111
DOCKERFILE_PATH: flavors/${{ matrix.flavor }}/Dockerfile
112-
DOCKER_BUILD_PLATFORMS: linux/amd64
112+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
113113
REGISTRY: GCR
114114
shell: bash
115115
run: .automation/upload-docker.sh

.github/workflows/deploy-BETA-linters.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ jobs:
120120
IMAGE_REPO: oxsecurity/megalinter-only-${{ matrix.linter }}
121121
IMAGE_VERSION: beta
122122
DOCKERFILE_PATH: linters/${{ matrix.linter }}/Dockerfile
123-
DOCKER_BUILD_PLATFORMS: linux/amd64
123+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
124124
REGISTRY: Docker
125125
shell: bash
126126
run: .automation/upload-docker.sh
@@ -133,7 +133,7 @@ jobs:
133133
IMAGE_REPO: oxsecurity/megalinter-only-${{ matrix.linter }}
134134
IMAGE_VERSION: "${{ needs.prepare.outputs.unique_docker_image_name }}"
135135
DOCKERFILE_PATH: linters/${{ matrix.linter }}/Dockerfile
136-
DOCKER_BUILD_PLATFORMS: linux/amd64
136+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
137137
REGISTRY: Docker
138138
ALWAYS_BUILD: force
139139
shell: bash
@@ -150,7 +150,7 @@ jobs:
150150
IMAGE_REPO: oxsecurity/megalinter-only-${{ matrix.linter }}
151151
IMAGE_VERSION: beta
152152
DOCKERFILE_PATH: linters/${{ matrix.linter }}/Dockerfile
153-
DOCKER_BUILD_PLATFORMS: linux/amd64
153+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
154154
REGISTRY: GCR
155155
shell: bash
156156
run: .automation/upload-docker.sh
@@ -163,7 +163,7 @@ jobs:
163163
IMAGE_REPO: oxsecurity/megalinter-only-${{ matrix.linter }}
164164
IMAGE_VERSION: "${{ needs.prepare.outputs.unique_docker_image_name }}"
165165
DOCKERFILE_PATH: linters/${{ matrix.linter }}/Dockerfile
166-
DOCKER_BUILD_PLATFORMS: linux/amd64
166+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
167167
REGISTRY: GCR
168168
ALWAYS_BUILD: force
169169
shell: bash

.github/workflows/deploy-BETA.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ jobs:
8282
IMAGE_REPO: oxsecurity/megalinter
8383
IMAGE_VERSION: beta
8484
DOCKERFILE_PATH: Dockerfile
85-
DOCKER_BUILD_PLATFORMS: linux/amd64
85+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
8686
REGISTRY: Docker
8787
shell: bash
8888
run: .automation/upload-docker.sh
@@ -98,7 +98,7 @@ jobs:
9898
IMAGE_REPO: oxsecurity/megalinter
9999
IMAGE_VERSION: beta
100100
DOCKERFILE_PATH: Dockerfile
101-
DOCKER_BUILD_PLATFORMS: linux/amd64
101+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
102102
REGISTRY: GCR
103103
shell: bash
104104
run: .automation/upload-docker.sh

.github/workflows/deploy-DEV-linters.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ jobs:
113113
IMAGE_REPO: oxsecurity/megalinter-only-${{ matrix.linter }}
114114
IMAGE_VERSION: ${{ needs.prepare.outputs.tag }}
115115
DOCKERFILE_PATH: linters/${{ matrix.linter }}/Dockerfile
116-
DOCKER_BUILD_PLATFORMS: linux/amd64
116+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
117117
REGISTRY: Docker
118118
shell: bash
119119
run: .automation/upload-docker.sh

.github/workflows/deploy-DEV.yml

+13-8
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ jobs:
7878
echo "tag=${TAG}" >>"$GITHUB_OUTPUT"
7979
8080
###################################
81-
# Build image locally for testing #
81+
# Build images locally for testing #
8282
###################################
83-
- name: Build image (quick)
83+
- name: Build images (quick)
8484
if: "contains(github.event.head_commit.message, 'quick build')"
8585
id: docker_build_quick
8686
shell: bash
@@ -94,7 +94,9 @@ jobs:
9494
MEGA_LINTER_BASE_IMAGE="oxsecurity/megalinter:${{steps.image_tag.outputs.tag}}"
9595
echo "Reusing previously built image as base for quick build: ${MEGA_LINTER_BASE_IMAGE}"
9696
fi
97-
docker buildx build --platform linux/amd64 --build-arg "BUILD_DATE=${BUILD_DATE}" --build-arg "BUILD_REVISION=${GITHUB_SHA}" --build-arg "BUILD_VERSION=${GITHUB_SHA}" --build-arg "MEGALINTER_BASE_IMAGE=${MEGA_LINTER_BASE_IMAGE}" --no-cache -f "Dockerfile-quick" -t oxsecurity/megalinter:${{steps.image_tag.outputs.tag}} --load . | while read line ; do echo "$(date +'%H:%M:%S')| $line"; done;
97+
docker buildx build --platform linux/amd64,linux/arm64 --build-arg "BUILD_DATE=${BUILD_DATE}" --build-arg "BUILD_REVISION=${GITHUB_SHA}" --build-arg "BUILD_VERSION=${GITHUB_SHA}" --build-arg "MEGALINTER_BASE_IMAGE=${MEGA_LINTER_BASE_IMAGE}" --no-cache -f "Dockerfile-quick" -t oxsecurity/megalinter:${{steps.image_tag.outputs.tag}} .
98+
docker buildx build --load --platform linux/amd64 -t oxsecurity/megalinter:${{steps.image_tag.outputs.tag}} .
99+
docker buildx build --load --platform linux/arm64 -t oxsecurity/megalinter:${{steps.image_tag.outputs.tag}}:arm64 .
98100
timeout-minutes: 60
99101

100102
##########################
@@ -109,15 +111,15 @@ jobs:
109111
IMAGE_REPO: oxsecurity/megalinter
110112
IMAGE_VERSION: ${{steps.image_tag.outputs.tag}}
111113
DOCKERFILE_PATH: Dockerfile-quick
112-
DOCKER_BUILD_PLATFORMS: linux/amd64
114+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
113115
REGISTRY: Docker
114116
shell: bash
115117
run: .automation/upload-docker.sh || true
116118

117119
#######################################
118-
# Build image (full for forked repos) #
120+
# Build images (full for forked repos) #
119121
#######################################
120-
- name: Build image (full from forks)
122+
- name: Build images (full from forks)
121123
if: |
122124
(
123125
(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository) ||
@@ -127,7 +129,10 @@ jobs:
127129
!contains(github.event.head_commit.message, 'quick build')
128130
id: docker_build
129131
shell: bash
130-
run: docker buildx build --platform linux/amd64 --build-arg "BUILD_DATE=${BUILD_DATE}" --build-arg "BUILD_REVISION=${GITHUB_SHA}" --build-arg "BUILD_VERSION=${GITHUB_SHA}" --no-cache -t oxsecurity/megalinter:${{steps.image_tag.outputs.tag}} --load . | while read line ; do echo "$(date +'%H:%M:%S')| $line"; done;
132+
run: |
133+
docker buildx build --platform linux/amd64,linux/arm64 --build-arg "BUILD_DATE=${BUILD_DATE}" --build-arg "BUILD_REVISION=${GITHUB_SHA}" --build-arg "BUILD_VERSION=${GITHUB_SHA}" --no-cache -t oxsecurity/megalinter:${{steps.image_tag.outputs.tag}} .
134+
docker buildx build --load --platform linux/amd64 -t oxsecurity/megalinter:${{steps.image_tag.outputs.tag}} .
135+
docker buildx build --load --platform linux/arm64 -t oxsecurity/megalinter:${{steps.image_tag.outputs.tag}}:arm64 .
131136
timeout-minutes: 90
132137

133138
####################################
@@ -148,7 +153,7 @@ jobs:
148153
IMAGE_REPO: oxsecurity/megalinter
149154
IMAGE_VERSION: ${{steps.image_tag.outputs.tag}}
150155
DOCKERFILE_PATH: Dockerfile
151-
DOCKER_BUILD_PLATFORMS: linux/amd64
156+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
152157
REGISTRY: Docker
153158
shell: bash
154159
run: .automation/upload-docker.sh

.github/workflows/deploy-RELEASE-flavors.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ jobs:
8282
IMAGE_REPO: oxsecurity/megalinter-${{ matrix.flavor }}
8383
IMAGE_VERSION: ${{ github.event.release.tag_name }}
8484
DOCKERFILE_PATH: flavors/${{ matrix.flavor }}/Dockerfile
85-
DOCKER_BUILD_PLATFORMS: linux/amd64
85+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
8686
REGISTRY: Docker
8787
shell: bash
8888
run: .automation/upload-docker.sh
@@ -98,7 +98,7 @@ jobs:
9898
IMAGE_REPO: oxsecurity/megalinter-${{ matrix.flavor }}
9999
IMAGE_VERSION: ${{ github.event.release.tag_name }}
100100
DOCKERFILE_PATH: flavors/${{ matrix.flavor }}/Dockerfile
101-
DOCKER_BUILD_PLATFORMS: linux/amd64
101+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
102102
REGISTRY: GCR
103103
shell: bash
104104
run: .automation/upload-docker.sh

.github/workflows/deploy-RELEASE-linters.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
IMAGE_REPO: oxsecurity/megalinter-only-${{ matrix.linter }}
9797
IMAGE_VERSION: "${{ github.event.release.tag_name }}"
9898
DOCKERFILE_PATH: linters/${{ matrix.linter }}/Dockerfile
99-
DOCKER_BUILD_PLATFORMS: linux/amd64
99+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
100100
REGISTRY: Docker
101101
ALWAYS_BUILD: force
102102
shell: bash
@@ -113,7 +113,7 @@ jobs:
113113
IMAGE_REPO: oxsecurity/megalinter-only-${{ matrix.linter }}
114114
IMAGE_VERSION: "${{ github.event.release.tag_name }}"
115115
DOCKERFILE_PATH: linters/${{ matrix.linter }}/Dockerfile
116-
DOCKER_BUILD_PLATFORMS: linux/amd64
116+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
117117
REGISTRY: GCR
118118
ALWAYS_BUILD: force
119119
shell: bash

.github/workflows/deploy-RELEASE.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
IMAGE_REPO: oxsecurity/megalinter
7373
IMAGE_VERSION: ${{ github.event.release.tag_name }}
7474
DOCKERFILE_PATH: Dockerfile
75-
DOCKER_BUILD_PLATFORMS: linux/amd64
75+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
7676
REGISTRY: Docker
7777
shell: bash
7878
run: .automation/upload-docker.sh
@@ -88,7 +88,7 @@ jobs:
8888
IMAGE_REPO: oxsecurity/megalinter
8989
IMAGE_VERSION: ${{ github.event.release.tag_name }}
9090
DOCKERFILE_PATH: Dockerfile
91-
DOCKER_BUILD_PLATFORMS: linux/amd64
91+
DOCKER_BUILD_PLATFORMS: linux/amd64,linux/arm64
9292
REGISTRY: GCR
9393
shell: bash
9494
run: .automation/upload-docker.sh

0 commit comments

Comments
 (0)