Skip to content

Fast Release Nightly CI/CD Pipeline #34

Fast Release Nightly CI/CD Pipeline

Fast Release Nightly CI/CD Pipeline #34

name: Fast Release Nightly CI/CD Pipeline
on:
schedule:
- cron: '0 0 * * *'
jobs:
variants:
name: Define supported AIMET variants
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.final.outputs.value }}
steps:
- uses: actions/checkout@v4
- name: Torch variants
run: |
VALUE=$(echo "${VALUE:-"{}"}" | jq -c '.include += [
{
"id": "torch-cpu",
"runs-on": "ubuntu-latest",
"VER_PYTHON": "3.10",
"VER_TENSORFLOW": "",
"VER_TORCH": "2.1.2",
"VER_ONNXRUNTIME": "",
"VER_CUDA": "",
"ENABLE_TESTS": "ON",
"BUILD_TARGETS": "all"
},
{
"id": "torch-gpu",
"runs-on": "k8s-gpu",
"VER_PYTHON": "3.10",
"VER_TENSORFLOW": "",
"VER_TORCH": "2.1.2",
"VER_ONNXRUNTIME": "",
"VER_CUDA": "12.1.1",
"ENABLE_TESTS": "ON",
"BUILD_TARGETS": "all"
}
]')
echo "VALUE=$VALUE" >> $GITHUB_ENV
- name: Tensorflow variants
run: |
VALUE=$(echo "${VALUE:-"{}"}" | jq -c '.include += [
{
"id": "tf-cpu",
"runs-on": "ubuntu-latest",
"VER_PYTHON": "3.10",
"VER_TENSORFLOW": "2.10.1",
"VER_TORCH": "",
"VER_ONNXRUNTIME": "",
"VER_CUDA": "",
"ENABLE_TESTS": "ON",
"BUILD_TARGETS": "all"
},
{
"id": "tf-gpu",
"runs-on": "k8s-gpu",
"VER_PYTHON": "3.10",
"VER_TENSORFLOW": "2.10.1",
"VER_TORCH": "",
"VER_ONNXRUNTIME": "",
"VER_CUDA": "11.8.0",
"ENABLE_TESTS": "ON",
"BUILD_TARGETS": "all"
}
]')
echo "VALUE=$VALUE" >> $GITHUB_ENV
- name: ONNX variants
run: |
VALUE=$(echo "${VALUE:-"{}"}" | jq -c '.include += [
{
"id": "onnx-cpu",
"runs-on": "ubuntu-latest",
"VER_PYTHON": "3.10",
"VER_TENSORFLOW": "",
"VER_TORCH": "",
"VER_ONNXRUNTIME": "1.18.1",
"ENABLE_TESTS": "ON",
"BUILD_TARGETS": "all"
},
{
"id": "onnx-gpu",
"runs-on": "k8s-gpu",
"VER_PYTHON": "3.10",
"VER_TENSORFLOW": "",
"VER_TORCH": "",
"VER_ONNXRUNTIME": "1.18.1",
"VER_CUDA": "11.8.0",
"ENABLE_TESTS": "ON",
"BUILD_TARGETS": "all"
}
]')
echo "VALUE=$VALUE" >> $GITHUB_ENV
- name: Doc variants
run: |
VALUE=$(echo "${VALUE:-"{}"}" | jq -c '.include += [
{
"id": "tf-torch-cpu",
"runs-on": "ubuntu-latest",
"VER_PYTHON": "3.10",
"VER_TENSORFLOW": "2.12.*",
"VER_TORCH": "2.1.2",
"VER_ONNXRUNTIME": "1.18.1",
"VER_CUDA": "",
"ENABLE_TESTS": "OFF",
"BUILD_TARGETS": "all;doc"
}
]')
echo "VALUE=$VALUE" >> $GITHUB_ENV
- name: (Last step) Generate few extra properties for each variant
id: final
run: |
echo "value=$VALUE" >> $GITHUB_OUTPUT
call-build-wheels:
name: Call build-wheels
needs: [ variants ]
uses: ./.github/workflows/build-wheels.yml
with:
variants: ${{ needs.variants.outputs.matrix }}
image-tag: "latest"
secrets: inherit
call-run-unit-tests:
name: Run unit tests
needs: [ variants, call-build-wheels ]
uses: ./.github/workflows/run-unit-tests.yml
with:
variants: ${{ needs.variants.outputs.matrix }}
secrets: inherit
call-run-acceptance-tests:
name: Run acceptance tests
needs: [ variants, call-build-wheels, call-run-unit-tests ]
uses: ./.github/workflows/run-acceptance-tests.yml
with:
variants: ${{ needs.variants.outputs.matrix }}
secrets: inherit