Skip to content

New release workflow with support for ARM binaries#803

Merged
lorenzo merged 43 commits intomasterfrom
nix-experiment
Mar 31, 2022
Merged

New release workflow with support for ARM binaries#803
lorenzo merged 43 commits intomasterfrom
nix-experiment

Conversation

@lorenzo
Copy link
Copy Markdown
Member

@lorenzo lorenzo commented Mar 26, 2022

The next release of hadolint will have ARM64 binaries with this change

closes #411

@potiuk
Copy link
Copy Markdown

potiuk commented Mar 31, 2022

Fantastic THANKS!

@potiuk
Copy link
Copy Markdown

potiuk commented Mar 31, 2022

Works LIKE A CHARM (including all the new dockerfile:1.4 features! (And is LIGHTNIG FAST) on M1 :).

I just re-enabled it in Apache Airflow in apache/airflow#22625 :D. Great job @lorenzo!

@Fixmetal
Copy link
Copy Markdown

Is there a plan for the new build release to be published? 😉

@lorenzo
Copy link
Copy Markdown
Member Author

lorenzo commented Mar 31, 2022

today, probably. @Fixmetal

@potiuk
Copy link
Copy Markdown

potiuk commented Mar 31, 2022

today, probably. @Fixmetal

I already use beta and it works like a charm :)

potiuk added a commit to potiuk/airflow that referenced this pull request Mar 31, 2022
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.
@Fixmetal
Copy link
Copy Markdown

today, probably. @Fixmetal

♥️ Can't wait to see it running on my raspberry 4

potiuk added a commit to apache/airflow that referenced this pull request Mar 31, 2022
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.
@lorenzo
Copy link
Copy Markdown
Member Author

lorenzo commented Mar 31, 2022

@Fixmetal we are producing arm64 binaries, though. Not sure if raspberry is arm64?

@potiuk
Copy link
Copy Markdown

potiuk commented Mar 31, 2022

@Fixmetal we are producing arm64 binaries, though. Not sure if raspberry is arm64?

Unless you use very old one (with arm32) - tt should be fine with Raspbery PI.

@Fixmetal
Copy link
Copy Markdown

Fixmetal commented Mar 31, 2022

@Fixmetal we are producing arm64 binaries, though. Not sure if raspberry is arm64?

Yes, rasp4b has armv8 which is arm64! Rasp3 has armv7 which is 32bit so no luck on that. On a side note Rasp3 won't do no good on containers for its too few resources.

@potiuk
Copy link
Copy Markdown

potiuk commented Mar 31, 2022

Fun ting I just learned that the non-beta OS in RaspPi was mostly 32 till very recently: But 64 ARM architecture seems to be the only released since 2016 - and this is the important bit :)

https://arstechnica.com/gadgets/2022/02/64-bit-raspberry-pi-os-exits-beta-is-available-for-all-pi-3-4-and-zero-2-boards/#:~:text=The%20Raspberry%20Pi%20hardware%20has,has%20remained%20primarily%2032%2Dbit.

kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Jul 10, 2022
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Aug 30, 2022
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Oct 4, 2022
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
aglipska pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Oct 8, 2022
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Dec 7, 2022
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
leahecole pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Jan 27, 2023
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
kosteev pushed a commit to kosteev/composer-airflow-test-copybara that referenced this pull request Sep 12, 2024
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Sep 18, 2024
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Nov 7, 2024
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request May 2, 2025
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request May 23, 2025
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Sep 18, 2025
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Oct 16, 2025
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
kosteev pushed a commit to GoogleCloudPlatform/composer-airflow that referenced this pull request Feb 21, 2026
In order to allow "big" rebuilds we remove the image tag
before rebuilding, to make sure that the remote and not local image
is used as source of cache. This is consequence of using inlined
cache.

Files are added to the Python Base image image - the base
layers will be shared with other stages but we will make sure
that the script stages are different for different platforms.

Also - when there is no image at all we fail pre-commit. This
should handle the situation when we tried to build the image and
stopped it in-between.

Hadolint released a new version of their checker - with support
for the new Dockerfile buildkit features and native support for
ARM so we are enabling it back.

See hadolint/hadolint#803

Finally we still need some files that we cannot inline, because
they are only needed for source build and they are too long
to inline (yarn.lock for example). In order to keep the cache
working for all umasks we need to bring back group fixing.

GitOrigin-RevId: 25b62a72f4470186e33ad6a6c160da2e31a90668
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

build and release an arm64 version of hadolint

4 participants