with open(output_file_path, "w") as output_file:
GENERATED = "generated" # Note that please keep the variable GENERATED otherwise phabricator will hide the whole file
output_file.writelines([f"# @{GENERATED} DO NOT EDIT MANUALLY\n"])
- output_file.write(workflow_template.render(asdict(self)))
- output_file.write("\n")
+ content = workflow_template.render(asdict(self))
+ output_file.write(content)
+ if content[-1] != "\n":
+ output_file.write("\n")
print(output_file_path)
jinja_env = jinja2.Environment(
variable_start_string="!{{",
loader=jinja2.FileSystemLoader(str(GITHUB_DIR.joinpath("templates"))),
+ undefined=jinja2.StrictUndefined,
)
template_and_workflows = [
(jinja_env.get_template("linux_ci_workflow.yml.j2"), LINUX_WORKFLOWS),
with:
fetch-depth: 0 # deep clone, to allow sharding to use git rev-list
submodules: recursive
+ !{{ common.display_ec2_information() }}
- name: Pull docker image
run: |
docker pull "${DOCKER_IMAGE}"
-w /var/lib/jenkins/workspace \
"${DOCKER_IMAGE}" \
sh -c 'sudo chown -R jenkins . && sudo chown -R jenkins /dev && .jenkins/pytorch/build.sh'
- - name: Parse ref
- id: parse-ref
- run: .github/scripts/parse_ref.py
+ !{{ common.parse_ref() }}
- name: Display and upload binary build size statistics (Click Me)
# temporary hack: set CIRCLE_* vars, until we update
# tools/stats/print_test_stats.py to natively support GitHub Actions
if-no-files-found: error
path:
test-reports-*.zip
+ !{{ common.upload_test_statistics(build_environment) }}
- name: Clean up docker images
if: always()
run: |
# Prune all of the docker images
docker system prune -af
{%- endblock %}
-{% block render_test_results +%}
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [build-and-test, !{{ ciflow_config.root_job_name }}]
- if: ${{ needs.build-and-test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports
- path: .
- - name: Unzip test reports
- run: |
- # Should preserve paths so reports should still be in test/test-reports
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- - name: Parse ref
- id: parse-ref
- run: .github/scripts/parse_ref.py
- - name: Display and upload test statistics (Click Me)
- # temporary hack: set CIRCLE_* vars, until we update
- # tools/stats/print_test_stats.py to natively support GitHub Actions
- env:
- AWS_DEFAULT_REGION: us-east-1
- CIRCLE_BRANCH: ${{ steps.parse-ref.outputs.branch }}
- JOB_BASE_NAME: !{{ build_environment }}-build-and-test
- CIRCLE_PR_NUMBER: ${{ github.event.pull_request.number }}
- CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
- CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
- CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
- run: |
- python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
-{%- endblock %}
run: |
.github/scripts/display_ec2_information.sh
{%- endmacro -%}
+
+{%- macro parse_ref() -%}
+ - name: Parse ref
+ id: parse-ref
+ run: .github/scripts/parse_ref.py
+{%- endmacro -%}
+
+{%- macro upload_test_statistics(build_environment) -%}
+ - name: Display and upload test statistics (Click Me)
+ # temporary hack: set CIRCLE_* vars, until we update
+ # tools/stats/print_test_stats.py to natively support GitHub Actions
+ env:
+ AWS_DEFAULT_REGION: us-east-1
+ CIRCLE_BRANCH: ${{ steps.parse-ref.outputs.branch }}
+ JOB_BASE_NAME: !{{ build_environment }}-test
+ CIRCLE_PR_NUMBER: ${{ github.event.pull_request.number }}
+ CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
+ CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
+ CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
+ run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
+ python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+{%- endmacro -%}
-w /var/lib/jenkins/workspace \
"${DOCKER_IMAGE}" \
sh -c 'sudo chown -R jenkins . && .jenkins/pytorch/build.sh'
- - name: Parse ref
- id: parse-ref
- run: .github/scripts/parse_ref.py
+ !{{ common.parse_ref() }}
- name: Display and upload binary build size statistics (Click Me)
# temporary hack: set CIRCLE_* vars, until we update
# tools/stats/print_test_stats.py to natively support GitHub Actions
if-no-files-found: error
path:
test-reports-*.zip
+ !{{ common.parse_ref() }}
+ !{{ common.upload_test_statistics(build_environment) }}
- name: Hold runner for 2 hours or until ssh sessions have drained
# Always hold for active ssh sessions
if: always()
docker system prune -af
{% endblock %}
{%- endif -%}
-{%- if not is_libtorch %}
-{% block render_test_results +%}
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, !{{ ciflow_config.root_job_name }}]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- !{{ common.display_ec2_information() }}
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- # Should preserve paths so reports should still be in test/test-reports
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- - name: Parse ref
- id: parse-ref
- run: .github/scripts/parse_ref.py
- - name: Display and upload test statistics (Click Me)
- # temporary hack: set CIRCLE_* vars, until we update
- # tools/stats/print_test_stats.py to natively support GitHub Actions
- env:
- AWS_DEFAULT_REGION: us-east-1
- CIRCLE_BRANCH: ${{ steps.parse-ref.outputs.branch }}
- JOB_BASE_NAME: !{{ build_environment }}-test
- CIRCLE_PR_NUMBER: ${{ github.event.pull_request.number }}
- CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
- CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
- CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
- run: |
- python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
-{%- endblock %}
-{%- endif -%}
- {%- if enable_doc_jobs %}
-
+{%- if enable_doc_jobs %}
pytorch_python_doc_build:
runs-on: linux.2xlarge
needs: [calculate-docker-image, build, !{{ ciflow_config.root_job_name }}]
run: |
# Prune all of the docker images
docker system prune -af
-
- {%- endif -%}
+{%- endif -%}
path:
pytorch-${{ github.run_id }}/test-reports-*.zip
!{{ wait_and_kill_ssh() }}
+ !{{ common.parse_ref() }}
+ !{{ common.upload_test_statistics(build_environment) }}
- name: Cleanup workspace
if: always()
shell: bash
# Should remove the entirety of pytorch-${{ github.run_id }}
run: |
rm -rf ./*
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, !{{ ciflow_config.root_job_name }}]
-{%- if only_build_on_pull_request %}
- if: ${{ github.event_name == 'push' && (needs.test.result != 'skipped' || failure()) }}
-{%- else %}
- if: ${{ needs.test.result != 'skipped' || failure() }}
-{%- endif %}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- # TODO: Make this into a composite step
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- !{{ common.display_ec2_information() }}
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- - name: Parse ref
- id: parse-ref
- run: .github/scripts/parse_ref.py
- - name: Display and upload test statistics (Click Me)
- # temporary hack: set CIRCLE_* vars, until we update
- # tools/stats/print_test_stats.py to natively support GitHub Actions
- env:
- AWS_DEFAULT_REGION: us-east-1
- CIRCLE_BRANCH: ${{ steps.parse-ref.outputs.branch }}
- JOB_BASE_NAME: !{{ build_environment }}-test
- CIRCLE_PR_NUMBER: ${{ github.event.pull_request.number }}
- CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
- CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
- CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
- run: |
- python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
if-no-files-found: error
path:
test-reports-*.zip
- - name: Hold runner for 2 hours or until ssh sessions have drained
- # Always hold for active ssh sessions
- if: always()
- run: .github/scripts/wait_for_ssh_to_drain.sh
- - name: Clean up docker images
- if: always()
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- # Prune all of the docker images
- docker system prune -af
-
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- # Should preserve paths so reports should still be in test/test-reports
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Hold runner for 2 hours or until ssh sessions have drained
+ # Always hold for active ssh sessions
+ if: always()
+ run: .github/scripts/wait_for_ssh_to_drain.sh
+ - name: Clean up docker images
+ if: always()
+ run: |
+ # Ensure the working directory gets chowned back to the current user
+ docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
+ # Prune all of the docker images
+ docker system prune -af
if-no-files-found: error
path:
test-reports-*.zip
- - name: Hold runner for 2 hours or until ssh sessions have drained
- # Always hold for active ssh sessions
- if: always()
- run: .github/scripts/wait_for_ssh_to_drain.sh
- - name: Clean up docker images
- if: always()
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- # Prune all of the docker images
- docker system prune -af
-
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- # Should preserve paths so reports should still be in test/test-reports
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Hold runner for 2 hours or until ssh sessions have drained
+ # Always hold for active ssh sessions
+ if: always()
+ run: .github/scripts/wait_for_ssh_to_drain.sh
+ - name: Clean up docker images
+ if: always()
+ run: |
+ # Ensure the working directory gets chowned back to the current user
+ docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
+ # Prune all of the docker images
+ docker system prune -af
if-no-files-found: error
path:
test-reports-*.zip
- - name: Hold runner for 2 hours or until ssh sessions have drained
- # Always hold for active ssh sessions
- if: always()
- run: .github/scripts/wait_for_ssh_to_drain.sh
- - name: Clean up docker images
- if: always()
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- # Prune all of the docker images
- docker system prune -af
-
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- # Should preserve paths so reports should still be in test/test-reports
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Hold runner for 2 hours or until ssh sessions have drained
+ # Always hold for active ssh sessions
+ if: always()
+ run: .github/scripts/wait_for_ssh_to_drain.sh
+ - name: Clean up docker images
+ if: always()
+ run: |
+ # Ensure the working directory gets chowned back to the current user
+ docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
+ # Prune all of the docker images
+ docker system prune -af
if-no-files-found: error
path:
test-reports-*.zip
- - name: Hold runner for 2 hours or until ssh sessions have drained
- # Always hold for active ssh sessions
- if: always()
- run: .github/scripts/wait_for_ssh_to_drain.sh
- - name: Clean up docker images
- if: always()
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- # Prune all of the docker images
- docker system prune -af
-
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- # Should preserve paths so reports should still be in test/test-reports
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Hold runner for 2 hours or until ssh sessions have drained
+ # Always hold for active ssh sessions
+ if: always()
+ run: .github/scripts/wait_for_ssh_to_drain.sh
+ - name: Clean up docker images
+ if: always()
+ run: |
+ # Ensure the working directory gets chowned back to the current user
+ docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
+ # Prune all of the docker images
+ docker system prune -af
if-no-files-found: error
path:
test-reports-*.zip
- - name: Hold runner for 2 hours or until ssh sessions have drained
- # Always hold for active ssh sessions
- if: always()
- run: .github/scripts/wait_for_ssh_to_drain.sh
- - name: Clean up docker images
- if: always()
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- # Prune all of the docker images
- docker system prune -af
-
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- # Should preserve paths so reports should still be in test/test-reports
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Hold runner for 2 hours or until ssh sessions have drained
+ # Always hold for active ssh sessions
+ if: always()
+ run: .github/scripts/wait_for_ssh_to_drain.sh
+ - name: Clean up docker images
+ if: always()
+ run: |
+ # Ensure the working directory gets chowned back to the current user
+ docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
+ # Prune all of the docker images
+ docker system prune -af
pytorch_python_doc_build:
runs-on: linux.2xlarge
with:
fetch-depth: 0 # deep clone, to allow sharding to use git rev-list
submodules: recursive
+ - name: Display EC2 information
+ shell: bash
+ run: |
+ .github/scripts/display_ec2_information.sh
- name: Pull docker image
run: |
docker pull "${DOCKER_IMAGE}"
if-no-files-found: error
path:
test-reports-*.zip
- - name: Clean up docker images
- if: always()
- run: |
- # Prune all of the docker images
- docker system prune -af
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [build-and-test, ciflow_should_run]
- if: ${{ needs.build-and-test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports
- path: .
- - name: Unzip test reports
- run: |
- # Should preserve paths so reports should still be in test/test-reports
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- - name: Parse ref
- id: parse-ref
- run: .github/scripts/parse_ref.py
- name: Display and upload test statistics (Click Me)
# temporary hack: set CIRCLE_* vars, until we update
# tools/stats/print_test_stats.py to natively support GitHub Actions
env:
AWS_DEFAULT_REGION: us-east-1
CIRCLE_BRANCH: ${{ steps.parse-ref.outputs.branch }}
- JOB_BASE_NAME: linux-xenial-py3.6-gcc7-bazel-test-build-and-test
+ JOB_BASE_NAME: linux-xenial-py3.6-gcc7-bazel-test-test
CIRCLE_PR_NUMBER: ${{ github.event.pull_request.number }}
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Clean up docker images
+ if: always()
+ run: |
+ # Prune all of the docker images
+ docker system prune -af
if-no-files-found: error
path:
test-reports-*.zip
- - name: Hold runner for 2 hours or until ssh sessions have drained
- # Always hold for active ssh sessions
- if: always()
- run: .github/scripts/wait_for_ssh_to_drain.sh
- - name: Clean up docker images
- if: always()
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- # Prune all of the docker images
- docker system prune -af
-
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- # Should preserve paths so reports should still be in test/test-reports
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Hold runner for 2 hours or until ssh sessions have drained
+ # Always hold for active ssh sessions
+ if: always()
+ run: .github/scripts/wait_for_ssh_to_drain.sh
+ - name: Clean up docker images
+ if: always()
+ run: |
+ # Ensure the working directory gets chowned back to the current user
+ docker run --rm -v "$(pwd)":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
+ # Prune all of the docker images
+ docker system prune -af
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
- - name: Cleanup workspace
- if: always()
- shell: bash
- # Should remove the entirety of pytorch-${{ github.run_id }}
- run: |
- rm -rf ./*
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- # TODO: Make this into a composite step
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Cleanup workspace
+ if: always()
+ shell: bash
+ # Should remove the entirety of pytorch-${{ github.run_id }}
+ run: |
+ rm -rf ./*
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
- - name: Cleanup workspace
- if: always()
- shell: bash
- # Should remove the entirety of pytorch-${{ github.run_id }}
- run: |
- rm -rf ./*
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- # TODO: Make this into a composite step
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Cleanup workspace
+ if: always()
+ shell: bash
+ # Should remove the entirety of pytorch-${{ github.run_id }}
+ run: |
+ rm -rf ./*
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
- - name: Cleanup workspace
- if: always()
- shell: bash
- # Should remove the entirety of pytorch-${{ github.run_id }}
- run: |
- rm -rf ./*
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- # TODO: Make this into a composite step
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Cleanup workspace
+ if: always()
+ shell: bash
+ # Should remove the entirety of pytorch-${{ github.run_id }}
+ run: |
+ rm -rf ./*
if: always()
run: |
.github\scripts\kill_active_ssh_sessions.ps1
- - name: Cleanup workspace
- if: always()
- shell: bash
- # Should remove the entirety of pytorch-${{ github.run_id }}
- run: |
- rm -rf ./*
-
- # this is a separate step from test because the log files from test are too
- # long: basically, GitHub tries to render all of the log files when you click
- # through an action causing extreme slowdown on actions that contain too many
- # logs (like test); we can always move it back to the other one, but it
- # doesn't create the best experience
- render_test_results:
- needs: [generate-test-matrix, test, ciflow_should_run]
- if: ${{ needs.test.result != 'skipped' || failure() }}
- runs-on: linux.2xlarge
- strategy:
- matrix: ${{ fromJson(needs.generate-test-matrix.outputs.render-matrix) }}
- fail-fast: false
- # TODO: Make this into a composite step
- steps:
- - name: Log in to ECR
- run: |
- aws ecr get-login --no-include-email --region us-east-1 > /tmp/ecr-login.sh
- bash /tmp/ecr-login.sh
- rm /tmp/ecr-login.sh
- - name: Chown workspace
- run: |
- # Ensure the working directory gets chowned back to the current user
- docker run --rm -v "$(pwd)/../":/v -w /v "${ALPINE_IMAGE}" chown -R "$(id -u):$(id -g)" .
- - name: Clean workspace
- run: |
- rm -rf "${GITHUB_WORKSPACE:?}/*"
- - name: Checkout PyTorch
- uses: actions/checkout@v2
- with:
- # deep clone, to allow tools/stats/print_test_stats.py to use Git commands
- fetch-depth: 0
- - name: Display EC2 information
- shell: bash
- run: |
- .github/scripts/display_ec2_information.sh
- - uses: actions/download-artifact@v2
- name: Download PyTorch Test Reports
- with:
- name: test-reports-${{ matrix.config }}
- path: .
- - name: Unzip test reports
- run: |
- unzip -o 'test-reports-*.zip'
- - name: Install dependencies
- # boto3 version copied from .circleci/docker/common/install_conda.sh
- run: |
- pip3 install -r requirements.txt
- pip3 install boto3==1.16.34 junitparser rich
- - name: Output Test Results (Click Me)
- run: |
- python3 tools/render_junit.py test
- name: Parse ref
id: parse-ref
run: .github/scripts/parse_ref.py
CIRCLE_SHA1: ${{ github.event.pull_request.head.sha || github.sha }}
CIRCLE_TAG: ${{ steps.parse-ref.outputs.tag }}
CIRCLE_WORKFLOW_ID: '${{ github.run_id }}_${{ github.run_number }}'
+ shell: bash
run: |
+ python3 -m pip install -r requirements.txt
+ python3 -m pip install boto3==1.16.34
python3 -m tools.stats.print_test_stats --upload-to-s3 --compare-with-s3 test
+ - name: Cleanup workspace
+ if: always()
+ shell: bash
+ # Should remove the entirety of pytorch-${{ github.run_id }}
+ run: |
+ rm -rf ./*