Skip to content

Commit

Permalink
fix: osx sdk image
Browse files Browse the repository at this point in the history
Signed-off-by: Goren G <[email protected]>
  • Loading branch information
gythialy committed Dec 8, 2023
1 parent e6a7b53 commit 4adc292
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 73 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
with:
name: ${{ steps.get_repo_owner.outputs.repo_owner }}/golang-cross-builder
username: ${{ steps.get_repo_owner.outputs.repo_owner }}
password: ${{ secrets.DEPLOY_TOKEN }}
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
dockerfile: Dockerfile.builder
tags: "latest,${{ env.GOLANG_CROSS_TAG }}"
Expand All @@ -41,4 +41,4 @@ jobs:
shell: bash
env:
COSIGN_EXPERIMENTAL: 1
DOCKER_PASSWD: ${{ secrets.DEPLOY_TOKEN }}
DOCKER_PASSWD: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/dockerimage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
with:
name: ${{ steps.get_repo_owner.outputs.repo_owner }}/golang-cross
username: ${{ steps.get_repo_owner.outputs.repo_owner }}
password: ${{ secrets.DEPLOY_TOKEN }}
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
tag_names: true
no_push: ${{ github.event_name == 'pull_request' }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-golang-cross.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
with:
name: ${{ steps.get_repo_owner.outputs.repo_owner }}/golang-cross
username: ${{ steps.get_repo_owner.outputs.repo_owner }}
password: ${{ secrets.DEPLOY_TOKEN }}
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
tags: ${{ steps.get_tag.outputs.release_tag }}

Expand All @@ -41,4 +41,4 @@ jobs:
shell: bash
env:
COSIGN_EXPERIMENTAL: 1
DOCKER_PASSWD: ${{ secrets.DEPLOY_TOKEN }}
DOCKER_PASSWD: ${{ secrets.GITHUB_TOKEN }}
133 changes: 65 additions & 68 deletions Dockerfile.builder
Original file line number Diff line number Diff line change
@@ -1,90 +1,87 @@
# golang parameters
ARG GO_VERSION=1.18.10

# osxcross parameters
ARG OSX_VERSION_MIN=10.12
ARG OSX_CROSS_COMMIT=0c6186e32d170abcccc0ca39bd14f6b91ac32289
FROM ghcr.io/gythialy/osx-sdk:v11 AS osx-sdk

FROM golang:${GO_VERSION}-bullseye AS base

# osxcross parameters
ARG OSX_VERSION_MIN=10.12
ARG OSX_CROSS_COMMIT=50e86ebca7d14372febd0af8cd098705049161b9
ARG APT_MIRROR
RUN sed -ri "s/(httpredir|deb).debian.org/${APT_MIRROR:-deb.debian.org}/g" /etc/apt/sources.list \
&& sed -ri "s/(security).debian.org/${APT_MIRROR:-security.debian.org}/g" /etc/apt/sources.list
&& sed -ri "s/(security).debian.org/${APT_MIRROR:-security.debian.org}/g" /etc/apt/sources.list
ENV OSX_CROSS_PATH=/osxcross
FROM ghcr.io/gythialy/golang-cross/osx-sdk:macos-11.1 AS osx-sdk

FROM base AS osx-cross-base
ARG DEBIAN_FRONTEND=noninteractive
# Install deps
# Install deps
RUN set -x; echo "Starting image build for Debian " \
&& dpkg --add-architecture arm64 \
&& dpkg --add-architecture armel \
&& dpkg --add-architecture armhf \
&& dpkg --add-architecture i386 \
&& dpkg --add-architecture mips \
&& dpkg --add-architecture mipsel \
&& dpkg --add-architecture powerpc \
&& dpkg --add-architecture ppc64el \
&& dpkg --add-architecture s390x \
&& apt-get update \
&& apt-get install -y -q \
autoconf \
automake \
autotools-dev \
bc \
binfmt-support \
binutils-multiarch \
binutils-multiarch-dev \
build-essential \
clang \
crossbuild-essential-arm64 \
crossbuild-essential-armel \
crossbuild-essential-armhf \
crossbuild-essential-mipsel \
crossbuild-essential-ppc64el \
crossbuild-essential-s390x \
curl \
devscripts \
gdb \
git-core \
libtool \
llvm \
mercurial \
multistrap \
patch \
software-properties-common \
subversion \
wget \
xz-utils \
cmake \
qemu-user-static \
libxml2-dev \
lzma-dev \
openssl \
mingw-w64 \
musl-tools \
libssl-dev && \
apt -y autoremove && \
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& dpkg --add-architecture arm64 \
&& dpkg --add-architecture armel \
&& dpkg --add-architecture armhf \
&& dpkg --add-architecture i386 \
&& dpkg --add-architecture mips \
&& dpkg --add-architecture mipsel \
&& dpkg --add-architecture powerpc \
&& dpkg --add-architecture ppc64el \
&& dpkg --add-architecture s390x \
&& apt-get update \
&& apt-get install -y -q \
autoconf \
automake \
autotools-dev \
bc \
binfmt-support \
binutils-multiarch \
binutils-multiarch-dev \
build-essential \
clang \
crossbuild-essential-arm64 \
crossbuild-essential-armel \
crossbuild-essential-armhf \
crossbuild-essential-mipsel \
crossbuild-essential-ppc64el \
crossbuild-essential-s390x \
curl \
devscripts \
gdb \
git-core \
libtool \
llvm \
mercurial \
multistrap \
patch \
software-properties-common \
subversion \
wget \
xz-utils \
cmake \
qemu-user-static \
libxml2-dev \
lzma-dev \
openssl \
mingw-w64 \
musl-tools \
libssl-dev \
&& apt -y autoremove \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# FIXME: install gcc-multilib
# FIXME: add mips and powerpc architectures

FROM osx-cross-base AS osx-cross
ARG OSX_CROSS_COMMIT
WORKDIR "${OSX_CROSS_PATH}"

# install osxcross:
RUN git clone https://github.com/tpoechtrager/osxcross.git . \
&& git checkout -q "${OSX_CROSS_COMMIT}" \
&& rm -rf ./.git
COPY --from=osx-sdk "${OSX_CROSS_PATH}/." "${OSX_CROSS_PATH}/"
ARG OSX_VERSION_MIN
RUN UNATTENDED=yes OSX_VERSION_MIN=${OSX_VERSION_MIN} ./build.sh
&& git checkout -q "${OSX_CROSS_COMMIT}"

FROM osx-cross-base AS final
LABEL maintainer="Goren G<[email protected]>"
ARG DEBIAN_FRONTEND=noninteractive
# install osx sdk
COPY --from=osx-sdk "${OSX_CROSS_PATH}/." "${OSX_CROSS_PATH}"

RUN \
UNATTENDED=yes OSX_VERSION_MIN=${OSX_VERSION_MIN} ./build.sh \
&& rm -rf *~ build *.tar.xz \
&& rm -rf ./.git

COPY --from=osx-cross "${OSX_CROSS_PATH}/." "${OSX_CROSS_PATH}/"
ENV PATH=${OSX_CROSS_PATH}/target/bin:$PATH

0 comments on commit 4adc292

Please sign in to comment.