Skip to content

Commit

Permalink
Merge 2452482 into c213160
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonathas-Conceicao committed May 12, 2020
2 parents c213160 + 2452482 commit 085ff3b
Show file tree
Hide file tree
Showing 9 changed files with 179 additions and 8 deletions.
72 changes: 72 additions & 0 deletions .github/workflows/aarch64.yml
@@ -0,0 +1,72 @@
name: CI (AArch64)

on:
push:
branches:
- master
pull_request:

jobs:
build_and_test:
strategy:
fail-fast: false
matrix:
version:
- 1.38.0 # MSRV
- stable
- nightly

name: Test ${{ matrix.version }} - aarch64-unknown-linux-gnu
runs-on: ubuntu-latest

steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install ${{ matrix.version }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.version }}-
target: aarch64-unknown-linux-gnu
profile: minimal
override: true
default: true

- name: Generate Cargo.lock
uses: actions-rs/cargo@v1
with:
command: generate-lockfile
- name: Cache cargo registry
uses: actions/cache@v1
with:
path: ~/.cargo/registry
key: ${{ matrix.version }}-aarch64-unknown-linux-gnu-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v1
with:
path: ~/.cargo/git
key: ${{ matrix.version }}-aarch64-unknown-linux-gnu-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v1
with:
path: target
key: ${{ matrix.version }}-aarch64-unknown-linux-gnu-cargo-build-trimmed-${{ hashFiles('**/Cargo.lock') }}

- name: Check build
uses: actions-rs/cargo@v1
with:
use-cross: true
command: check
args: --target aarch64-unknown-linux-gnu --release --all --bins --examples --tests

- name: Tests
uses: actions-rs/cargo@v1
timeout-minutes: 10
with:
use-cross: true
command: test
args: --target aarch64-unknown-linux-gnu --release --all --all-features --no-fail-fast -- --nocapture

- name: Clear the cargo caches
run: |
cargo install cargo-cache --no-default-features --features ci-autoclean
cargo-cache
72 changes: 72 additions & 0 deletions .github/workflows/armv7.yml
@@ -0,0 +1,72 @@
name: CI (ARMv7)

on:
push:
branches:
- master
pull_request:

jobs:
build_and_test:
strategy:
fail-fast: false
matrix:
version:
- 1.38.0 # MSRV
- stable
- nightly

name: Test ${{ matrix.version }} - armv7-unknown-linux-gnueabihf
runs-on: ubuntu-latest

steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install ${{ matrix.version }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.version }}-
target: armv7-unknown-linux-gnueabihf
profile: minimal
override: true
default: true

- name: Generate Cargo.lock
uses: actions-rs/cargo@v1
with:
command: generate-lockfile
- name: Cache cargo registry
uses: actions/cache@v1
with:
path: ~/.cargo/registry
key: ${{ matrix.version }}-armv7-unknown-linux-gnueabihf-cargo-registry-trimmed-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v1
with:
path: ~/.cargo/git
key: ${{ matrix.version }}-armv7-unknown-linux-gnueabihf-cargo-index-trimmed-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v1
with:
path: target
key: ${{ matrix.version }}-armv7-unknown-linux-gnueabihf-cargo-build-trimmed-${{ hashFiles('**/Cargo.lock') }}

- name: Check build
uses: actions-rs/cargo@v1
with:
use-cross: true
command: check
args: --target armv7-unknown-linux-gnueabihf --release --all --bins --examples --tests

- name: Tests
uses: actions-rs/cargo@v1
timeout-minutes: 10
with:
use-cross: true
command: test
args: --target armv7-unknown-linux-gnueabihf --release --all --all-features --no-fail-fast -- --nocapture

- name: Clear the cargo caches
run: |
cargo install cargo-cache --no-default-features --features ci-autoclean
cargo-cache
6 changes: 6 additions & 0 deletions CHANGES.md
Expand Up @@ -10,6 +10,12 @@

[#19]: https://github.com/OSSystems/compress-tools-rs/pull/16

### Changed

* Lower required version of libarchive to 3 instead of 3.2.2 [#21]

[#21]: https://github.com/OSSystems/compress-tools-rs/pull/21

## [0.4.0] 2020-04-17

### Added
Expand Down
5 changes: 5 additions & 0 deletions Cross.toml
@@ -0,0 +1,5 @@
[target.armv7-unknown-linux-gnueabihf]
image = "jonathasossystems/cross-armv7-libarchive:latest"

[target.aarch64-unknown-linux-gnu]
image = "jonathasossystems/cross-aarch64-libarchive:latest"
2 changes: 2 additions & 0 deletions README.md
Expand Up @@ -12,6 +12,8 @@ functionalities.
| Linux | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(Linux)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |
| macOS | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(macOS)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |
| Windows | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(Windows)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |
| AArch64 | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(AArch64)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |
| ARMv7 | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(ARMv7)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |

---

Expand Down
6 changes: 6 additions & 0 deletions docker/Dockerfile.cross-aarch64-libarchive
@@ -0,0 +1,6 @@
FROM rustembedded/cross:aarch64-unknown-linux-gnu
RUN dpkg --add-architecture arm64
RUN apt-get update
RUN apt-get install --assume-yes --no-install-recommends libarchive-dev:arm64

ENV PKG_CONFIG=aarch64-linux-gnu-pkg-config
6 changes: 6 additions & 0 deletions docker/Dockerfile.cross-armv7-libarchive
@@ -0,0 +1,6 @@
FROM rustembedded/cross:armv7-unknown-linux-gnueabihf
RUN dpkg --add-architecture armhf
RUN apt-get update
RUN apt-get install --assume-yes --no-install-recommends libarchive-dev:armhf

ENV PKG_CONFIG=arm-linux-gnueabihf-pkg-config
16 changes: 8 additions & 8 deletions src/build.rs
@@ -1,18 +1,18 @@
fn main() {
if !find_libarchive() {
panic!("Unable to find libarchive");
}
find_libarchive()
}

#[cfg(not(windows))]
fn find_libarchive() -> bool {
fn find_libarchive() {
pkg_config::Config::new()
.atleast_version("3.2.2")
.atleast_version("3")
.probe("libarchive")
.is_ok()
.expect("Unable to find libarchive");
}

#[cfg(windows)]
fn find_libarchive() -> bool {
vcpkg::Config::new().find_package("libarchive").is_ok()
fn find_libarchive() {
vcpkg::Config::new()
.find_package("libarchive")
.expect("Unable to find libarchive");
}
2 changes: 2 additions & 0 deletions src/lib.rs
Expand Up @@ -11,6 +11,8 @@
//! | Linux | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(Linux)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |
//! | macOS | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(macOS)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |
//! | Windows | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(Windows)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |
//! | AArch64 | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(AArch64)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |
//! | ARMv7 | [![build status](https://github.com/OSSystems/compress-tools-rs/workflows/CI%20(ARMv7)/badge.svg)](https://github.com/OSSystems/compress-tools-rs/actions) |
//!
//! ---
//!
Expand Down

0 comments on commit 085ff3b

Please sign in to comment.