3a74f8b5b0
* Modify Dockerfile - Use rustup from Docker image - Give up on cross compilation (ring issue) - Remove useless duplicate cargo install step - No need to specify target as it is built statically for the docker platform targeted - Shorten binary path output for shorter COPY * Github Actions to build for all ARM as well * Remove unneded musl-dev * Adapt build for all platforms - Use Debian based Rust for compilation - Cross compile on build platform - Compile static binaries using musl - Set variables correctly for all Docker supported platforms - Note: ppc64le, s390x and riscv64 do not support the Rust standard lib - Persist target platform variables through files - Define linkers in .cargo/config - Cache dependencies properly for target platform - Scratch stage to test the binary for target platform * Add 386 arch to CI * Use buildkit for docker build * Only build for amd64 on branches * Fix dependencies caching * Split dependencies fetching and compilation * Documentation * Build for all architectures on branch * Add STATIC build argument * Documentation
39 lines
1.3 KiB
YAML
39 lines
1.3 KiB
YAML
name: Buildx latest
|
|
on:
|
|
release:
|
|
branches: [master]
|
|
paths-ignore:
|
|
- .github/workflows/build.yml
|
|
- .github/workflows/buildx-branch.yml
|
|
- .github/workflows/buildx-release.yml
|
|
- .github/workflows/dockerhub-description.yml
|
|
- .github/workflows/rust.yml
|
|
- extra
|
|
- _config.yml
|
|
- .gitignore
|
|
- .rustfmt.toml
|
|
- .gitignore
|
|
- example.json
|
|
- LICENSE
|
|
- README.md
|
|
jobs:
|
|
buildx:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Buildx setup
|
|
uses: crazy-max/ghaction-docker-buildx@v1
|
|
- name: Dockerhub login
|
|
run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u mindflavor --password-stdin 2>&1
|
|
- name: Run Buildx
|
|
run: |
|
|
docker buildx build \
|
|
--progress plain \
|
|
--platform=linux/amd64,linux/386,linux/arm64,linux/arm/v6,linux/arm/v7 \
|
|
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
|
--build-arg COMMIT=`git rev-parse --short HEAD` \
|
|
--build-arg VERSION=latest \
|
|
-t mindflavor/prometheus-wireguard-exporter:latest \
|
|
--push \
|
|
.
|
|
- run: curl -X POST https://hooks.microbadger.com/images/mindflavor/prometheus-wireguard-exporter/TODO || exit 0
|