Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Actions: new targets: Linux ARM64 (glibc), x86-64 (musl), Windows (MinGW) #43

Merged
merged 1 commit into from
Jul 25, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 129 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,49 @@
on: [push, pull_request]


name: build-and-test

jobs:
armv7:
name: Ubuntu 18.04 (for ARMv7)
aarch64-glibc:
name: Ubuntu 18.04 (for ARMv8 - glibc)
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-unknown-linux-gnu
override: true

- name: Install binutils-arm-none-eabi
run: |
sudo apt-get update
sudo apt-get install binutils-aarch64-linux-gnu

- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --target=aarch64-unknown-linux-gnu

- name: Run cargo test
uses: actions-rs/cargo@v1
with:
use-cross: true
command: test
args: --release --target=aarch64-unknown-linux-gnu

- name: Strip binary
run: aarch64-linux-gnu-strip target/aarch64-unknown-linux-gnu/release/ouch

- name: Upload binary
uses: actions/upload-artifact@v2
with:
name: 'ouch-aarch64-unknown-linux-gnu'
path: target/aarch64-unknown-linux-gnu/release/ouch

armv7-glibc:
name: Ubuntu 18.04 (for ARMv7 - glibc)
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -38,12 +77,12 @@ jobs:
- name: Upload binary
uses: actions/upload-artifact@v2
with:
name: 'ouch-linux-armv7-glibc'
name: 'ouch-armv7-unknown-linux-gnueabihf'
path: target/armv7-unknown-linux-gnueabihf/release/ouch

ubuntu:
name: Ubuntu 18.04
runs-on: ubuntu-18.04
x86_64_musl:
name: Ubuntu 20.04
runs-on: ubuntu-20.04
strategy:
matrix:
rust:
Expand Down Expand Up @@ -81,9 +120,48 @@ jobs:
- name: Upload binary
uses: actions/upload-artifact@v2
with:
name: 'ouch-linux-x86-64-musl'
name: 'ouch-x86_64-unknown-linux-musl'
path: target/x86_64-unknown-linux-musl/release/ouch


x86_64_glibc:
name: Ubuntu 18.04 (glibc)
runs-on: ubuntu-18.04
strategy:
matrix:
rust:
- stable
steps:
- name: Checkout sources
uses: actions/checkout@v2

- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true

- name: Run cargo build
uses: actions-rs/cargo@v1
with:
command: build
args: --release

- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --release

- name: Strip binary
run: strip target/release/ouch

- name: Upload binary
uses: actions/upload-artifact@v2
with:
name: 'ouch-x86_64-unknown-linux-gnu'
path: target/release/ouch

macos:
name: macOS
runs-on: macos-latest
Expand Down Expand Up @@ -118,12 +196,13 @@ jobs:
- name: Upload binary
uses: actions/upload-artifact@v2
with:
name: 'ouch-macOS'
name: 'ouch-x86_64-apple-darwin'
path: target/release/ouch

windows:
name: Windows Server
runs-on: windows-2019

windows-msvc:
name: Windows Server (MSVC)
runs-on: windows-latest
strategy:
matrix:
rust:
Expand All @@ -137,6 +216,7 @@ jobs:
with:
toolchain: ${{ matrix.rust }}
override: true


- name: Run cargo build
uses: actions-rs/cargo@v1
Expand All @@ -152,5 +232,42 @@ jobs:
- name: Upload binary
uses: actions/upload-artifact@v2
with:
name: 'ouch-windows'
name: 'ouch-x86_64-pc-windows-msvc'
path: target\release\ouch.exe


windows-mingw:
name: Windows Server (MinGW)
runs-on: windows-2019
strategy:
matrix:
rust:
- stable
steps:
- name: Checkout sources
uses: actions/checkout@v2

- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-pc-windows-gnu
override: true

- name: Run cargo build
uses: actions-rs/cargo@v1
with:
command: build
args: --release --target x86_64-pc-windows-gnu

- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --release --target x86_64-pc-windows-gnu

- name: Upload binary
uses: actions/upload-artifact@v2
with:
name: 'ouch-x86_64-pc-windows-gnu'
path: target\x86_64-pc-windows-gnu\release\ouch.exe