Skip to content

Multithread test

Multithread test #41

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: Strip and rename binary
run: strip target/release/jellyfin-rpc && 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
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: Strip and rename binary
run: strip target/release/jellyfin-rpc && 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: Strip and rename binary
run: strip target/aarch64-apple-darwin/release/jellyfin-rpc && 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