Dockerfile - Update hpcx link in cuda11.1 dockerfile to fix CI #638
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: Build on Windows and run directx unit test | |
on: | |
push: | |
branches: | |
- main | |
- release/* | |
pull_request: | |
branches: | |
- main | |
- release/* | |
jobs: | |
docker: | |
name: Docker build win directx12 | |
runs-on: [self-hosted, windows, x64, win2004] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Clearnup docker data | |
run: | | |
docker system prune -a -f | |
docker volume prune -a -f | |
shell: pwsh | |
- name: Set TAG variable based on the branch | |
run: | | |
if ($env:GITHUB_EVENT_NAME -match "release") { | |
$version = $env:GITHUB_REF.Substring($env:GITHUB_REF.LastIndexOf('/') + 1) | |
echo "TAG=superbench/superbench:$version-directx12" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
} elseif ($env:GITHUB_REF -match "refs/heads/release/(.*)") { | |
$version = $Matches[1] | |
echo "TAG=superbench/release:$version-directx12" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
} elseif ($env:GITHUB_BASEREF -match "release/(.*)"){ | |
$version = $Matches[1] | |
echo "TAG=superbench/release:$version-directx12" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
} else { | |
echo "TAG=superbench/main:directx12" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
} | |
shell: pwsh | |
env: | |
GITHUB_REF: ${{ github.ref }} | |
GITHUB_BASEREF: ${{ github.base_ref }} | |
GITHUB_EVENT_NAME: ${{ github.event_name }} | |
- name: Build Docker image | |
working-directory: . | |
shell: pwsh | |
run: | | |
docker build ` | |
--file dockerfile/directx12.dockerfile ` | |
--label org.opencontainers.image.source=${{ github.event.repository.html_url }} ` | |
--label org.opencontainers.image.created=${{ github.event.repository.pushed_at }} ` | |
--label org.opencontainers.image.revision=${{ github.sha }} ` | |
--platform windows/amd64 ` | |
--isolation=process ` | |
--tag $env:TAG . | |
env: | |
TAG: ${{ env.TAG }} | |
- name: Push Docker image | |
if: ${{ github.event_name != 'pull_request' }} | |
shell: pwsh | |
run: | | |
docker login -u $env:USER -p $env:PASS | |
docker push $env:TAG | |
docker logout | |
env: | |
TAG: ${{ env.TAG }} | |
USER: ${{ secrets.DOCKERHUB_USERNAME }} | |
PASS: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Add bash to PATH | |
shell: pwsh | |
run: | | |
echo "$env:PATH;C:\Program Files\Git\bin" | Out-File -FilePath $env:GITHUB_PATH -Append -Encoding utf8 | |
- name: Bash to get codecov env | |
run: | | |
ci_env=`bash <(curl -s https://codecov.io/env)` | |
echo "ci_env=$ci_env" >> $GITHUB_ENV | |
shell: bash | |
- name: Run unit tests inside docker | |
run: | | |
$command="curl -s -L https://uploader.codecov.io/latest/windows/codecov.exe -o codecov.exe && python -m pip install .[test] && python -m pytest -v --cov=superbench --cov-report=xml --cov-report=term-missing tests/ -k test_directx && codecov -t ${CODECOV_TOKEN} -cF directx-unit-test" | |
docker run --rm ` | |
--isolation process ` | |
--device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 ` | |
-v C:/Windows/System32/DriverStore:C:/Windows/System32/DriverStore ` | |
-e CI=true $ci_env -e SB_TEST_CUDA="0" -e SB_TEST_ROCM="0" -e SB_TEST_PYTORCH="0" -e SB_TEST_DIRECTX="1" -e CODECOV_TOKEN --entrypoint "cmd" $env:TAG "/c python dockerfile/directx/enable-graphics-apis.py && cmd /c $command" | |
shell: pwsh | |
env: | |
TAG: ${{ env.TAG }} | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |