Skip to content

Commit 7fd5467

Browse files
committed
v1.87.0
- Debian 12.12 - Rust 1.87.0 - tpoechtrager/osxcross@3881a64 - Github Actions as new CI
1 parent d634b50 commit 7fd5467

File tree

2 files changed

+224
-4
lines changed

2 files changed

+224
-4
lines changed

.github/workflows/release.yaml

Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
name: release
2+
on:
3+
push:
4+
tags:
5+
- 'v1.0.[0-9]+'
6+
7+
jobs:
8+
build-amd64:
9+
name: build (amd64)
10+
runs-on: ubuntu-22.04
11+
steps:
12+
-
13+
name: Checkout
14+
uses: actions/checkout@v4
15+
with:
16+
fetch-depth: 1
17+
# https://github.com/actions/runner-images/issues/2840
18+
- name: Free disk space
19+
run: |
20+
sudo rm -rf /usr/share/dotnet
21+
sudo rm -rf /usr/local/lib/android/sdk/build-tools
22+
sudo rm -rf /usr/local/lib/android/sdk/cmake
23+
sudo rm -rf /usr/local/lib/android/sdk/cmdline-tools
24+
sudo rm -rf /usr/local/lib/android/sdk/extras
25+
sudo rm -rf /usr/local/lib/android/sdk/ndk
26+
-
27+
name: Set up QEMU
28+
uses: docker/setup-qemu-action@v3
29+
-
30+
name: Docker meta
31+
id: meta-amd64
32+
uses: docker/metadata-action@v5
33+
with:
34+
images: joseluisq/rust-linux-darwin-builder
35+
flavor: |
36+
latest=true
37+
suffix=-amd64
38+
tags: |
39+
type=semver,pattern={{version}}
40+
-
41+
name: Set up Docker Buildx
42+
uses: docker/setup-buildx-action@v3
43+
-
44+
name: Login to ghcr.io
45+
uses: docker/login-action@v3
46+
with:
47+
registry: ghcr.io
48+
username: ${{ github.actor }}
49+
password: ${{ secrets.GITHUB_TOKEN }}
50+
-
51+
name: Login to DockerHub
52+
uses: docker/login-action@v3
53+
with:
54+
username: ${{ secrets.DOCKERHUB_USERNAME }}
55+
password: ${{ secrets.DOCKERHUB_TOKEN }}
56+
-
57+
name: Build and push
58+
uses: docker/build-push-action@v6
59+
with:
60+
push: true
61+
provenance: false
62+
context: .
63+
platforms: linux/amd64
64+
file: Dockerfile
65+
tags: ${{ steps.meta-amd64.outputs.tags }}
66+
67+
build-arm64:
68+
name: build (arm64)
69+
runs-on: ubuntu-22.04-arm
70+
steps:
71+
-
72+
name: Checkout
73+
uses: actions/checkout@v4
74+
-
75+
name: Set up QEMU
76+
uses: docker/setup-qemu-action@v3
77+
-
78+
name: Docker meta
79+
id: meta-arm64
80+
uses: docker/metadata-action@v5
81+
with:
82+
images: |
83+
joseluisq/rust-linux-darwin-builder
84+
ghcr.io/joseluisq/rust-linux-darwin-builder
85+
flavor: |
86+
latest=true
87+
suffix=-arm64
88+
tags: |
89+
type=semver,pattern={{version}}
90+
-
91+
name: Set up Docker Buildx
92+
uses: docker/setup-buildx-action@v3
93+
-
94+
name: Login to ghcr.io
95+
uses: docker/login-action@v3
96+
with:
97+
registry: ghcr.io
98+
username: ${{ github.actor }}
99+
password: ${{ secrets.GITHUB_TOKEN }}
100+
-
101+
name: Login to DockerHub
102+
uses: docker/login-action@v3
103+
with:
104+
username: ${{ secrets.DOCKERHUB_USERNAME }}
105+
password: ${{ secrets.DOCKERHUB_TOKEN }}
106+
-
107+
name: Build and push
108+
uses: docker/build-push-action@v6
109+
with:
110+
push: true
111+
provenance: false
112+
context: .
113+
platforms: linux/arm64
114+
file: Dockerfile
115+
tags: ${{ steps.meta-arm64.outputs.tags }}
116+
117+
manifest:
118+
needs:
119+
- build-amd64
120+
- build-arm64
121+
runs-on: ubuntu-22.04
122+
steps:
123+
# https://github.com/actions/runner-images/issues/2840
124+
- name: Free disk space
125+
run: |
126+
sudo rm -rf /usr/share/dotnet
127+
sudo rm -rf /usr/local/lib/android/sdk/build-tools
128+
sudo rm -rf /usr/local/lib/android/sdk/cmake
129+
sudo rm -rf /usr/local/lib/android/sdk/cmdline-tools
130+
sudo rm -rf /usr/local/lib/android/sdk/extras
131+
sudo rm -rf /usr/local/lib/android/sdk/ndk
132+
- name: Set envs
133+
run: |
134+
github_ref=${GITHUB_REF#refs/tags/}
135+
SEMVER=${github_ref##*v}
136+
SEMVER_MAJOR=${SEMVER%.*.*}
137+
SEMVER_MINOR=${SEMVER%.*}
138+
echo "SEMVER=${SEMVER}" >> $GITHUB_ENV
139+
echo "SEMVER_MAJOR=${SEMVER_MAJOR}" >> $GITHUB_ENV
140+
echo "SEMVER_MINOR=${SEMVER_MINOR}" >> $GITHUB_ENV
141+
echo $SEMVER
142+
echo $SEMVER_MAJOR
143+
echo $SEMVER_MINOR
144+
-
145+
name: Login to ghcr.io
146+
uses: docker/login-action@v3
147+
with:
148+
registry: ghcr.io
149+
username: ${{ github.actor }}
150+
password: ${{ secrets.GITHUB_TOKEN }}
151+
-
152+
name: Login to DockerHub
153+
uses: docker/login-action@v3
154+
with:
155+
username: ${{ secrets.DOCKERHUB_USERNAME }}
156+
password: ${{ secrets.DOCKERHUB_TOKEN }}
157+
-
158+
name: Pull all images
159+
run: |
160+
docker pull joseluisq/rust-linux-darwin-builder:$SEMVER-amd64
161+
docker pull joseluisq/rust-linux-darwin-builder:$SEMVER-arm64
162+
163+
docker pull ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER-amd64
164+
docker pull ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER-arm64
165+
-
166+
name: Push semver minor alias
167+
run: |
168+
docker manifest create \
169+
joseluisq/rust-linux-darwin-builder:$SEMVER_MINOR \
170+
--amend joseluisq/rust-linux-darwin-builder:$SEMVER-amd64 \
171+
--amend joseluisq/rust-linux-darwin-builder:$SEMVER-arm64
172+
docker manifest push joseluisq/rust-linux-darwin-builder:$SEMVER_MINOR
173+
174+
docker manifest create \
175+
ghcr.io/joseluisq/rust-lisq/rust-linux-darwin-builder:$SEMVER-arm64
176+
docker manifest push ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER_MINOR
177+
-
178+
name: Push latest (1.0 or newer)nux-darwin-builder:$SEMVER_MINOR \
179+
--amend ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER-amd64 \
180+
--amend ghcr.io/joselui
181+
run: |
182+
docker manifest create \
183+
joseluisq/rust-linux-darwin-builder:latest \
184+
--amend joseluisq/rust-linux-darwin-builder:$SEMVER-amd64 \
185+
--amend joseluisq/rust-linux-darwin-builder:$SEMVER-arm64
186+
docker manifest push joseluisq/rust-linux-darwin-builder:latest
187+
188+
docker manifest create \
189+
ghcr.io/joseluisghcr.io/q/rust-linux-darwin-builder:latest \
190+
--amend ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER-amd64 \
191+
--amend ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER-arm64
192+
docker manifest push ghcr.io/joseluisq/rust-linux-darwin-builder:latest
193+
-
194+
name: Push semver alias
195+
run: |
196+
docker manifest create \
197+
joseluisq/rust-linux-darwin-builder:$SEMVER \
198+
--amend joseluisq/rust-linux-darwin-builder:$SEMVER-amd64 \
199+
--amend joseluisq/rust-linux-darwin-builder:$SEMVER-arm64
200+
docker manifest push joseluisq/rust-linux-darwin-builder:$SEMVER
201+
202+
docker manifest create \
203+
ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER \
204+
--amend ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER-amd64 \
205+
--amend ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER-arm64
206+
docker manifest push ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER
207+
-
208+
name: Push semver major alias (1.0 or newer)
209+
run: |
210+
docker manifest create \
211+
joseluisq/rust-linux-darwin-builder:$SEMVER_MAJOR \
212+
--amend joseluisq/rust-linux-darwin-builder:$SEMVER-amd64 \
213+
--amend joseluisq/rust-linux-darwin-builder:$SEMVER-arm64
214+
docker manifest push joseluisq/rust-linux-darwin-builder:$SEMVER_MAJOR
215+
216+
docker manifest create \
217+
ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER_MAJOR \
218+
--amend ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER-amd64 \
219+
--amend ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER-arm64
220+
docker manifest push ghcr.io/joseluisq/rust-linux-darwin-builder:$SEMVER_MAJOR

Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ RUN set -eux \
101101
&& ln -s /usr/include/asm-generic /usr/local/musl/include/asm-generic \
102102
&& cd /tmp \
103103
&& ver=$(echo $OPENSSL_VERSION | sed -e 's:\.:_:g') \
104-
&& curl -LO "https://github.com/openssl/openssl/releases/download/OpenSSL_${ver}/openssl-${OPENSSL_VERSION}.tar.gz" \
104+
&& curl -fLO "https://github.com/openssl/openssl/releases/download/OpenSSL_${ver}/openssl-${OPENSSL_VERSION}.tar.gz" \
105105
&& tar xvzf "openssl-${OPENSSL_VERSION}.tar.gz" \
106106
&& cd "openssl-${OPENSSL_VERSION}" \
107107
&& env CC=musl-gcc ./Configure no-shared no-zlib -fPIC --prefix=/usr/local/musl -DOPENSSL_NO_SECURE_MEMORY ${config} "linux-$(uname -m)" \
@@ -121,7 +121,7 @@ ARG ZLIB_VERSION=1.3.1
121121
RUN set -eux \
122122
&& echo "Building zlib ${ZLIB_VERSION}..." \
123123
&& cd /tmp \
124-
&& curl -LO "https://www.zlib.net/fossils/zlib-${ZLIB_VERSION}.tar.gz" \
124+
&& curl -fLO "https://www.zlib.net/fossils/zlib-${ZLIB_VERSION}.tar.gz" \
125125
&& tar xzf "zlib-${ZLIB_VERSION}.tar.gz" \
126126
&& cd "zlib-${ZLIB_VERSION}" \
127127
&& env CC=musl-gcc ./configure --static --prefix=/usr/local/musl \
@@ -137,7 +137,7 @@ ARG POSTGRESQL_VERSION=15.9
137137
RUN set -eux \
138138
&& echo "Building libpq ${POSTGRESQL_VERSION}..." \
139139
&& cd /tmp \
140-
&& curl -LO "https://ftp.postgresql.org/pub/source/v${POSTGRESQL_VERSION}/postgresql-${POSTGRESQL_VERSION}.tar.gz" \
140+
&& curl -fLO "https://ftp.postgresql.org/pub/source/v${POSTGRESQL_VERSION}/postgresql-${POSTGRESQL_VERSION}.tar.gz" \
141141
&& tar xzf "postgresql-${POSTGRESQL_VERSION}.tar.gz" \
142142
&& cd "postgresql-${POSTGRESQL_VERSION}" \
143143
&& env CC=musl-gcc CPPFLAGS=-I/usr/local/musl/include LDFLAGS=-L/usr/local/musl/lib ./configure --with-openssl --without-readline --prefix=/usr/local/musl \
@@ -189,7 +189,7 @@ RUN set -eux \
189189
RUN set -eux \
190190
&& echo "Building osxcross with ${OSX_SDK_VERSION}..." \
191191
&& cd /usr/local/osxcross \
192-
&& curl -Lo "./tarballs/MacOSX${OSX_SDK_VERSION}.sdk.tar.xz" \
192+
&& curl -fLo "./tarballs/MacOSX${OSX_SDK_VERSION}.sdk.tar.xz" \
193193
"https://github.com/joseluisq/macosx-sdks/releases/download/${OSX_SDK_VERSION}/MacOSX${OSX_SDK_VERSION}.sdk.tar.xz" \
194194
&& echo "${OSX_SDK_SUM} ./tarballs/MacOSX${OSX_SDK_VERSION}.sdk.tar.xz" \
195195
| sha256sum -c - \

0 commit comments

Comments
 (0)