Skip to content

Add CI workflow to push NeuronX TGI docker images #856

Add CI workflow to push NeuronX TGI docker images

Add CI workflow to push NeuronX TGI docker images #856

Workflow file for this run

name: Optimum neuron / Test TGI on INF2
on:
push:
branches: [ main ]
paths:
- "setup.py"
- "optimum/**.py"
- "text-generation-inference/**"
- ".github/workflows/test_inf2_tgi.yml"
pull_request:
branches: [ main ]
paths:
- "setup.py"
- "optimum/**.py"
- "text-generation-inference/**"
- ".github/workflows/test_inf2_tgi.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
do-the-job:
name: Run TGI tests
runs-on:
group: aws-inf2-8xlarge
steps:
- name: Install Neuron runtime
run: |
. /etc/os-release
sudo tee /etc/apt/sources.list.d/neuron.list > /dev/null <<EOF
deb https://apt.repos.neuron.amazonaws.com ${VERSION_CODENAME} main
EOF
wget -qO - https://apt.repos.neuron.amazonaws.com/GPG-PUB-KEY-AMAZON-AWS-NEURON.PUB | sudo apt-key add -
sudo apt-get update -y
sudo apt-get install aws-neuronx-tools=2.19.0.0 aws-neuronx-runtime-lib=2.22.14.0-6e27b8d5b aws-neuronx-collectives=2.22.26.0-17a033bc8 -y
export PATH=/opt/aws/neuron/bin:$PATH
- name: Checkout
uses: actions/checkout@v2
- name: Install python and create venv
run: |
sudo apt install python3-venv python3-dev -y
python3 -m venv aws_neuron_venv_pytorch
source aws_neuron_venv_pytorch/bin/activate
python -m pip install -U pip
python -m pip config set global.extra-index-url https://pip.repos.neuron.amazonaws.com
- name: Install integration tests prerequisites
run: |
source aws_neuron_venv_pytorch/bin/activate
python -m pip install -r text-generation-inference/tests/requirements.txt
- name: Run TGI server python tests
run: |
# gawk is required when invoking the Makefile targets
sudo apt install gawk -y
source aws_neuron_venv_pytorch/bin/activate
HF_TOKEN=${{ secrets.HF_TOKEN_OPTIMUM_NEURON_CI }} make tgi_test
- name: Build docker image
shell: bash
run: |
source aws_neuron_venv_pytorch/bin/activate
make neuronx-tgi
- name: Run TGI docker tests
shell: bash
run: |
source aws_neuron_venv_pytorch/bin/activate
HF_TOKEN=${{ secrets.HF_TOKEN_OPTIMUM_NEURON_CI }} python -m pytest -sv text-generation-inference/tests -k integration