Skip to content

Commit

Permalink
Dep updates 2023-10-10, add linux-aarch64 CLI build (#98)
Browse files Browse the repository at this point in the history
* Update deno deps to 1.36.4

* serde dep updates

* update tokio, drop multi-thread feature flag

* update reqwest, drop blocking feature flag

* install protoc
  • Loading branch information
jonmmease authored Sep 11, 2023
1 parent 0bada6b commit f02da92
Show file tree
Hide file tree
Showing 12 changed files with 1,281 additions and 1,099 deletions.
12 changes: 12 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ jobs:
uses: Swatinem/rust-cache@v2
with:
cache-on-failure: True
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Check cargo fmt compliance
run: cargo fmt --all -- --check
- name: Check no rustc warnings
Expand Down Expand Up @@ -100,6 +104,10 @@ jobs:
uses: Swatinem/rust-cache@v2
with:
cache-on-failure: True
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install fonts on Linux
if: runner.os == 'Linux'
run: |
Expand Down Expand Up @@ -138,6 +146,10 @@ jobs:
uses: Swatinem/rust-cache@v2
with:
cache-on-failure: True
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install fonts on Linux
if: runner.os == 'Linux'
run: |
Expand Down
101 changes: 86 additions & 15 deletions .github/workflows/Release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,41 +6,85 @@ on:
- main

jobs:
build-cli-linux:
runs-on: ubuntu-latest
strategy:
matrix:
options:
- [ "x86_64-unknown-linux-gnu", "linux-64"]
build-cli-linux-x86:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Install latest stable Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Download architecture toolchain
- name: Install protoc
run: |
rustup target add ${{ matrix.options[0] }}
sudo apt-get update
sudo apt-get install protobuf-compiler
- name: Build vl-convert
uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: -p vl-convert --release --target ${{ matrix.options[0] }}
args: -p vl-convert --release
- name: Move executable to bin directory
run: |
mkdir -p bin
cp target/${{ matrix.options[0] }}/release/vl-convert bin/
cp target/release/vl-convert bin/
cp LICENSE bin/
cp thirdparty_* bin/
zip -r vl-convert_${{ matrix.options[1] }}.zip bin/
zip -r vl-convert_linux-64.zip bin/
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: vl-convert
path: |
vl-convert_${{ matrix.options[1] }}.zip
vl-convert_linux-64.zip
build-cli-linux-aarch64:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
with:
platforms: arm64
- name: Cache
uses: actions/cache@v3
with:
key: build-cli-linux-aarch64-${{ hashFiles('Cargo.lock') }}
path: |
cargo-arm64
target-arm64
- name: Build in Docker
run: |
docker run \
--rm \
-v $(pwd):/workspace \
-w /workspace \
--platform linux/arm64 \
--env CARGO_TARGET_DIR=/workspace/target-arm64 \
--env CARGO_HOME=/workspace/cargo-arm64 \
rust:1.72-slim-bullseye \
bash -c "\
uname -a && \
apt update -y && \
apt install cmake curl zip unzip -y && \
curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v24.0/protoc-24.0-linux-aarch_64.zip && \
unzip protoc-24.0-linux-aarch_64.zip -d /usr/ && \
which protoc && \
cargo build --release -p vl-convert && \
rm -rf bin/ && \
rm -rf vl-convert_linux-aarch64.zip && \
mkdir -p bin/ && \
cp target-arm64/release/vl-convert bin/ && \
cp LICENSE bin/ && \
cp thirdparty_* bin/ && \
zip -r vl-convert_linux-aarch64.zip bin/
"
- name: Upload executable
uses: actions/upload-artifact@v2
with:
name: vl-convert
path: |
vl-convert_linux-aarch64.zip
build-cli-win-64:
runs-on: windows-2022
Expand All @@ -51,6 +95,10 @@ jobs:
with:
toolchain: stable
override: true
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build vl-convert
uses: actions-rs/cargo@v1
with:
Expand Down Expand Up @@ -83,6 +131,10 @@ jobs:
with:
toolchain: stable
override: true
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build vl-convert
uses: actions-rs/cargo@v1
with:
Expand All @@ -103,7 +155,7 @@ jobs:
vl-convert_osx-64.zip
build-wheels-linux-x86_64:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
strategy:
matrix:
arch:
Expand All @@ -116,14 +168,18 @@ jobs:
target: ${{ matrix.arch }}
command: build
args: --release -m vl-convert-python/Cargo.toml --sdist -o dist --strip
before-script-linux: |
PB_REL="https://github.com/protocolbuffers/protobuf/releases"
curl -LO $PB_REL/download/v24.0/protoc-24.0-linux-x86_64.zip
unzip protoc-24.0-linux-x86_64.zip -d /usr/
- name: Upload wheels
uses: actions/upload-artifact@v2
with:
name: wheels
path: dist

build-wheels-linux-aarch64:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Setup QEMU
Expand All @@ -135,6 +191,13 @@ jobs:
target: aarch64-unknown-linux-gnu
command: build
args: --release -m vl-convert-python/Cargo.toml --sdist -o dist --strip
before-script-linux: |
# Install protoc
echo $PATH
PB_REL="https://github.com/protocolbuffers/protobuf/releases"
curl -LO $PB_REL/download/v24.0/protoc-24.0-linux-aarch_64.zip
unzip protoc-24.0-linux-aarch_64.zip -d /usr/
# Not sure why the compiled wheels end up with x86_64 in the file name,
# they are aarch64 and work properly after being renamed.
- name: Rename files
Expand All @@ -153,6 +216,10 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: messense/maturin-action@v1
with:
command: build
Expand All @@ -167,6 +234,10 @@ jobs:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Install Protoc
uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build Intel wheels
uses: messense/maturin-action@v1
with:
Expand Down
Loading

0 comments on commit f02da92

Please sign in to comment.