hf_text-generation-inference/.github/workflows/tests.yaml

97 lines
3.4 KiB
YAML
Raw Permalink Normal View History

2022-12-15 09:03:56 -07:00
name: Server Tests
on:
pull_request:
paths:
2023-03-03 07:07:27 -07:00
- ".github/workflows/tests.yaml"
2022-12-15 09:03:56 -07:00
- "server/**"
- "proto/**"
- "router/**"
- "launcher/**"
2023-03-23 11:01:30 -06:00
- "Cargo.lock"
- "rust-toolchain.toml"
2022-12-15 09:03:56 -07:00
2023-03-24 07:02:14 -06:00
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
2022-12-15 09:03:56 -07:00
jobs:
run_tests:
2024-06-03 04:06:42 -06:00
strategy:
matrix:
2024-06-03 10:04:01 -06:00
runner: [ubuntu-latest, intel-pvc-tgi]
2024-06-03 10:05:06 -06:00
runs-on: ${{ matrix.runner }}
steps:
2024-04-30 08:28:21 -06:00
- uses: actions/checkout@v4
- name: Set up Python
2024-04-30 08:25:03 -06:00
uses: actions/setup-python@v5
with:
2024-04-30 08:28:21 -06:00
python-version: 3.9
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
2024-06-03 04:08:25 -06:00
# Released on: 02 May, 2024
# https://releases.rs/docs/1.78.0/
2024-06-03 02:59:41 -06:00
toolchain: 1.78.0
override: true
components: rustfmt, clippy
- name: Install Protoc
uses: arduino/setup-protoc@v1
2024-06-03 10:15:53 -06:00
- name: Set Rust caching env vars only on non-release runs
if: matrix.runner != 'intel-pvc-tgi'
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
echo "RUSTC_WRAPPER=/usr/local/bin/sccache" >> $GITHUB_ENV
echo "SCCACHE=0.3.3" >> $GITHUB_ENV
- name: Clean unused files
2024-06-03 04:06:42 -06:00
if: matrix.runner != 'intel-pvc-tgi'
run: |
sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android
sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET
- name: Install sccache
2024-06-03 04:06:42 -06:00
if: matrix.runner != 'intel-pvc-tgi'
run: |
curl -fsSL https://github.com/mozilla/sccache/releases/download/v$SCCACHE/sccache-v$SCCACHE-x86_64-unknown-linux-musl.tar.gz | tar -xzv --strip-components=1 -C /usr/local/bin sccache-v$SCCACHE-x86_64-unknown-linux-musl/sccache
chmod +x /usr/local/bin/sccache
- name: configure sccache
uses: actions/github-script@v6
2024-06-03 04:06:42 -06:00
if: matrix.runner != 'intel-pvc-tgi'
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
core.exportVariable('SCCACHE_GHA_CACHE_TO', 'sccache-${{runner.os}}-${{github.ref_name}}');
core.exportVariable('SCCACHE_GHA_CACHE_FROM', 'sccache-${{runner.os}}-main,sccache-${{runner.os}}-');
- name: cargo registry cache
uses: actions/cache@v3
2024-06-03 04:06:42 -06:00
if: matrix.runner != 'intel-pvc-tgi'
with:
key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }}-${{ github.sha }}
restore-keys: |
cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }}-
cargo-${{ runner.os }}-
path: |
~/.cargo/registry
~/.cargo/git
- name: Install
run: |
make install
- name: Run server tests
run: |
pip install pytest
export HUGGING_FACE_HUB_TOKEN=${{ secrets.HUGGING_FACE_HUB_TOKEN }}
pytest -s -vv server/tests
- name: Pre-commit checks
run: |
pip install pre-commit
pre-commit install
pre-commit run --all-files
- name: Run Rust tests
run: |
cargo test
- name: sccache stats
2024-06-03 04:06:42 -06:00
if: matrix.runner != 'intel-pvc-tgi'
run: |
/usr/local/bin/sccache --show-stats