Skip to content

Commit 01ab8a1

Browse files
authored
Try #953: --target x86_64-unknown-linux-gnu
2 parents 5261b6a + 64fc7ad commit 01ab8a1

File tree

59 files changed

+208
-574
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+208
-574
lines changed

.github/workflows/ci.yml

Lines changed: 100 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,109 @@ jobs:
109109
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
110110
COMMIT_AUTHOR: ${{ github.event.head_commit.author.username }}
111111

112+
build-base:
113+
name: base (${{ matrix.image }})
114+
runs-on: ubuntu-latest
115+
needs: [shellcheck, test, check]
116+
if: github.event_name == 'push'
117+
strategy:
118+
fail-fast: false
119+
matrix:
120+
image:
121+
- ubuntu
122+
- centos
123+
- emscripten
124+
outputs:
125+
images: ${{ steps.build-docker-image.outputs.images && fromJSON(steps.build-docker-image.outputs.images) }}
126+
coverage-artifact: ${{ steps.cov.outputs.artifact-name }}
127+
steps:
128+
- uses: actions/checkout@v3
129+
130+
- uses: ./.github/actions/setup-rust
131+
132+
- name: Set up Docker Buildx
133+
if: runner.os == 'Linux'
134+
uses: docker/setup-buildx-action@v1
135+
136+
- name: Build xtask
137+
run: cargo build -p xtask
138+
139+
- name: Prepare Meta
140+
id: prepare-meta
141+
timeout-minutes: 60
142+
run: cargo xtask ci-job prepare-meta "${IMAGE}"
143+
env:
144+
IMAGE: ${{ matrix.image }}
145+
shell: bash
146+
147+
- name: LLVM instrument coverage
148+
uses: ./.github/actions/cargo-llvm-cov
149+
with:
150+
name: cross-${{matrix.image}}
151+
152+
- name: Install cross
153+
if: matrix.deploy
154+
run: cargo install --path . --force --debug
155+
156+
- name: Docker Meta
157+
id: docker-meta
158+
uses: docker/metadata-action@v4
159+
with:
160+
images: |
161+
name=${{ steps.prepare-meta.outputs.image }}
162+
labels: |
163+
${{ fromJSON(steps.prepare-meta.outputs.labels) }}
164+
- name: Build Docker image
165+
id: build-docker-image
166+
timeout-minutes: 60
167+
run: cargo xtask build-docker-image -v "${IMAGE}"
168+
env:
169+
IMAGE: ${{ matrix.image }}
170+
LABELS: ${{ steps.docker-meta.outputs.labels }}
171+
LATEST: ${{ needs.check.outputs.is-latest || 'false' }}
172+
shell: bash
173+
174+
- name: Save Docker Image
175+
id: save-docker-image
176+
run: docker save "${IMAGE}:${TAG}" -o "${IMAGE}-${TAG}.tar"
177+
env:
178+
IMAGE: ${{ matrix.image }}
179+
TAG: ${{ github.ref.name }}
180+
181+
- uses: actions/upload-artifact@v2
182+
with:
183+
name: ${{ matrix.image }}-image-tarball
184+
path: ${{ matrix.image }}-${{ github.ref.name }}.tar
185+
186+
- uses: ./.github/actions/cargo-install-upload-artifacts
187+
if: matrix.deploy
188+
with:
189+
target: ${{ matrix.image }}
190+
image: ${{ steps.build-docker-image.outputs.image }}
191+
192+
- name: Login to GitHub Container Registry
193+
uses: docker/login-action@v1
194+
with:
195+
registry: ghcr.io
196+
username: ${{ github.actor }}
197+
password: ${{ secrets.GITHUB_TOKEN }}
198+
- name: Push image to GitHub Container Registry
199+
if: >
200+
(
201+
github.ref == format('refs/heads/{0}', github.event.repository.default_branch) ||
202+
startsWith(github.ref, 'refs/tags/v')
203+
)
204+
run: cargo xtask build-docker-image -v --push "${IMAGE}"
205+
env:
206+
IMAGE: ${{ matrix.target }}
207+
LABELS: ${{ steps.docker-meta.outputs.labels }}
208+
LATEST: ${{ needs.check.outputs.is-latest || 'false' }}
209+
shell: bash
210+
112211
build:
113212
name: target (${{ matrix.pretty }},${{ matrix.os }})
114213
runs-on: ${{ matrix.os }}
115-
needs: [shellcheck, test, generate-matrix, check]
214+
needs: [shellcheck, test, generate-matrix, check, build-base]
116215
if: github.event_name == 'push'
117216
strategy:
118217
fail-fast: false

