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()