feat(build): add arm64 support with cross-compilation (#3659)
* feat(build): add arrm64 support * fix(build): do not install google-compute-engine in arm64 This package is not available for this platform * fix(build): do not build arm64 for tests
This commit is contained in:
parent
4096cf6e50
commit
291e00c405
|
@ -42,8 +42,16 @@ jobs:
|
||||||
with:
|
with:
|
||||||
credentials_json: ${{ secrets.GOOGLE_CREDENTIALS }}
|
credentials_json: ${{ secrets.GOOGLE_CREDENTIALS }}
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
id: qemu
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
with:
|
||||||
|
image: tonistiigi/binfmt:latest
|
||||||
|
platforms: all
|
||||||
|
|
||||||
# Setup Docker Buildx to allow use of docker cache layers from GH
|
# Setup Docker Buildx to allow use of docker cache layers from GH
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v1
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
- name: Login to Google Artifact Registry
|
- name: Login to Google Artifact Registry
|
||||||
|
@ -68,6 +76,9 @@ jobs:
|
||||||
target: runtime
|
target: runtime
|
||||||
context: .
|
context: .
|
||||||
file: ./docker/Dockerfile
|
file: ./docker/Dockerfile
|
||||||
|
platforms: |
|
||||||
|
linux/amd64
|
||||||
|
linux/arm64
|
||||||
tags: |
|
tags: |
|
||||||
${{ env.GAR_BASE }}/${{ env.GITHUB_HEAD_REF_SLUG_URL || env.GITHUB_REF_SLUG_URL }}:latest
|
${{ env.GAR_BASE }}/${{ env.GITHUB_HEAD_REF_SLUG_URL || env.GITHUB_REF_SLUG_URL }}:latest
|
||||||
${{ env.GAR_BASE }}/${{ env.GITHUB_HEAD_REF_SLUG_URL || env.GITHUB_REF_SLUG_URL }}:${{ env.GITHUB_SHA_SHORT }}
|
${{ env.GAR_BASE }}/${{ env.GITHUB_HEAD_REF_SLUG_URL || env.GITHUB_REF_SLUG_URL }}:${{ env.GITHUB_SHA_SHORT }}
|
||||||
|
|
|
@ -47,9 +47,8 @@ jobs:
|
||||||
|
|
||||||
# Setup Docker Buildx to allow use of docker cache layers from GH
|
# Setup Docker Buildx to allow use of docker cache layers from GH
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v1
|
uses: docker/setup-buildx-action@v1
|
||||||
with:
|
|
||||||
driver-opts: network=host
|
|
||||||
|
|
||||||
- name: Login to Google Artifact Registry
|
- name: Login to Google Artifact Registry
|
||||||
uses: docker/login-action@v1.12.0
|
uses: docker/login-action@v1.12.0
|
||||||
|
|
|
@ -46,8 +46,16 @@ jobs:
|
||||||
with:
|
with:
|
||||||
credentials_json: ${{ secrets.GOOGLE_CREDENTIALS }}
|
credentials_json: ${{ secrets.GOOGLE_CREDENTIALS }}
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
id: qemu
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
with:
|
||||||
|
image: tonistiigi/binfmt:latest
|
||||||
|
platforms: all
|
||||||
|
|
||||||
# Setup Docker Buildx to allow use of docker cache layers from GH
|
# Setup Docker Buildx to allow use of docker cache layers from GH
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v1
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
- name: Login to Google Artifact Registry
|
- name: Login to Google Artifact Registry
|
||||||
|
@ -65,6 +73,9 @@ jobs:
|
||||||
target: builder
|
target: builder
|
||||||
context: .
|
context: .
|
||||||
file: ./zebra/docker/zcash-lightwalletd/Dockerfile
|
file: ./zebra/docker/zcash-lightwalletd/Dockerfile
|
||||||
|
platforms: |
|
||||||
|
linux/amd64
|
||||||
|
linux/arm64
|
||||||
tags: |
|
tags: |
|
||||||
${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:latest
|
${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:latest
|
||||||
${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:${{ env.GITHUB_SHA_SHORT }}
|
${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:${{ env.GITHUB_SHA_SHORT }}
|
||||||
|
|
|
@ -40,8 +40,16 @@ jobs:
|
||||||
with:
|
with:
|
||||||
credentials_json: ${{ secrets.GOOGLE_CREDENTIALS }}
|
credentials_json: ${{ secrets.GOOGLE_CREDENTIALS }}
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
id: qemu
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
with:
|
||||||
|
image: tonistiigi/binfmt:latest
|
||||||
|
platforms: all
|
||||||
|
|
||||||
# Setup Docker Buildx to allow use of docker cache layers from GH
|
# Setup Docker Buildx to allow use of docker cache layers from GH
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v1
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
- name: Login to Google Artifact Registry
|
- name: Login to Google Artifact Registry
|
||||||
|
@ -59,6 +67,9 @@ jobs:
|
||||||
target: builder
|
target: builder
|
||||||
context: .
|
context: .
|
||||||
file: ./docker/zcash-params/Dockerfile
|
file: ./docker/zcash-params/Dockerfile
|
||||||
|
platforms: |
|
||||||
|
linux/amd64
|
||||||
|
linux/arm64
|
||||||
tags: |
|
tags: |
|
||||||
${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:latest
|
${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:latest
|
||||||
${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:${{ env.GITHUB_SHA_SHORT }}
|
${{ env.GAR_BASE }}/${{ env.IMAGE_NAME }}:${{ env.GITHUB_SHA_SHORT }}
|
||||||
|
|
|
@ -27,7 +27,8 @@ RUN apt-get -qq update && \
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/*
|
rm -rf /var/lib/apt/lists/* /tmp/*
|
||||||
|
|
||||||
# Install google OS Config agent
|
# Install google OS Config agent
|
||||||
RUN apt-get -qq update && \
|
RUN if [ "$(uname -m)" != "aarch64" ]; then \
|
||||||
|
apt-get -qq update && \
|
||||||
apt-get -qq install -y --no-install-recommends \
|
apt-get -qq install -y --no-install-recommends \
|
||||||
curl \
|
curl \
|
||||||
lsb-release \
|
lsb-release \
|
||||||
|
@ -36,6 +37,7 @@ RUN apt-get -qq update && \
|
||||||
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \
|
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && \
|
||||||
apt-get -qq update && \
|
apt-get -qq update && \
|
||||||
apt-get -qq install -y --no-install-recommends google-osconfig-agent && \
|
apt-get -qq install -y --no-install-recommends google-osconfig-agent && \
|
||||||
|
; fi && \
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/*
|
rm -rf /var/lib/apt/lists/* /tmp/*
|
||||||
|
|
||||||
# Optimize builds. In particular, regenerate-stateful-test-disks.yml was reaching the
|
# Optimize builds. In particular, regenerate-stateful-test-disks.yml was reaching the
|
||||||
|
|
Loading…
Reference in New Issue