-
Notifications
You must be signed in to change notification settings - Fork 116
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add
raspberry
feature checks in CI. (#255)
* ci: ✨ Add Rasberry CI * ci: 🐛 Fix typo * ci: 🐛 Fix args order * ci: 🐛 Fix args order * chore: ⚡️ Split Raspberry CI into a file * refactor: ♻️ Split Raspberry CI files into CI and Package * ci: 🐛 Add features arg to clippy check * ci: ⚡️ Remove fmt check
- Loading branch information
1 parent
046c467
commit 1367675
Showing
5 changed files
with
162 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
name: Rasberry Pi Package | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
target: | ||
required: true | ||
type: string | ||
arch: | ||
required: false | ||
default: "" | ||
type: string | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
|
||
jobs: | ||
publish-release: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
crate: ["espflash", "cargo-espflash"] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: stable | ||
target: ${{ inputs.target }} | ||
override: true | ||
- uses: Swatinem/rust-cache@v1 | ||
- name: Replace target string | ||
uses: mad9000/actions-find-and-replace-string@1 | ||
id: findandreplace | ||
with: | ||
source: ${{ inputs.target }} | ||
find: "unknown-" | ||
replace: "" | ||
- name: Build dependencies | ||
run: | | ||
sudo sed -i 's/azure\.//' /etc/apt/sources.list | ||
sudo apt-get update | ||
echo "deb [arch=${{ inputs.arch }}] http://ports.ubuntu.com/ubuntu-ports focal main universe" | sudo tee -a /etc/apt/sources.list | ||
echo "deb [arch=${{ inputs.arch }}] http://ports.ubuntu.com/ubuntu-ports focal-updates main universe" | sudo tee -a /etc/apt/sources.list | ||
sudo apt update | ||
sudo dpkg --add-architecture ${{ inputs.arch }} | ||
sudo apt-get install -y curl git libudev-dev musl-tools pkg-config "libudev1:${{ inputs.arch }}" "libgcc-s1:${{ inputs.arch }}" "libc6:${{ inputs.arch }}" "libudev-dev:${{ inputs.arch }}" gcc-arm-linux-gnueabihf pkg-config-arm-linux-gnueabihf gcc-aarch64-linux-gnu pkg-config-aarch64-linux-gnu | ||
echo "PKG_CONFIG_ALLOW_SYSTEM_LIBS=0" >> $GITHUB_ENV | ||
echo "PKG_CONFIG_DIR=/opt/" >> $GITHUB_ENV | ||
echo "PKG_CONFIG_LIBDIR=/opt/usr/lib/pkgconfig:/opt/usr/share/pkgconfig" >> $GITHUB_ENV | ||
echo "PKG_CONFIG_ALLOW_CROSS=1" >> $GITHUB_ENV | ||
if [[ ${{ inputs.arch }} == arm64 ]]; then | ||
echo "PKG_CONFIG_PATH=/usr/lib/${{ steps.findandreplace.outputs.value }}/pkgconfig" >> $GITHUB_ENV | ||
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=${{ steps.findandreplace.outputs.value }}-gcc" >> $GITHUB_ENV | ||
fi | ||
if [[ ${{ inputs.arch }} == armhf ]]; then | ||
echo "PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig" >> $GITHUB_ENV | ||
echo "CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc" >> $GITHUB_ENV | ||
fi | ||
- uses: actions-rs/cargo@v1 | ||
with: | ||
command: build | ||
args: --release --all --target ${{ inputs.target }} --features=raspberry | ||
- name: Compress | ||
run: zip -j ${{ matrix.crate }}-${{ inputs.target }}.zip target/${{ inputs.target }}/release/${{ matrix.crate }}${{ inputs.extension }} | ||
- uses: svenstaro/upload-release-action@v2 | ||
with: | ||
repo_token: ${{ secrets.GITHUB_TOKEN }} | ||
file: ${{ matrix.crate }}-${{ inputs.target }}.zip | ||
tag: ${{ github.ref }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
name: Rasberry Pi CI | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- master | ||
push: | ||
workflow_dispatch: | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
|
||
jobs: | ||
rust-ci: | ||
name: "Rust CI: ${{ matrix.job.name }} - ${{ matrix.board.target }}" | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
board: | ||
- target: armv7-unknown-linux-gnueabihf | ||
arch: armhf | ||
- target: aarch64-unknown-linux-gnu | ||
arch: arm64 | ||
job: | ||
- name: Check | ||
toolchain: stable | ||
cargo-command: check | ||
args: --features=raspberry | ||
- name: Check MSRV | ||
toolchain: "1.60" | ||
cargo-command: check | ||
args: --features=raspberry | ||
- name: Unit Test | ||
toolchain: stable | ||
cargo-command: test | ||
args: --lib --features=raspberry | ||
- name: Clippy | ||
toolchain: stable | ||
components: clippy | ||
cargo-command: clippy | ||
args: --features=raspberry -- -A clippy::too_many_arguments | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: ${{ matrix.job.toolchain }} | ||
target: ${{ matrix.board.target }} | ||
components: ${{ matrix.job.components }} | ||
override: true | ||
- uses: Swatinem/rust-cache@v1 | ||
- name: Replace target string | ||
uses: mad9000/actions-find-and-replace-string@1 | ||
id: findandreplace | ||
with: | ||
source: ${{ matrix.board.target }} | ||
find: "unknown-" | ||
replace: "" | ||
- name: Build dependencies | ||
if: matrix.job.cargo-command != 'fmt' | ||
run: | | ||
sudo sed -i 's/azure\.//' /etc/apt/sources.list | ||
sudo apt-get update | ||
echo "deb [arch=${{ matrix.board.arch }}] http://ports.ubuntu.com/ubuntu-ports focal main universe" | sudo tee -a /etc/apt/sources.list | ||
echo "deb [arch=${{ matrix.board.arch }}] http://ports.ubuntu.com/ubuntu-ports focal-updates main universe" | sudo tee -a /etc/apt/sources.list | ||
sudo apt update | ||
sudo dpkg --add-architecture ${{ matrix.board.arch }} | ||
sudo apt-get install -y curl git libudev-dev musl-tools pkg-config "libudev1:${{ matrix.board.arch }}" "libgcc-s1:${{ matrix.board.arch }}" "libc6:${{ matrix.board.arch }}" "libudev-dev:${{ matrix.board.arch }}" gcc-arm-linux-gnueabihf pkg-config-arm-linux-gnueabihf gcc-aarch64-linux-gnu pkg-config-aarch64-linux-gnu | ||
echo "PKG_CONFIG_ALLOW_SYSTEM_LIBS=0" >> $GITHUB_ENV | ||
echo "PKG_CONFIG_DIR=/opt/" >> $GITHUB_ENV | ||
echo "PKG_CONFIG_LIBDIR=/opt/usr/lib/pkgconfig:/opt/usr/share/pkgconfig" >> $GITHUB_ENV | ||
echo "PKG_CONFIG_ALLOW_CROSS=1" >> $GITHUB_ENV | ||
if [[ ${{ matrix.board.arch }} == arm64 ]]; then | ||
echo "PKG_CONFIG_PATH=/usr/lib/${{ steps.findandreplace.outputs.value }}/pkgconfig" >> $GITHUB_ENV | ||
echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=${{ steps.findandreplace.outputs.value }}-gcc" >> $GITHUB_ENV | ||
fi | ||
if [[ ${{ matrix.board.arch }} == armhf ]]; then | ||
echo "PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig" >> $GITHUB_ENV | ||
echo "CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc" >> $GITHUB_ENV | ||
fi | ||
- uses: actions-rs/cargo@v1 | ||
with: | ||
command: ${{ matrix.job.cargo-command }} | ||
args: ${{ matrix.job.args }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters