use matrix build
This commit is contained in:
parent
191f0cfb06
commit
a177fe775c
32
.ci/build.sh
32
.ci/build.sh
|
@ -1,32 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
N=4
|
|
||||||
i=0
|
|
||||||
TARGETS=(
|
|
||||||
# Linux builds
|
|
||||||
"linux-arm64-gnuc:aarch64-unknown-linux-gnu"
|
|
||||||
"linux-arm64-musl:aarch64-unknown-linux-musl"
|
|
||||||
"linux-armv7-gnuc:armv7-unknown-linux-gnueabi"
|
|
||||||
"linux-armv7-musl:armv7-unknown-linux-musleabi"
|
|
||||||
"linux-86_64-gnuc:x86_64-unknown-linux-gnu"
|
|
||||||
"linux-86_64-musl:x86_64-unknown-linux-musl"
|
|
||||||
|
|
||||||
# windows builds
|
|
||||||
"windows-86_64-gnu:x86_64-pc-windows-gnu"
|
|
||||||
)
|
|
||||||
|
|
||||||
for thing in "${TARGETS[@]}"; do
|
|
||||||
KEY=${thing%%:*}
|
|
||||||
VALUE=${thing#*:}
|
|
||||||
|
|
||||||
echo "* BUILDING FOR $VALUE"
|
|
||||||
cross build --release --target $VALUE
|
|
||||||
|
|
||||||
# Copy intol folders
|
|
||||||
mkdir -p ./build/$KEY/
|
|
||||||
cp target/$VALUE/release/* ./build/$KEY/
|
|
||||||
|
|
||||||
rm ./build/$KEY/*.{d,rlib}
|
|
||||||
done
|
|
||||||
|
|
||||||
wait < <(jobs -p)
|
|
17
.github/workflows/build.yml
vendored
17
.github/workflows/build.yml
vendored
|
@ -69,6 +69,16 @@ jobs:
|
||||||
build_linux:
|
build_linux:
|
||||||
name: 'Build for Linux'
|
name: 'Build for Linux'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
arch:
|
||||||
|
- aarch64-unknown-linux-gnu
|
||||||
|
- aarch64-unknown-linux-musl
|
||||||
|
- armv7-unknown-linux-gnueabi
|
||||||
|
- armv7-unknown-linux-musleabi
|
||||||
|
- x86_64-unknown-linux-gnu
|
||||||
|
- x86_64-unknown-linux-musl
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: ATiltedTree/setup-rust@v1
|
- uses: ATiltedTree/setup-rust@v1
|
||||||
|
@ -82,12 +92,15 @@ jobs:
|
||||||
~/.cargo/registry/cache/
|
~/.cargo/registry/cache/
|
||||||
~/.cargo/git/db/
|
~/.cargo/git/db/
|
||||||
target/
|
target/
|
||||||
key: ${{ runner.os }}-cargo
|
key: ${{ runner.os }}-cargo-${{ matrix.arch }}
|
||||||
- name: Build all
|
- name: Build all
|
||||||
run: |
|
run: |
|
||||||
cargo install cross --force
|
cargo install cross --force
|
||||||
export CROSS_CONTAINER_ENGINE_NO_BUILDKIT=1
|
export CROSS_CONTAINER_ENGINE_NO_BUILDKIT=1
|
||||||
./.ci/build.sh
|
cross build --release --target ${{ matrix.arch }}
|
||||||
|
mkdir -p ./build
|
||||||
|
cp target/${{ matrix.arch }}/release/* ./build/ || true
|
||||||
|
rm ./build/*.{d,rlib}
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: release
|
name: release
|
||||||
|
|
11
.github/workflows/docker-publish.yml
vendored
11
.github/workflows/docker-publish.yml
vendored
|
@ -11,6 +11,13 @@ env:
|
||||||
jobs:
|
jobs:
|
||||||
bake:
|
bake:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
arch:
|
||||||
|
- linux/amd64
|
||||||
|
- linux/arm64/v8
|
||||||
|
- linux/arm/v7
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
@ -22,7 +29,7 @@ jobs:
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v2
|
||||||
with:
|
with:
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64/v8,linux/arm/v7
|
||||||
|
|
||||||
- name: Log into registry ${{ env.REGISTRY }}
|
- name: Log into registry ${{ env.REGISTRY }}
|
||||||
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
|
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
|
||||||
|
@ -30,6 +37,7 @@ jobs:
|
||||||
registry: ${{ env.REGISTRY }}
|
registry: ${{ env.REGISTRY }}
|
||||||
username: ${{ github.actor }}
|
username: ${{ github.actor }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/bake-action@v2
|
uses: docker/bake-action@v2
|
||||||
with:
|
with:
|
||||||
|
@ -37,3 +45,4 @@ jobs:
|
||||||
set: |
|
set: |
|
||||||
*.cache-from=type=gha
|
*.cache-from=type=gha
|
||||||
*.cache-to=type=gha,mode=max
|
*.cache-to=type=gha,mode=max
|
||||||
|
*.platform=${{ matrix.platform }}
|
||||||
|
|
Loading…
Reference in a new issue