| name: "[GHA][CPU] llama-recipes Pytest tests on CPU GitHub hosted runner." |
| on: |
| pull_request: |
| branches: |
| - 'main' |
|
|
| |
| 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 |
| 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() |
|
|