Skip to content

Merge pull request #611 from andrey-yantsen/dependabot/github_actions… #1952

Merge pull request #611 from andrey-yantsen/dependabot/github_actions…

Merge pull request #611 from andrey-yantsen/dependabot/github_actions… #1952

Workflow file for this run

---
"on":
push:
branches: [main]
pull_request:
branches: [main]
pull_request_target:
types: [labeled]
branches: [main]
name: Test
jobs:
test_offline:
if: "!github.event.pull_request_target || github.event.pull_request_target.label.name == 'S-Run-Protected-Tests'"
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
name: Offline tests
runs-on: "${{ matrix.os }}"
steps:
- name: "Git: enable longpaths"
run: git config --global core.longpaths true
- name: Checkout sources
uses: actions/checkout@v4
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.3
with:
shared-key: cache
- name: Run tests
run: cargo run --package xtask -- test --offline --github-actions
test_on_real_server_anonymous:
if: "!github.event.pull_request_target"
needs: test_offline
name: Test on a real server (anonymous)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
plex_server_version: ["1.32.8.7639-fb6452ebf","1.30.2.6563-3d4dc0cce","1.28.2.6151-914ddd2b3"]
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.3
with:
shared-key: cache-anonymous
- name: "Test against real server [anonymous]"
run: cargo run --package xtask -- test --online --docker-tag '${{ matrix.plex_server_version }}' --deny-unknown-fields --github-actions
test_on_real_server_authenticated_free:
if: "github.event.pull_request_target.label.name == 'S-Run-Protected-Tests'"
needs: test_offline
strategy:
fail-fast: false
matrix:
plex_server_version: ["1.32.8.7639-fb6452ebf","1.30.2.6563-3d4dc0cce","1.28.2.6151-914ddd2b3"]
name: Test on a real server (authenticated free account)
runs-on: ubuntu-latest
env:
X_PLEX_CLIENT_IDENTIFIER: "${{ secrets.X_PLEX_CLIENT_IDENTIFIER_FREE }}"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.3
with:
shared-key: cache-authenticated
- name: "Test against real server [authenticated]"
run: cargo run --package xtask -- test --online --docker-tag '${{ matrix.plex_server_version }}' --token '${{ secrets.PLEX_API_AUTH_TOKEN_FREE }}' --deny-unknown-fields --github-actions
test_on_real_server_authenticated_plexpass:
if: "github.event.pull_request_target.label.name == 'S-Run-Protected-Tests'"
needs: test_offline
strategy:
fail-fast: false
matrix:
plex_server_version: ["1.32.8.7639-fb6452ebf","1.30.2.6563-3d4dc0cce","1.28.2.6151-914ddd2b3"]
name: Test on a real server (authenticated plexpass account)
runs-on: ubuntu-latest
env:
X_PLEX_CLIENT_IDENTIFIER: "${{ secrets.X_PLEX_CLIENT_IDENTIFIER_PLEXPASS }}"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.3
with:
shared-key: cache-authenticated
- name: "Test against real server [authenticated]"
run: cargo run --package xtask -- test --online --docker-tag '${{ matrix.plex_server_version }}' --token '${{ secrets.PLEX_API_AUTH_TOKEN_PLEXPASS }}' --deny-unknown-fields --github-actions
test_on_real_server_unclaimed_authenticated:
if: "github.event.pull_request_target.label.name == 'S-Run-Protected-Tests'"
needs: test_offline
strategy:
fail-fast: false
matrix:
plex_server_version: ["1.32.8.7639-fb6452ebf","1.30.2.6563-3d4dc0cce","1.28.2.6151-914ddd2b3"]
name: Test on a real server (unclaimed, authenticated free account)
runs-on: ubuntu-latest
env:
X_PLEX_CLIENT_IDENTIFIER: "${{ secrets.X_PLEX_CLIENT_IDENTIFIER_FREE }}"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.3
with:
shared-key: cache-authenticated
- run: cargo run --package xtask -- test --online --docker-tag '${{ matrix.plex_server_version }}' --token '${{ secrets.PLEX_API_AUTH_TOKEN_FREE }}' --server-owner-token '' --deny-unknown-fields --github-actions
test_on_real_server_shared:
if: "github.event.pull_request_target.label.name == 'S-Run-Protected-Tests'"
needs: test_offline
strategy:
fail-fast: false
matrix:
plex_server_version: ["1.32.8.7639-fb6452ebf","1.30.2.6563-3d4dc0cce","1.28.2.6151-914ddd2b3"]
name: Test on a real server (authenticated free account with shared from plexpass server)
runs-on: ubuntu-latest
env:
X_PLEX_CLIENT_IDENTIFIER: "${{ secrets.X_PLEX_CLIENT_IDENTIFIER_FREE }}"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.3
with:
shared-key: cache-authenticated
- run: cargo run --package xtask -- test --online --docker-tag '${{ matrix.plex_server_version }}' --token '${{ secrets.PLEX_API_AUTH_TOKEN_FREE }}' --server-owner-token '${{ secrets.PLEX_API_AUTH_TOKEN_PLEXPASS }}' --deny-unknown-fields --github-actions
collect_coverage:
if: "!github.event.pull_request_target"
name: Collect code coverage
runs-on: ubuntu-latest
container:
image: xd009642/tarpaulin:develop-nightly
options: --security-opt seccomp=unconfined
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Generate code coverage
run: |
cargo +nightly tarpaulin --workspace --timeout 120 --out xml
- name: Upload to codecov.io
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true