NumPy -> Torch #349
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Examples as Tests | |
# TODO: revert this after testing | |
# on: | |
# schedule: | |
# # * is a special character in YAML so you have to quote this string | |
# # Format: minute hour day-of-month month day-of-week(starts on sunday) | |
# # Scheduled for 2 am, everyday | |
# - cron: '0 10 * * *' | |
# workflow_dispatch: | |
on: | |
pull_request: | |
push: | |
branches: | |
- og-develop | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
generate_example_tests: | |
name: Generate Example Tests | |
runs-on: [self-hosted, linux, gpu, dataset-enabled] | |
defaults: | |
run: | |
shell: micromamba run -n omnigibson /bin/bash -leo pipefail {0} | |
steps: | |
- name: Fix home | |
run: echo "HOME=/root" >> $GITHUB_ENV | |
- name: Checkout source | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
path: omnigibson-src | |
- name: Install dev requirements | |
working-directory: omnigibson-src | |
run: pip install -r requirements-dev.txt | |
- name: Install | |
working-directory: omnigibson-src | |
run: pip install -e . | |
- name: Generate example tests | |
working-directory: omnigibson-src | |
run: python tests/create_tests_of_examples.py | |
- name: Get list of generated tests | |
id: get-test-list | |
working-directory: omnigibson-src | |
run: | | |
echo "example_tests=$(cat tests/example_tests.json)" >> $GITHUB_OUTPUT | |
outputs: | |
example_tests: ${{ steps.get-test-list.outputs.example_tests }} | |
run_test: | |
name: Run Example Tests | |
needs: [generate_example_tests] | |
runs-on: [self-hosted, linux, gpu, dataset-enabled] | |
strategy: | |
matrix: | |
test_file: | |
- ${{ needs.generate_example_tests.outputs.example_tests != '' && fromJson(needs.generate_example_tests.outputs.example_tests) }} | |
fail-fast: true | |
defaults: | |
run: | |
shell: micromamba run -n omnigibson /bin/bash -leo pipefail {0} | |
steps: | |
- name: Check for generated tests | |
if: ${{ needs.generate_example_tests.outputs.example_tests == '' }} | |
run: | | |
echo "No tests were generated. Failing the job." | |
exit 1 | |
- name: Fix home | |
run: echo "HOME=/root" >> $GITHUB_ENV | |
- name: Checkout source | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
path: omnigibson-src | |
- name: Install dev requirements | |
working-directory: omnigibson-src | |
run: pip install -r requirements-dev.txt | |
- name: Install | |
working-directory: omnigibson-src | |
run: pip install -e . | |
- name: Run tests | |
working-directory: omnigibson-src | |
run: pytest -s tests/tests_of_examples/${{ matrix.test_file }}.py --junitxml=${{ matrix.test_file }}.xml && cp ${{ matrix.test_file }}.xml ${GITHUB_WORKSPACE}/ | |
- name: Deploy artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ github.run_id }}-tests-${{ matrix.test_file }} | |
path: ${{ matrix.test_file }}.xml | |
upload_report: | |
name: Compile Example Test Report | |
runs-on: [self-hosted, linux] | |
defaults: | |
run: | |
shell: micromamba run -n omnigibson /bin/bash -leo pipefail {0} | |
needs: [run_test] | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
path: omnigibson-src | |
- name: Pull reports | |
uses: actions/download-artifact@v3 | |
with: | |
path: omnigibson-src | |
- name: Example Test Report0 | |
uses: dorny/test-reporter@v1 | |
with: | |
name: Example Test Results | |
working-directory: omnigibson-src | |
path: ${{ github.run_id }}-tests-*/*_test.xml | |
reporter: java-junit | |
fail-on-error: 'true' | |
fail-on-empty: 'true' | |
# - name: Upload coverage to Codecov | |
# uses: codecov/[email protected] | |
# with: | |
# token: ${{ secrets.CODECOV_TOKEN }} |