diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f58906c14..7deb34637 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,6 +17,8 @@ on: - 'Dockerfile' - 'integration/**' - 'scripts/**' +env: + GO_VERSION: '1.20.6' jobs: test: @@ -25,7 +27,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v4 with: - go-version: '1.20.6' + go-version: ${{ env.GO_VERSION }} - run: make - run: make test integration: @@ -40,5 +42,53 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v4 with: - go-version: '1.20.6' + go-version: ${{ env.GO_VERSION }} - run: make integration + + integration-arm64: + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + containerd: ["1.7.0"] + arch: ["arm64"] + env: + DOCKER_BUILD_ARGS: "CONTAINERD_VERSION=${{ matrix.containerd }}" + steps: + - uses: actions/checkout@v4 + - uses: uraimo/run-on-arch-action@v2.5.1 + id: integration-tests-arm64 + with: + arch: aarch64 + distro: ubuntu20.04 + run: | + dpkg --add-architecture arm64 + + apt-get update + apt-get -y install curl gcc git libz-dev make wget + + wget https://go.dev/dl/go${{ env.GO_VERSION }}.linux-arm64.tar.gz + rm -rf /usr/local/go && tar -C /usr/local -xzf go${{ env.GO_VERSION }}.linux-arm64.tar.gz + export PATH=$PATH:/usr/local/go/bin + + # zypper repo doesn't have the right containerd version from what I can tell, + # but if we can make the script get the right one it might save some headache + curl -fsSL https://get.docker.com -o get-docker.sh + sh ./get-docker.sh --version + + # wget https://github.com/containerd/containerd/releases/download/v{$CONTAINERD_VERSION}/containerd-{$CONTAINERD_VERSION}-linux-arm64.tar.gz + # tar Cxzvf /usr/local containerd-{$CONTAINERD_VERSION}-linux-ard64.tar.gz + + curl -SL https://github.com/docker/compose/releases/download/v2.19.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose + chmod +x /usr/local/bin/docker-compose + + git clone https://github.com/awslabs/soci-snapshotter.git + cd soci-snapshotter/ + git checkout release/0.4 + + uname -m + go version + docker info + docker-compose --version + + STATIC=1 make integration diff --git a/Dockerfile b/Dockerfile index 401550137..d1544eadf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,6 +26,9 @@ ARG TARGETARCH COPY . $GOPATH/src/github.com/awslabs/soci-snapshotter ENV GOPROXY direct RUN apt-get update -y && apt-get install -y libbtrfs-dev libseccomp-dev libz-dev gcc fuse pigz +RUN echo $TARGETARCH +RUN exit 1; + RUN cp $GOPATH/src/github.com/awslabs/soci-snapshotter/out/soci /usr/local/bin/ && \ cp $GOPATH/src/github.com/awslabs/soci-snapshotter/out/soci-snapshotter-grpc /usr/local/bin/ && \ mkdir /etc/soci-snapshotter-grpc && \