docker/Dockerfile.aarch64-linux-android

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
COPY android-ndk.sh /
145
RUN /android-ndk.sh arm64 28
156
ENV PATH=$PATH:/android-ndk/bin

docker/Dockerfile.aarch64-unknown-linux-gnu

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
145
g++-aarch64-linux-gnu \
156
libc6-dev-arm64-cross

docker/Dockerfile.aarch64-unknown-linux-musl

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
COPY qemu.sh /
145
RUN /qemu.sh aarch64
156

docker/Dockerfile.arm-linux-androideabi

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
COPY android-ndk.sh /
145
RUN /android-ndk.sh arm 28
156
ENV PATH=$PATH:/android-ndk/bin

docker/Dockerfile.arm-unknown-linux-gnueabi

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
145
g++-arm-linux-gnueabi \
156
libc6-dev-armel-cross

docker/Dockerfile.arm-unknown-linux-gnueabihf

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
ARG VERBOSE
145
COPY crosstool-ng.sh /
156
COPY crosstool-config/arm-unknown-linux-gnueabihf.config /

docker/Dockerfile.arm-unknown-linux-musleabi

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
COPY qemu.sh /
145
RUN /qemu.sh arm
156

docker/Dockerfile.arm-unknown-linux-musleabihf

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
COPY qemu.sh /
145
RUN /qemu.sh arm
156

docker/Dockerfile.armv5te-unknown-linux-gnueabi

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
145
g++-arm-linux-gnueabi \
156
crossbuild-essential-armel \

docker/Dockerfile.armv5te-unknown-linux-musleabi

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
COPY qemu.sh /
145
RUN /qemu.sh arm
156

docker/Dockerfile.armv7-linux-androideabi

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
COPY android-ndk.sh /
145
RUN /android-ndk.sh arm 28
156
ENV PATH=$PATH:/android-ndk/bin

docker/Dockerfile.armv7-unknown-linux-gnueabi

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
RUN apt-get install --assume-yes --no-install-recommends \
145
g++-arm-linux-gnueabi \
156
libc6-dev-armel-cross

docker/Dockerfile.armv7-unknown-linux-gnueabihf

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
145
g++-arm-linux-gnueabihf \
156
libc6-dev-armhf-cross

docker/Dockerfile.armv7-unknown-linux-musleabi

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
COPY qemu.sh /
145
RUN /qemu.sh arm
156

docker/Dockerfile.armv7-unknown-linux-musleabihf

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
FROM ubuntu:20.04
1+
FROM ghcr.io/cross-rs/ubuntu:main
22
ARG DEBIAN_FRONTEND=noninteractive
33

4-
COPY common.sh lib.sh /
5-
RUN /common.sh
6-
7-
COPY cmake.sh /
8-
RUN /cmake.sh
9-
10-
COPY xargo.sh /
11-
RUN /xargo.sh
12-
134
COPY qemu.sh /
145
RUN /qemu.sh arm
156

docker/Dockerfile.centos

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM centos:7
2+
3+
COPY common.sh lib.sh /
4+
RUN /common.sh
5+
6+
COPY cmake.sh /
7+
RUN /cmake.sh
8+
9+
COPY xargo.sh /
10+
RUN /xargo.sh

docker/Dockerfile.emscripten

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM emscripten/emsdk:3.1.14
2+
WORKDIR /
3+
ARG DEBIAN_FRONTEND=noninteractive
4+
5+
COPY common.sh lib.sh /
6+
RUN /common.sh
7+
8+
COPY cmake.sh /
9+
RUN /cmake.sh
10+
11+
COPY xargo.sh /
12+
RUN /xargo.sh

0 commit comments

Comments
 (0)