Skip to content

[GHA][CPU] llama-recipes Pytest tests on CPU GitHub hosted runner. #1

[GHA][CPU] llama-recipes Pytest tests on CPU GitHub hosted runner.

[GHA][CPU] llama-recipes Pytest tests on CPU GitHub hosted runner. #1

name: "[GHA][CPU] llama-recipes Pytest tests on CPU GitHub hosted runner."
on:
pull_request:
branches:
- 'main'
paths:
- 'src/llama-recipes/configs/*.py'
- 'src/llama-recipes/utils/*.py'
- 'src/llama-recipes/datasets/*.py'
- 'src/llama-recipes/data/*.py'
- 'src/llama-recipes/*.py'
# triggers workflow manually for debugging purposes.
workflow_dispatch:
inputs:
runner:
description: 'GHA Runner Scale Set label to run workflow on.'
required: true
default: ubuntu-20.04
debug:
description: 'Run debugging steps?'
required: false
default: "true"
env:
PYTORCH_WHEEL_URL: https://download.pytorch.org/whl/test/cu118
jobs:
execute_workflow:
name: Execute workload on GHA CPU Runner
defaults:
run:
shell: bash # default shell to run all steps for a given job.
runs-on: ${{ github.event.inputs.runner != '' && github.event.inputs.runner || 'ubuntu-20.04' }}
steps:
- name: "[DEBUG] Get runner container OS information"
id: os_info
if: ${{ github.event.inputs.debug == 'true' }}
run: |
cat /etc/os-release
- name: "Checkout 'facebookresearch/llama-recipes' repository"
id: checkout
uses: actions/checkout@v4
- name: "[DEBUG] Content of the repository after checkout"
id: content_after_checkout
if: ${{ github.event.inputs.debug == 'true' }}
run: |
ls -la ${GITHUB_WORKSPACE}
- name: "Installing Python dependencies"
id: python_dependencies
run: |
pip3 install --upgrade pip
pip3 install setuptools
- name: "Installing 'llama-recipes' project"
id: install_llama_recipes_package
run: |
echo "Installing 'llama-recipes' project (re: https://github.com/facebookresearch/llama-recipes?tab=readme-ov-file#install-with-optional-dependencies)"
pip install --extra-index-url ${PYTORCH_WHEEL_URL} -e '.[tests]'
- name: "Running PyTest tests on GHA CPU Runner"
id: pytest
run: |
echo "Running PyTest tests at 'GITHUB_WORKSPACE' path: ${GITHUB_WORKSPACE}"
cd $GITHUB_WORKSPACE && python3 -m pytest --junitxml="$GITHUB_WORKSPACE/result.xml"
- name: Publish Test Summary
id: test_summary
uses: test-summary/action@v2
with:
paths: "**/*.xml"
if: always()