Skip to content

Merge pull request #136 from Radiicall/activity-type-testing #138

Merge pull request #136 from Radiicall/activity-type-testing

Merge pull request #136 from Radiicall/activity-type-testing #138

Workflow file for this run

name: Build
on:
push:
branches:
- main
pull_request:
jobs:
ubuntu:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install latest rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
default: true
override: true
- name: Cache target folder
uses: actions/cache@v3
env:
cache-name: target-folder
with:
path: target
key: x86_64-linux-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
x86_64-linux-
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --workspace --locked --release
- name: Rename binary
run: mv target/release/jellyfin-rpc target/release/jellyfin-rpc-x86_64-linux
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features --locked
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: linux
path: target/release/jellyfin-rpc-x86_64-linux
ubuntu-arm32:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install latest rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: armv7-unknown-linux-gnueabihf
default: true
override: true
- name: Install ARM32 gcc
run: sudo apt install gcc-arm-linux-gnueabihf -y
- name: Cache target folder
uses: actions/cache@v3
env:
cache-name: target-folder
with:
path: target
key: arm32-linux-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
arm32-linux-
- name: Build for ARM32 Linux
uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --target armv7-unknown-linux-gnueabihf --workspace --locked --release
- name: Rename binary
run: mv target/armv7-unknown-linux-gnueabihf/release/jellyfin-rpc target/armv7-unknown-linux-gnueabihf/release/jellyfin-rpc-arm32-linux
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: linux-arm32
path: target/armv7-unknown-linux-gnueabihf/release/jellyfin-rpc-arm32-linux
ubuntu-arm64:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install latest rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-unknown-linux-gnu
default: true
override: true
- name: Install ARM64 gcc
run: sudo apt install gcc-aarch64-linux-gnu -y
- name: Cache target folder
uses: actions/cache@v3
env:
cache-name: target-folder
with:
path: target
key: arm64-linux-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
arm64-linux-
- name: Build for ARM64 Linux
uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --target aarch64-unknown-linux-gnu --workspace --locked --release
- name: Rename binary
run: mv target/aarch64-unknown-linux-gnu/release/jellyfin-rpc target/aarch64-unknown-linux-gnu/release/jellyfin-rpc-arm64-linux
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: linux-arm64
path: target/aarch64-unknown-linux-gnu/release/jellyfin-rpc-arm64-linux
windows:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install latest rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
default: true
override: true
- name: Cache target folder
uses: actions/cache@v3
env:
cache-name: target-folder
with:
path: target
key: x86_64-windows-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
x86_64-windows-
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --workspace --locked --release
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features --locked
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: windows
path: target/release/jellyfin-rpc.exe
macos-x86_64:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install latest rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-apple-darwin
default: true
override: true
- name: Cache target folder
uses: actions/cache@v3
env:
cache-name: target-folder
with:
path: target
key: x86_64-macos-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
x86_64-macos-
- name: Build for x86_64 macOS
uses: actions-rs/cargo@v1
with:
command: build
args: --workspace --locked --release
- name: Rename binary
run: mv target/release/jellyfin-rpc target/release/jellyfin-rpc-x86_64-darwin
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features --locked
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: macos-x86_64
path: target/release/jellyfin-rpc-x86_64-darwin
macos-arm64:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install latest rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-apple-darwin
default: true
override: true
- name: Cache target folder
uses: actions/cache@v3
env:
cache-name: target-folder
with:
path: target
key: arm64-macos-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
arm64-macos-
- name: Build for arm64 macOS
uses: actions-rs/cargo@v1
with:
command: build
args: --target aarch64-apple-darwin --workspace --locked --release
- name: Rename binary
run: mv target/aarch64-apple-darwin/release/jellyfin-rpc target/aarch64-apple-darwin/release/jellyfin-rpc-arm64-darwin
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: macos-arm64
path: target/aarch64-apple-darwin/release/jellyfin-rpc-arm64-darwin