Commit graph

14 commits

Author SHA1 Message Date
Marcel
f0c7a8fbfc
Added GitHub Actions to automatic publish binaries for various architectures (#95)
* Create ci.yaml

* Update ci.yaml

* Update ci.yaml

* Update ci.yaml

* Update config.toml

* Update ci.yaml

* Update ci.yaml

* Update ci.yaml

* Update ci.yaml

* Delete release-binaries.yml

* Update ci.yaml

* Update ci.yaml
2022-05-09 12:05:46 +02:00
Michael Weinrich
d987baf1f1
feat(ci): add binary build and release workflow (#77)
This adds a workflow (or actually several parallel ones) that gets triggered for a new tag. It builds binaries for several different platforms, creates a release and attaches them as downloads. I wasn't able to make this work for arm64 (because of ring) therefore I commented that part for now.

Fix #59
2022-03-09 06:23:02 -05:00
Quentin McGaw
6678669dfb
Maintenance: remove microbadger CI hook (#76) 2021-11-03 11:00:31 +01:00
Quentin McGaw
638b9d1c33
CI fixes: dockerhub description and linting (#68)
- Github workflow: upgrade `peter-evans/dockerhub-description` to `v2.4.3`
- Dockerfile: fix: lint stage not running, changed from `ENTRYPOINT` to `RUN`
- Dockerfile: fix: install clippy for build platform
2021-07-17 12:40:58 -07:00
Quentin McGaw
8f44776745
Linting with Clippy (#69)
* Dockerfile: add test stage with cargo test entrypoint

* Workflows: merge all in docker.yml
- Run cargo test in docker.yml workflow
- Manage PRs, releases, branches and latest altogether with variables

* Workflows: update dockerhub description

* Add clippy linting
2021-07-16 15:11:51 +02:00
Quentin McGaw
3a74f8b5b0
Multi arch Dockerfile and CI (#63)
* 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
2021-07-08 09:17:51 +02:00
Quentin McGaw
eea9b11c85
Remove linux/386 platform from buildx (#47) 2020-10-12 17:33:01 -04:00
Quentin McGaw
50e9bdf596 Fix latest buildx workflow 2020-09-23 07:29:33 -04:00
Quentin McGaw
f055d0a656 Docker Hub description sync 2020-08-31 20:53:11 -04:00
Quentin McGaw
610fcd1e0d Buildx tagged Docker build on releases/tags 2020-08-31 20:53:00 -04:00
Quentin McGaw
4a13a26869 Buildx latest on master branch changes 2020-08-31 20:52:50 -04:00
Quentin McGaw
e9e0690a88 Buildx tagged Docker build on branches 2020-08-31 20:52:37 -04:00
Quentin McGaw
970783e903 Simple Docker build on master pull request 2020-08-31 20:52:12 -04:00
Francesco Cogno
f04208a810
Added github action 2020-05-09 16:54:48 +02:00