Skip to content

Commit b8db4a1

Browse files
author
Tyler Titsworth
authored
Revert "r0.3.3" (#3)
1 parent af9b519 commit b8db4a1

17 files changed

+244
-242
lines changed

.github/pull_request_template.md

+3-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
<!-- Explain how the changes have been tested, including the testing environment and any relevant test cases. -->
1616

1717
- [ ] I have tested any changes in container groups locally with `/test-runner/test_runner.py` with all existing tests passing, and I have added new tests where necessary.
18-
19-
### Automated Testing
20-
21-
Leave a PR comment in the following format: `/test-group group_dir: <my-container-group>, runner_label: <my-runner-label>` to run automated tests.
18+
- [ ] Automated Validation (Do not edit, check to begin Validation)
19+
20+
command: /test-group group_dir: my-container-group, runner_label: test-runner

.github/workflows/bandit.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ on:
33
pull_request_review:
44
types: [submitted]
55

6-
permissions: read-all
7-
86
jobs:
97
scan-bandit:
108
if: github.event.review.state == 'approved'
+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
name: Checkbox Pipeline Validation
3+
on:
4+
pull_request:
5+
types: [edited]
6+
jobs:
7+
check-description-checkbox:
8+
runs-on: [ k8-runners ]
9+
if: contains(github.event.pull_request.body, '- [x] Automated Validation (Do not edit, check to begin Validation)') && contains(github.event.pull_request.body, '/test-group') && !contains(github.event.pull_request.labels.*.name, 'validating')
10+
outputs:
11+
group_dir: ${{ steps.comment-inputs.outputs.group_dir }}
12+
env_overrides: ${{ steps.comment-inputs.outputs.env_overrides }}
13+
runner_label: ${{ steps.comment-inputs.outputs.runner_label }}
14+
steps:
15+
- uses: actions/checkout@v4
16+
- name: Get Inputs
17+
id: comment-inputs
18+
run: bash .github/utils/val-args.sh "${{ github.event.pull_request.body }}"
19+
- name: Remove PASS Label
20+
if: contains(github.event.pull_request.labels.*.name, 'PASS')
21+
uses: actions/github-script@v7
22+
with:
23+
result-encoding: string
24+
script: |
25+
github.rest.issues.removeLabel({
26+
issue_number: context.issue.number,
27+
owner: context.repo.owner,
28+
repo: context.repo.repo,
29+
name: ["PASS"]
30+
})
31+
- name: Remove FAIL Label
32+
if: contains(github.event.pull_request.labels.*.name, 'FAIL')
33+
uses: actions/github-script@v7
34+
with:
35+
result-encoding: string
36+
script: |
37+
github.rest.issues.removeLabel({
38+
issue_number: context.issue.number,
39+
owner: context.repo.owner,
40+
repo: context.repo.repo,
41+
name: ["FAIL"]
42+
})
43+
- name: Lock
44+
uses: actions/github-script@v7
45+
with:
46+
script: |
47+
github.rest.issues.addLabels({
48+
issue_number: context.issue.number,
49+
owner: context.repo.owner,
50+
repo: context.repo.repo,
51+
labels: ['validating']
52+
})
53+
container-pipeline-tester:
54+
needs: [ check-description-checkbox ]
55+
if: needs.check-description-checkbox.outputs.group_dir && needs.check-description-checkbox.outputs.runner_label
56+
uses: ./.github/workflows/container-pipeline-tester.yaml
57+
with:
58+
group_dir: ${{ needs.check-description-checkbox.outputs.group_dir }}
59+
env_overrides: ${{ needs.check-description-checkbox.outputs.env_overrides || '' }}
60+
runner_label: ${{ needs.check-description-checkbox.outputs.runner_label }}
61+
secrets: inherit
62+
status-check:
63+
needs: [ check-description-checkbox, container-pipeline-tester ]
64+
if: ${{ always() && needs.check-description-checkbox.result != 'skipped' }}
65+
runs-on: [ k8-runners ]
66+
steps:
67+
- name: Unlock
68+
if: ${{ needs.check-description-checkbox.result != 'skipped' }}
69+
uses: actions/github-script@v7
70+
with:
71+
result-encoding: string
72+
script: |
73+
github.rest.issues.removeLabel({
74+
issue_number: context.issue.number,
75+
owner: context.repo.owner,
76+
repo: context.repo.repo,
77+
name: ["validating"]
78+
})
79+
- name: Set Fail Label
80+
if: ${{ needs.check-description-checkbox.result != 'success' || needs.container-pipeline-tester.result != 'success' }}
81+
uses: actions/github-script@v7
82+
with:
83+
script: |
84+
github.rest.issues.addLabels({
85+
issue_number: context.issue.number,
86+
owner: context.repo.owner,
87+
repo: context.repo.repo,
88+
labels: ['FAIL']
89+
})
90+
- name: Set Pass Label
91+
if: ${{ needs.check-description-checkbox.result == 'success' && needs.container-pipeline-tester.result == 'success' }}
92+
uses: actions/github-script@v7
93+
with:
94+
script: |
95+
github.rest.issues.addLabels({
96+
issue_number: context.issue.number,
97+
owner: context.repo.owner,
98+
repo: context.repo.repo,
99+
labels: ['PASS']
100+
})
101+

.github/workflows/container-pipeline-tester.yaml

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
name: Container Pipeline Tester
2-
3-
permissions: read-all
4-
52
on:
63
workflow_dispatch:
74
inputs:
@@ -92,7 +89,7 @@ jobs:
9289
- uses: actions/checkout@v4
9390
- name: Get Recipes
9491
id: recipes
95-
run: echo "RECIPES=$(find ${{ inputs.group_dir }} -type f -name 'tests.yaml' -exec dirname {} \; | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
92+
run: echo "RECIPES=$(find ${{ inputs.group_dir }} -type f -name 'tests.yaml' -exec dirname {} \; | awk -F/ '{print $NF}' | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
9693
test-containers:
9794
needs: [ setup-test ]
9895
if: ${{ needs.setup-test.outputs.recipes != '[]' }}
@@ -114,5 +111,5 @@ jobs:
114111
with:
115112
mlops_repo: ${{ vars.MLOPS_REPO }}
116113
registry: ${{ vars.REGISTRY }}
117-
test_dir: ${{ matrix.recipe }}
114+
test_dir: ${{ inputs.group_dir }}/${{ matrix.recipe }}
118115
token: ${{ github.token }}

.github/workflows/dockerfile-builder.yml

-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
name: Dockerfile Builder
2-
3-
permissions: read-all
4-
52
on:
63
workflow_dispatch:
74

.github/workflows/review-trigger.yml

-16
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,6 @@ name: Review Pipeline Validation
33
on:
44
pull_request_review:
55
types: [submitted, edited]
6-
7-
permissions:
8-
actions: read
9-
checks: read
10-
contents: read
11-
deployments: read
12-
discussions: read
13-
id-token: write
14-
issues: read
15-
packages: read
16-
pages: read
17-
pull-requests: write
18-
repository-projects: read
19-
security-events: read
20-
statuses: read
21-
226
jobs:
237
check-review:
248
runs-on: [ k8-runners ]
+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: Tensorflow Serving Container Build
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
base_image_tag:
6+
default: "20.04"
7+
required: false
8+
type: string
9+
bazel_version:
10+
default: "5.4.0"
11+
required: false
12+
type: string
13+
tf_package_version:
14+
default: "2.12.0"
15+
required: false
16+
type: string
17+
tf_bazel_options:
18+
default: "--local_ram_resources=HOST_RAM*0.8 --local_cpu_resources=HOST_CPUS-4"
19+
required: true
20+
type: string
21+
tf_serving_build_options:
22+
description: "Build Option excluding '--copt-=march='"
23+
default: "--config=mkl --config=release --define=build_with_openmp=false"
24+
required: true
25+
type: string
26+
other_version:
27+
required: false
28+
type: string
29+
30+
jobs:
31+
base-build:
32+
container:
33+
image: ${{ vars.REGISTRY }}/aiops/compose-dev
34+
env:
35+
http_proxy: ${{ secrets.HTTP_PROXY }}
36+
https_proxy: ${{ secrets.HTTPS_PROXY }}
37+
no_proxy: ${{ secrets.NO_PROXY }}
38+
credentials:
39+
username: ${{ secrets.REGISTRY_USER }}
40+
password: ${{ secrets.REGISTRY_TOKEN }}
41+
strategy:
42+
matrix:
43+
tf_package: ["intel-tensorflow", "intel-tensorflow-avx512"]
44+
experimental: [ true ]
45+
fail-fast: false
46+
runs-on: [ aia-devops ]
47+
steps:
48+
- uses: actions/checkout@v4
49+
with:
50+
submodules: true
51+
set-safe-directory: true
52+
- uses: docker/login-action@v3
53+
with:
54+
username: ${{ secrets.HUB_USER }}
55+
password: ${{ secrets.HUB_TOKEN }}
56+
- uses: docker/login-action@v3
57+
with:
58+
registry: ${{ vars.REGISTRY }}
59+
username: ${{ secrets.REGISTRY_USER }}
60+
password: ${{ secrets.REGISTRY_TOKEN }}
61+
- name: Remove Containers
62+
run: docker compose down
63+
working-directory: tensorflow
64+
- if: matrix.tf_package == "intel-tensorflow-avx512"
65+
name: Build Framework Ingredient Containers
66+
run: |
67+
BASE_IMAGE_TAG=${{ github.event.inputs.base_image_tag }} \
68+
BAZEL_VERSION=${{ github.event.inputs.bazel_version }} \
69+
REGISTRY=${{ vars.REGISTRY }} \
70+
TF_PACKAGE=${{ matrix.tf_package }} \
71+
TF_SERVING_BAZEL_OPTIONS=${{ github.event.inputs.tf_bazel_options }} \
72+
TF_SERVING_BUILD_OPTION="${{ github.event.inputs.tf_serving_build_options }} --copt=-march=skylake-avx512" \
73+
TF_SERVING_VERSION=${{ github.event.inputs.tf_package_version }} \
74+
${{ github.event.input.other_version }} docker compose -f docker-compose-serving.yaml build --no-cache
75+
working-directory: tensorflow
76+
- if: matrix.tf_package == "intel-tensorflow"
77+
name: Build Framework Ingredient Containers
78+
run: |
79+
BASE_IMAGE_TAG=${{ github.event.inputs.base_image_tag }} \
80+
BAZEL_VERSION=${{ github.event.inputs.bazel_version }} \
81+
TF_PACKAGE=${{ matrix.tf_package }} \
82+
TF_SERVING_BAZEL_OPTIONS=${{ github.event.inputs.tf_bazel_options }} \
83+
TF_SERVING_BUILD_OPTION="${{ github.event.inputs.tf_serving_build_options }} --copt=-march=native" \
84+
TF_SERVING_VERSION=${{ github.event.inputs.tf_package_version }} \
85+
${{ github.event.input.other_version }} docker compose -f docker-compose-serving.yaml build --no-cache
86+
working-directory: tensorflow
87+
- name: Push Framework Ingredient Containers
88+
run: |
89+
BASE_IMAGE_TAG=${{ github.event.inputs.base_image_tag }} \
90+
TF_PACKAGE=${{ matrix.tf_package }} \
91+
TF_SERVING_VERSION=${{ github.event.inputs.tf_package_version }} \
92+
${{ github.event.input.other_version }} docker compose -f docker-compose-serving.yaml push serving-mkl
93+
working-directory: tensorflow
94+

.github/workflows/unit-test.yaml

-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ on:
44
branches:
55
- develop
66

7-
permissions: read-all
8-
97
jobs:
108
unit-test:
119
runs-on: [ test-runner ]

README.md

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# Intel® AI Containers
2-
[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8270/badge)](https://www.bestpractices.dev/projects/8270)
32

43
This repository contains Dockerfiles, scripts, yaml files, Helm charts, etc. used to scale out AI containers with versions of TensorFlow and PyTorch that have been optimized for Intel platforms. Scaling is done with python, Docker, kubernetes, kubeflow, cnvrg.io, Helm, and other container orchestration frameworks for use in the cloud and on-premise.
54

File renamed without changes.

preset/classical-ml/docker-compose.yaml

-57
This file was deleted.

preset/data-analytics/.actions.json

-4
This file was deleted.

0 commit comments

Comments
 (0)