diff --git a/.github/docker-images/bin-images/amazonlinux/Dockerfile b/.github/docker-images/bin-images/amazonlinux/Dockerfile index bd875f30..1abdcbd5 100644 --- a/.github/docker-images/bin-images/amazonlinux/Dockerfile +++ b/.github/docker-images/bin-images/amazonlinux/Dockerfile @@ -27,4 +27,4 @@ RUN HOME_DIR=/root \ RUN yum check-update; yum upgrade -y && \ yum install -y libatomic libicu -ENTRYPOINT ["/root/bin/localproxy"] \ No newline at end of file +ENTRYPOINT ["/root/bin/localproxy"] diff --git a/.github/docker-images/bin-images/debian-ubuntu/Dockerfile b/.github/docker-images/bin-images/debian-ubuntu/Dockerfile index 805629ea..a0eaf465 100644 --- a/.github/docker-images/bin-images/debian-ubuntu/Dockerfile +++ b/.github/docker-images/bin-images/debian-ubuntu/Dockerfile @@ -27,4 +27,4 @@ RUN HOME_DIR=/root \ # OS-specific commands RUN apt update && apt upgrade -y && apt install -y ca-certificates && update-ca-certificates -ENTRYPOINT ["/root/bin/localproxy"] \ No newline at end of file +ENTRYPOINT ["/root/bin/localproxy"] diff --git a/.github/docker-images/bin-images/fedora/Dockerfile b/.github/docker-images/bin-images/fedora/Dockerfile new file mode 100644 index 00000000..c1fded0f --- /dev/null +++ b/.github/docker-images/bin-images/fedora/Dockerfile @@ -0,0 +1,31 @@ +ARG BASE_IMAGE +FROM ${BASE_IMAGE} AS deploy + +############################################################################### +# Copy and build local proxy +############################################################################### + +COPY . /root/aws-iot-securetunneling-localproxy +RUN mkdir -p /root/aws-iot-securetunneling-localproxy/build \ + && cd /root/aws-iot-securetunneling-localproxy/build \ + && cmake .. \ + && make + +FROM fedora:latest AS minimum_size + +COPY --from=deploy /root/aws-iot-securetunneling-localproxy/build/bin/localproxy /root/bin/localproxy + +COPY ./.github/docker-images/oss-compliance /root/oss-compliance +RUN HOME_DIR=/root \ + && cd ${HOME_DIR}/oss-compliance \ + && chmod +x ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh \ + && chmod +x ${HOME_DIR}/oss-compliance/test/test-oss-compliance.sh \ + && bash ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh ${HOME_DIR} \ + && rm -rf ${HOME_DIR}/oss-compliance* + +# OS-specific commands +RUN dnf -y update; dnf -y install && \ + libatomic libicu ca-certificates && \ + update-ca-trust extract + +ENTRYPOINT ["/root/bin/localproxy"] diff --git a/.github/docker-images/bin-images/ubi8/Dockerfile b/.github/docker-images/bin-images/ubi8/Dockerfile index eca15f2b..e52bd863 100644 --- a/.github/docker-images/bin-images/ubi8/Dockerfile +++ b/.github/docker-images/bin-images/ubi8/Dockerfile @@ -28,4 +28,4 @@ RUN yum check-update; yum upgrade -y && \ yum install -y libatomic libicu ca-certificates && \ update-ca-trust extract -ENTRYPOINT ["/root/bin/localproxy"] \ No newline at end of file +ENTRYPOINT ["/root/bin/localproxy"] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 34d465f9..77826700 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -339,6 +339,7 @@ jobs: ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_DEBIAN }}:arm64-${{ github.sha }} ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_DEBIAN }}:arm64-latest platforms: linux/arm64 + # Note: Since we only build a single image for fedora (amd64) we can tag with 'latest' in this step build-docker-image-fedora-amd64: runs-on: ubuntu-latest permissions: @@ -373,6 +374,7 @@ jobs: tags: | ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_FEDORA }}:amd64-${{ github.sha }} ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_FEDORA }}:amd64-latest + ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_FEDORA }}:latest platforms: linux/amd64 build-image-manifest-ubuntu: runs-on: ubuntu-latest @@ -397,7 +399,6 @@ jobs: ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_UBUNTU }}:arm64-latest ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_UBUNTU }}:armv7-latest shell: bash - build-image-manifest-ubi8: runs-on: ubuntu-latest needs: @@ -413,7 +414,7 @@ jobs: - name: Login to ECR run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${{ env.ECR_ACCOUNT_URL }} - name: Create multi-image manifest - run: ddocker buildx imagetools create --tag ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_UBI8 }}:latest + run: docker buildx imagetools create --tag ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_UBI8 }}:latest ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_UBI8 }}:amd64-latest ${{ env.ECR_ACCOUNT_URL }}/${{ env.ECR_RELEASE_UBI8 }}:arm64-latest build-image-manifest-amazonlinux: