Skip to content

update-s2s

update-s2s #121

Workflow file for this run

name: update-s2s
on:
workflow_dispatch:
inputs:
ivy-branch:
description: 'Branch of Ivy to use'
default: 'main'
required: true
# schedule:
# - cron: "0 1 * * *"
permissions:
actions: read
contents: write
jobs:
update-kornia:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
file : [ test_color, test_contrib, test_enhance, test_feature1, test_feature2, test_feature3, test_feature4, test_feature5,
test_filters, test_image, test_io, test_losses, test_metrics, test_morphology, test_nerf, test_sensors,
test_tracking, test_utils, test_x, geometry/test_bbox, geometry/test_boxes, geometry/test_calibration,
geometry/test_camera, geometry/test_conversions, geometry/test_depth, geometry/test_epipolar, geometry/test_homography,
geometry/test_liegroup, geometry/test_linalg, geometry/test_line, geometry/test_quaternion, geometry/test_ransac,
geometry/test_solvers, geometry/test_subpix, geometry/test_transform, geometry/test_vector,
augmentation/test_augmentation, augmentation/test_auto, augmentation/test_container ]
compile : [ F ]
steps:
- name: Checkout ivy-integration-tests
uses: actions/checkout@v4
with:
path: ivy-integration-tests
- name: Checkout 🛎️Ivy
uses: actions/checkout@v4
with:
repository: ivy-llc/ivy
token: ${{ secrets.DEV_BOT_GENERAL_PAT }}
path: ivy
persist-credentials: true
ref: ${{ inputs.ivy-branch }}
- name: Get Job URL
uses: Tiryoh/gha-jobid-action@v0
id: jobs
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
job_name: ${{ github.job }} (${{ matrix.file }}, ${{ matrix.compile }})
per_page: 64
- name: Run Tests
id: tests
run: |
if [ "${{ steps.jobs.outputs.html_url }}" = "null" ]; then
docker run --rm -v "$(pwd)":/ivy -v "$(pwd)"/.hypothesis:/.hypothesis ivyllc/ivy:latest ivy-integration-tests/update_s2s.sh kornia ${{ matrix.file }} linux-nightly ${{ matrix.compile }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} ${{ secrets.IVY_API_KEY }}
else
docker run --rm -v "$(pwd)":/ivy -v "$(pwd)"/.hypothesis:/.hypothesis ivyllc/ivy:latest ivy-integration-tests/update_s2s.sh kornia ${{ matrix.file }} linux-nightly ${{ matrix.compile }} ${{ steps.jobs.outputs.html_url }} ${{ secrets.IVY_API_KEY }}
fi
- name: Prepare Artifact Name
id: prepare
shell: bash
run: |
safe_file_name=$(echo "${{ matrix.file }}" | sed 's/\//-/g')
echo "::set-output name=safe_file_name::$safe_file_name"
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: test-results-transformers-${{ steps.prepare.outputs.safe_file_name }}-${{ matrix.compile }}
path: |
ivy-integration-tests/test_results.txt
ivy-integration-tests/test_logs.txt
update-transformers:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
file : [ test_vision ]
compile : [ T, F ]
steps:
- name: Checkout ivy-integration-tests
uses: actions/checkout@v4
with:
path: ivy-integration-tests
- name: Checkout 🛎️Ivy
uses: actions/checkout@v4
with:
repository: ivy-llc/ivy
token: ${{ secrets.DEV_BOT_GENERAL_PAT }}
path: ivy
persist-credentials: true
ref: ${{ inputs.ivy-branch }}
- name: Get Job URL
uses: Tiryoh/gha-jobid-action@v0
id: jobs
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
job_name: ${{ github.job }} (${{ matrix.file }}, ${{ matrix.compile }})
per_page: 64
- name: Run Tests
id: tests
run: |
if [ "${{ steps.jobs.outputs.html_url }}" = "null" ]; then
docker run --rm -v "$(pwd)":/ivy -v "$(pwd)"/.hypothesis:/.hypothesis ivyllc/ivy:latest ivy-integration-tests/update_s2s.sh transformers ${{ matrix.file }} linux-nightly ${{ matrix.compile }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} ${{ secrets.IVY_API_KEY }}
else
docker run --rm -v "$(pwd)":/ivy -v "$(pwd)"/.hypothesis:/.hypothesis ivyllc/ivy:latest ivy-integration-tests/update_s2s.sh transformers ${{ matrix.file }} linux-nightly ${{ matrix.compile }} ${{ steps.jobs.outputs.html_url }} ${{ secrets.IVY_API_KEY }}
fi
- name: Prepare Artifact Name
id: prepare
shell: bash
run: |
safe_file_name=$(echo "${{ matrix.file }}" | sed 's/\//-/g')
echo "::set-output name=safe_file_name::$safe_file_name"
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: test-results-transformers-${{ steps.prepare.outputs.safe_file_name }}-${{ matrix.compile }}
path: |
ivy-integration-tests/test_results.txt
ivy-integration-tests/test_logs.txt
update-dashboard:
runs-on: ubuntu-latest
needs:
- update-kornia
- update-transformers
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Download Test Results
uses: actions/download-artifact@v3
with:
path: ./artifacts
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.10"
# - name: Update Native Compilation Dashboard
# env:
# GITHUB_TOKEN: ${{ secrets.DEV_BOT_GENERAL_PAT }}
# run: |
# python update_s2s_dashboard.py --backend-compile
# git config --global user.email "hello@transpile-ai.com"
# git config --global user.name "ivy-dev-bot"
# git add NATIVE_COMPILATION_DASHBOARD.md
# git commit -m "Auto-update native compilation integration tests dashboard"
# git push
- name: Update Dashboard
env:
GITHUB_TOKEN: ${{ secrets.DEV_BOT_GENERAL_PAT }}
run: |
python update_s2s_dashboard.py
git config --global user.email "hello@transpile-ai.com"
git config --global user.name "ivy-dev-bot"
git add DASHBOARD.md
git commit -m "Auto-update integration tests dashboard"
git push
- name: Update Failing Tests
env:
GITHUB_TOKEN: ${{ secrets.DEV_BOT_GENERAL_PAT }}
run: |
python find_all_failing_tests.py
git config --global user.email "hello@transpile-ai.com"
git config --global user.name "ivy-dev-bot"
git add FAILING_TESTS.txt
git add TEST_LOGS.txt
git commit -m "Auto-update failing tests"
git push