Skip to content
Open
Show file tree
Hide file tree
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
16 changes: 15 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,11 @@ jobs:
artifact_name: c2patool_linux_intel.tar.gz
uploaded_asset_name: ${{ needs.release-plz.outputs.c2patool-release-tag }}-x86_64-unknown-linux-gnu.tar.gz
sbom_asset_name: ${{ needs.release-plz.outputs.c2patool-release-tag }}-x86_64-unknown-linux-gnu-sbom.json
- os: ubuntu-latest
artifact_name: c2patool_linux_aarch64.tar.gz
uploaded_asset_name: ${{ needs.release-plz.outputs.c2patool-release-tag }}-aarch64-unknown-linux-gnu.tar.gz
sbom_asset_name: ${{ needs.release-plz.outputs.c2patool-release-tag }}-aarch64-unknown-linux-gnu-sbom.json
target: aarch64-unknown-linux-gnu
- os: windows-latest
artifact_name: c2patool_win_intel.zip
uploaded_asset_name: ${{ needs.release-plz.outputs.c2patool-release-tag }}-x86_64-pc-windows-msvc.zip
Expand Down Expand Up @@ -222,9 +227,18 @@ jobs:
if: ${{ needs.release-plz.outputs.c2patool-release-tag }}
uses: Swatinem/rust-cache@v2

- name: Install ARM64 toolchain (Linux)
if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}
run: sudo apt-get update && sudo apt-get install -y gcc-aarch64-linux-gnu

- name: Run make release
if: ${{ needs.release-plz.outputs.c2patool-release-tag }}
run: cd cli && make release
run: |
if [ "${{ matrix.target }}" == "aarch64-unknown-linux-gnu" ]; then
cd cli && make release ARCH=aarch64
else
cd cli && make release
fi

- name: Upload binary to GitHub
if: ${{ needs.release-plz.outputs.c2patool-release-tag }}
Expand Down
13 changes: 12 additions & 1 deletion cli/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,15 @@ c2patool-package:
cp CHANGELOG.md ../target/c2patool/CHANGELOG.md

# These are for building the c2patool release bin on various platforms
build-release-win:
build-release-linux:
ifeq ($(ARCH), aarch64)
rustup target add aarch64-unknown-linux-gnu
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc cargo build --target=aarch64-unknown-linux-gnu --release
mkdir -p ../target/release
cp ../target/aarch64-unknown-linux-gnu/release/c2patool ../target/release/c2patool
else
cargo build --release
endif

build-release-mac-arm:
rustup target add aarch64-apple-darwin
Expand Down Expand Up @@ -69,5 +76,9 @@ release: build-release-win c2patool-package
endif
ifeq ($(PLATFORM), linux)
release: build-release-linux c2patool-package
ifeq ($(ARCH), aarch64)
cd ../target && tar -czvf c2patool_linux_aarch64.tar.gz c2patool && cd ..
else
cd ../target && tar -czvf c2patool_linux_intel.tar.gz c2patool && cd ..
endif
endif
6 changes: 3 additions & 3 deletions docs/support-tiers.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,21 +66,21 @@ These requirements are enforced in the [Tier 1B workflow](../.github/workflows/t
### Tier 1B for c2pa-rs

* **Ubuntu:** `x86_64-unknown-linux-gnu`, Rust `MSRV`, `all` features, `openssl` | `rust_native_crypto`, `glibc`
* **Ubuntu (ARM):** `aarch-unknown-linux-gnu`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`, `glibc`
* **Ubuntu (ARM):** `aarch64-unknown-linux-gnu`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`, `glibc`
* **MacOS:** `aarch64-apple-darwin`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`
* **Windows:** `x86_64-pc-windows-msvc`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`

### Tier 1B for c2pa-c-ffi

* **Ubuntu:** `x86_64-unknown-linux-gnu`, Rust `MSRV`, `all` features, `openssl` | `rust_native_crypto`, `glibc`
* **Ubuntu (ARM):** `aarch-unknown-linux-gnu`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`, `glibc`
* **Ubuntu (ARM):** `aarch64-unknown-linux-gnu`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`, `glibc`
* **MacOS:** `aarch64-apple-darwin`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`
* **Windows:** `x86_64-pc-windows-msvc`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`

### Tier 1B for c2patool

* **Ubuntu:** `x86_64-unknown-linux-gnu`, Rust `MSRV`, `all` features, `openssl` | `rust_native_crypto`, `glibc`
* **Ubuntu (ARM):** `aarch-unknown-linux-gnu`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`, `glibc`
* **Ubuntu (ARM):** `aarch64-unknown-linux-gnu`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`, `glibc`
* **MacOS:** `aarch64-apple-darwin`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`
* **Windows:** `x86_64-pc-windows-msvc`, Rust `stable` | `MSRV`, `all` features, `openssl` | `rust_native_crypto`

Expand Down