|
|
@ -7,33 +7,71 @@ on: |
|
|
|
|
|
|
|
|
|
|
|
jobs: |
|
|
|
jobs: |
|
|
|
release: |
|
|
|
release: |
|
|
|
name: Publish to Github Reelases |
|
|
|
name: Publish to Github Relases |
|
|
|
outputs: |
|
|
|
outputs: |
|
|
|
rc: ${{ steps.check-tag.outputs.rc }} |
|
|
|
rc: ${{ steps.check-tag.outputs.rc }} |
|
|
|
|
|
|
|
|
|
|
|
strategy: |
|
|
|
strategy: |
|
|
|
matrix: |
|
|
|
matrix: |
|
|
|
target: |
|
|
|
|
|
|
|
- aarch64-unknown-linux-musl |
|
|
|
|
|
|
|
- aarch64-apple-darwin |
|
|
|
|
|
|
|
- x86_64-apple-darwin |
|
|
|
|
|
|
|
- x86_64-pc-windows-msvc |
|
|
|
|
|
|
|
- x86_64-unknown-linux-musl |
|
|
|
|
|
|
|
include: |
|
|
|
include: |
|
|
|
- target: aarch64-unknown-linux-musl |
|
|
|
- target: aarch64-unknown-linux-musl |
|
|
|
os: ubuntu-latest |
|
|
|
os: ubuntu-latest |
|
|
|
use-cross: true |
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
- target: aarch64-apple-darwin |
|
|
|
- target: aarch64-apple-darwin |
|
|
|
os: macos-latest |
|
|
|
os: macos-latest |
|
|
|
use-cross: true |
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
|
|
|
|
- target: aarch64-pc-windows-msvc |
|
|
|
|
|
|
|
os: windows-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "--no-default-features" |
|
|
|
|
|
|
|
- target: aarch64-linux-android |
|
|
|
|
|
|
|
os: ubuntu-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
- target: x86_64-apple-darwin |
|
|
|
- target: x86_64-apple-darwin |
|
|
|
os: macos-latest |
|
|
|
os: macos-latest |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
- target: x86_64-pc-windows-msvc |
|
|
|
- target: x86_64-pc-windows-msvc |
|
|
|
os: windows-latest |
|
|
|
os: windows-latest |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
- target: x86_64-unknown-linux-musl |
|
|
|
- target: x86_64-unknown-linux-musl |
|
|
|
os: ubuntu-latest |
|
|
|
os: ubuntu-latest |
|
|
|
use-cross: true |
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
|
|
|
|
- target: i686-unknown-linux-musl |
|
|
|
|
|
|
|
os: ubuntu-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
|
|
|
|
- target: i686-pc-windows-msvc |
|
|
|
|
|
|
|
os: windows-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
|
|
|
|
- target: armv7-unknown-linux-musleabihf |
|
|
|
|
|
|
|
os: ubuntu-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
|
|
|
|
- target: arm-unknown-linux-musleabihf |
|
|
|
|
|
|
|
os: ubuntu-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "" |
|
|
|
|
|
|
|
- target: mips-unknown-linux-musl |
|
|
|
|
|
|
|
os: ubuntu-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "--no-default-features" |
|
|
|
|
|
|
|
- target: mipsel-unknown-linux-musl |
|
|
|
|
|
|
|
os: ubuntu-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "--no-default-features" |
|
|
|
|
|
|
|
- target: mips64-unknown-linux-gnuabi64 |
|
|
|
|
|
|
|
os: ubuntu-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "--no-default-features" |
|
|
|
|
|
|
|
- target: mips64el-unknown-linux-gnuabi64 |
|
|
|
|
|
|
|
os: ubuntu-latest |
|
|
|
|
|
|
|
use-cross: true |
|
|
|
|
|
|
|
cargo-flags: "--no-default-features" |
|
|
|
runs-on: ${{matrix.os}} |
|
|
|
runs-on: ${{matrix.os}} |
|
|
|
|
|
|
|
|
|
|
|
steps: |
|
|
|
steps: |
|
|
@ -60,13 +98,6 @@ jobs: |
|
|
|
toolchain: stable |
|
|
|
toolchain: stable |
|
|
|
profile: minimal # minimal component installation (ie, no documentation) |
|
|
|
profile: minimal # minimal component installation (ie, no documentation) |
|
|
|
|
|
|
|
|
|
|
|
- name: Install prerequisites |
|
|
|
|
|
|
|
shell: bash |
|
|
|
|
|
|
|
run: | |
|
|
|
|
|
|
|
case ${{ matrix.target }} in |
|
|
|
|
|
|
|
aarch64-unknown-linux-musl) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Show Version Information (Rust, cargo, GCC) |
|
|
|
- name: Show Version Information (Rust, cargo, GCC) |
|
|
|
shell: bash |
|
|
|
shell: bash |
|
|
|
run: | |
|
|
|
run: | |
|
|
@ -82,7 +113,7 @@ jobs: |
|
|
|
with: |
|
|
|
with: |
|
|
|
use-cross: ${{ matrix.use-cross }} |
|
|
|
use-cross: ${{ matrix.use-cross }} |
|
|
|
command: build |
|
|
|
command: build |
|
|
|
args: --locked --release --target=${{ matrix.target }} |
|
|
|
args: --locked --release --target=${{ matrix.target }} ${{ matrix.cargo-flags }} |
|
|
|
|
|
|
|
|
|
|
|
- name: Build Archive |
|
|
|
- name: Build Archive |
|
|
|
shell: bash |
|
|
|
shell: bash |
|
|
@ -133,6 +164,8 @@ jobs: |
|
|
|
runs-on: ubuntu-latest |
|
|
|
runs-on: ubuntu-latest |
|
|
|
needs: release |
|
|
|
needs: release |
|
|
|
steps: |
|
|
|
steps: |
|
|
|
|
|
|
|
- name: Set up QEMU |
|
|
|
|
|
|
|
uses: docker/setup-qemu-action@v1 |
|
|
|
- name: Set up Docker Buildx |
|
|
|
- name: Set up Docker Buildx |
|
|
|
uses: docker/setup-buildx-action@v1 |
|
|
|
uses: docker/setup-buildx-action@v1 |
|
|
|
- name: Login to DockerHub |
|
|
|
- name: Login to DockerHub |
|
|
@ -141,9 +174,16 @@ jobs: |
|
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }} |
|
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }} |
|
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }} |
|
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }} |
|
|
|
- name: Build and push |
|
|
|
- name: Build and push |
|
|
|
id: docker_build |
|
|
|
|
|
|
|
uses: docker/build-push-action@v2 |
|
|
|
uses: docker/build-push-action@v2 |
|
|
|
with: |
|
|
|
with: |
|
|
|
|
|
|
|
build-args: | |
|
|
|
|
|
|
|
REPO=${{ github.repository }} |
|
|
|
|
|
|
|
VER=${{ github.ref_name }} |
|
|
|
|
|
|
|
platforms: | |
|
|
|
|
|
|
|
linux/amd64 |
|
|
|
|
|
|
|
linux/arm64 |
|
|
|
|
|
|
|
linux/386 |
|
|
|
|
|
|
|
linux/arm/v7 |
|
|
|
push: ${{ needs.release.outputs.rc == 'false' }} |
|
|
|
push: ${{ needs.release.outputs.rc == 'false' }} |
|
|
|
tags: ${{ github.repository }}:latest, ${{ github.repository }}:${{ github.ref_name }} |
|
|
|
tags: ${{ github.repository }}:latest, ${{ github.repository }}:${{ github.ref_name }} |
|
|
|
|
|
|
|
|
|
|
|