Skip to content

Commit 03779ab

Browse files
committed
feat: github actions
1 parent a1aea00 commit 03779ab

File tree

4 files changed

+41
-12
lines changed

4 files changed

+41
-12
lines changed

.drone.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ steps:
2020
image: joseluisq/rust-linux-darwin-builder:latest
2121
pull: if-not-exists
2222
commands:
23-
- make ci-test
23+
- make test-ci
2424

2525
volumes:
2626
- name: dockersock

.github/workflows/ci.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: CI
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
docker:
7+
runs-on: ubuntu-latest
8+
steps:
9+
-
10+
name: Checkout
11+
uses: actions/checkout@v2
12+
-
13+
name: Cache Docker layers
14+
uses: mattes/cached-docker-build-action@v1
15+
with:
16+
args: "-t joseluisq/rust-linux-darwin-builder:latest -f docker/Dockerfile ."
17+
cache_key: "${{ hashFiles('**/lockfiles') }}"
18+
-
19+
name: Test cross-compile
20+
uses: addnab/docker-run-action@v1
21+
with:
22+
image: joseluisq/rust-linux-darwin-builder:latest
23+
options: -v ${{ github.workspace }}:/root/src
24+
shell: bash
25+
run: |
26+
make test-ci

Makefile

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,22 @@ test:
99
-v $(PWD):/drone/src \
1010
-w /drone/src \
1111
joseluisq/rust-linux-darwin-builder:latest \
12-
make ci-test
12+
make test-ci
1313
.PHONY: test
1414

15-
ci-test:
15+
test-ci:
1616
@echo "Testing application..."
1717
@rustc -vV
1818
@echo
19-
@echo "Compiling application(linux-musl x86_64)..."
20-
@cargo build --manifest-path=tests/hello-world/Cargo.toml --release --target x86_64-unknown-linux-musl
21-
@du -sh tests/hello-world/target/x86_64-unknown-linux-musl/release/helloworld
22-
@echo
23-
@echo "Compiling application(apple-darwin x86_64)..."
24-
@cargo build --manifest-path=tests/hello-world/Cargo.toml --release --target x86_64-apple-darwin
25-
@du -sh tests/hello-world/target/x86_64-apple-darwin/release/helloworld
26-
.ONESHELL: ci-test
19+
@cd tests/hello-world \
20+
&& echo "Compiling application(linux-musl x86_64)..." \
21+
&& cargo build --release --target x86_64-unknown-linux-musl \
22+
&& du -sh target/x86_64-unknown-linux-musl/release/helloworld \
23+
&& echo \
24+
&& echo "Compiling application(apple-darwin x86_64)..." \
25+
&& cargo build --release --target x86_64-apple-darwin \
26+
&& du -sh target/x86_64-apple-darwin/release/helloworld
27+
.ONESHELL: test-ci
2728

2829
promote:
2930
@drone build promote joseluisq/rust-linux-darwin-builder $(BUILD) $(ENV)

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# Rust Linux / Darwin Builder [![Docker Image Version (tag latest semver)](https://img.shields.io/docker/v/joseluisq/rust-linux-darwin-builder/1)](https://hub.docker.com/r/joseluisq/rust-linux-darwin-builder/) [![Build Status](https://travis-ci.com/joseluisq/rust-linux-darwin-builder.svg?branch=master)](https://travis-ci.com/joseluisq/rust-linux-darwin-builder) [![Docker Image Size (tag)](https://img.shields.io/docker/image-size/joseluisq/rust-linux-darwin-builder/1)](https://hub.docker.com/r/joseluisq/rust-linux-darwin-builder/tags) [![Docker Image](https://img.shields.io/docker/pulls/joseluisq/rust-linux-darwin-builder.svg)](https://hub.docker.com/r/joseluisq/rust-linux-darwin-builder/)
1+
# Rust Linux / Darwin Builder
2+
3+
[![CI](https://github.com/joseluisq/rust-linux-darwin-builder/workflows/CI/badge.svg)](https://github.com/joseluisq/rust-linux-darwin-builder/actions?query=workflow%3ACI) [![Docker Image Version (tag latest semver)](https://img.shields.io/docker/v/joseluisq/rust-linux-darwin-builder/1)](https://hub.docker.com/r/joseluisq/rust-linux-darwin-builder/) [![Docker Image Size (tag)](https://img.shields.io/docker/image-size/joseluisq/rust-linux-darwin-builder/1)](https://hub.docker.com/r/joseluisq/rust-linux-darwin-builder/tags) [![Docker Image](https://img.shields.io/docker/pulls/joseluisq/rust-linux-darwin-builder.svg)](https://hub.docker.com/r/joseluisq/rust-linux-darwin-builder/)
24

35
> Use same Docker image for compiling [Rust](https://www.rust-lang.org/) programs for Linux ([musl libc](https://doc.rust-lang.org/edition-guide/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html)) & macOS ([osxcross](https://github.com/tpoechtrager/osxcross)).
46

0 commit comments

Comments
 (0)