Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/linters/actionlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ self-hosted-runner:
- intel-ubuntu-latest
- k8-runners
- kubectl
- clx
108 changes: 54 additions & 54 deletions .github/workflows/container-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ jobs:
build-containers:
needs: [setup-build]
env: ${{ matrix }}
runs-on: ${{ github.repository_owner == 'intel' && 'intel-ubuntu-latest' || 'ubuntu-latest' }}
runs-on: [self-hosted, Linux, X64, clx]
strategy:
matrix: ${{ fromJson(needs.setup-build.outputs.matrix) }}
fail-fast: false
Expand Down Expand Up @@ -197,56 +197,56 @@ jobs:
####################################################################################################
# Generic Test Runner
####################################################################################################
setup-test:
needs: [build-containers]
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.test-matrix.outputs.matrix }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
with:
egress-policy: audit
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Get Recipes
id: test-matrix
run: echo "matrix=$(find ${INPUTS_GROUP_DIR} -type f -name 'tests.yaml' -exec dirname {} \; | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
env:
INPUTS_GROUP_DIR: ${{ inputs.group_dir }}
test-containers:
needs: [setup-build, setup-test]
if: ${{ needs.setup-test.outputs.matrix != '[]' }}
runs-on: [self-hosted, Linux, "${{ inputs.runner_label || fromJson(needs.setup-build.outputs.matrix).runner_label }}"]
strategy:
matrix:
tests: ${{ fromJson(needs.setup-test.outputs.matrix) }}
experimental: [true]
fail-fast: false
steps:
- uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
with:
egress-policy: audit
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- uses: azure/docker-login@15c4aadf093404726ab2ff205b2cdd33fa6d054c # v2
with:
login-server: ${{ secrets.REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
# - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
# with:
# registry: ${{ secrets.REGISTRY }}
# username: ${{ secrets.REGISTRY_USER }}
# password: ${{ secrets.REGISTRY_TOKEN }}
- name: Test Container Group
uses: intel/ai-containers/test-runner@b47fdb7521ea71f718f582ed6dc1de488b546d6c
with:
cache_registry: ${{ secrets.CACHE_REGISTRY }}
recipe_dir: ${{ inputs.group_dir }}
registry: ${{ secrets.REGISTRY }}
repo: ${{ secrets.REPO }}
test_dir: ${{ matrix.tests }}
token: ${{ secrets.GITHUB_TOKEN }}
# setup-test:
# needs: [build-containers]
# runs-on: ubuntu-latest
# outputs:
# matrix: ${{ steps.test-matrix.outputs.matrix }}
# steps:
# - name: Harden Runner
# uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
# with:
# egress-policy: audit
# - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
# with:
# persist-credentials: false
# - name: Get Recipes
# id: test-matrix
# run: echo "matrix=$(find ${INPUTS_GROUP_DIR} -type f -name 'tests.yaml' -exec dirname {} \; | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
# env:
# INPUTS_GROUP_DIR: ${{ inputs.group_dir }}
# test-containers:
# needs: [setup-build, setup-test]
# if: ${{ needs.setup-test.outputs.matrix != '[]' }}
# runs-on: [self-hosted, Linux, "${{ inputs.runner_label || fromJson(needs.setup-build.outputs.matrix).runner_label }}"]
# strategy:
# matrix:
# tests: ${{ fromJson(needs.setup-test.outputs.matrix) }}
# experimental: [true]
# fail-fast: false
# steps:
# - uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
# with:
# egress-policy: audit
# - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
# with:
# persist-credentials: false
# - uses: azure/docker-login@15c4aadf093404726ab2ff205b2cdd33fa6d054c # v2
# with:
# login-server: ${{ secrets.REGISTRY }}
# username: ${{ secrets.REGISTRY_USER }}
# password: ${{ secrets.REGISTRY_TOKEN }}
# # - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
# # with:
# # registry: ${{ secrets.REGISTRY }}
# # username: ${{ secrets.REGISTRY_USER }}
# # password: ${{ secrets.REGISTRY_TOKEN }}
# - name: Test Container Group
# uses: intel/ai-containers/test-runner@b47fdb7521ea71f718f582ed6dc1de488b546d6c
# with:
# cache_registry: ${{ secrets.CACHE_REGISTRY }}
# recipe_dir: ${{ inputs.group_dir }}
# registry: ${{ secrets.REGISTRY }}
# repo: ${{ secrets.REPO }}
# test_dir: ${{ matrix.tests }}
# token: ${{ secrets.GITHUB_TOKEN }}
110 changes: 55 additions & 55 deletions .github/workflows/integration-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,62 +72,62 @@ jobs:
with:
group_dir: ${{ matrix.group }}
secrets: inherit
merge-logs:
# download all artifacts across containers
needs: [pipeline-ci]
if: success() || failure()
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v4.0
id: download_artifact_outputs
with:
pattern: test-runner-summary*
merge-multiple: true
- name: Find Summary
id: summary
shell: bash
run: |
SUMMARY=$(find . -maxdepth 1 -name '*summary.json' -print)
if [[ -n "$SUMMARY" ]]; then
echo "summary=true" >> $GITHUB_OUTPUT
echo "Files matching the pattern ./*summary.json"
jq -s '[.[] | .[]]' ./*summary.json > combined.json
echo "Files found in the directory"
else
echo "summary=false" >> $GITHUB_OUTPUT
echo "No files matching the pattern ./*summary.json"
fi
- name: Generate TXT file
if: ${{ steps.summary.outputs.summary != 'false' }}
run: |
{
echo "### Integration Test Results"
echo "Groups Tested: $(jq -r 'map(.Group) | unique | join(", ")' combined.json)"
echo -e "\n<details>"
echo -e " <summary>Results</summary>\n"
echo " | Test-Group | Test | Status |"
echo " |:----:|:---:|:---:|"
jq -r '.[] | " | \(.Group) | \(.Test) | \(.Status) |"' combined.json
echo -e "\n</details>\n"
if jq -e 'all(.[]; .Status == "PASS")' combined.json > /dev/null; then
echo "#### Overall Result: PASS ✅"
else
echo "#### Overall Result: FAIL ❌"
fi
} >> output.txt
- name: PR-comment
if: ${{ steps.summary.outputs.summary != 'false' }}
uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
number: ${{ github.event.pull_request.number }}
header: test-runner combined summary
path: output.txt
recreate: true
# merge-logs:
# # download all artifacts across containers
# needs: [pipeline-ci]
# if: success() || failure()
# runs-on: ubuntu-latest
# permissions:
# pull-requests: write
# steps:
# - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v4.0
# id: download_artifact_outputs
# with:
# pattern: test-runner-summary*
# merge-multiple: true
# - name: Find Summary
# id: summary
# shell: bash
# run: |
# SUMMARY=$(find . -maxdepth 1 -name '*summary.json' -print)
# if [[ -n "$SUMMARY" ]]; then
# echo "summary=true" >> $GITHUB_OUTPUT
# echo "Files matching the pattern ./*summary.json"
# jq -s '[.[] | .[]]' ./*summary.json > combined.json
# echo "Files found in the directory"
# else
# echo "summary=false" >> $GITHUB_OUTPUT
# echo "No files matching the pattern ./*summary.json"
# fi
# - name: Generate TXT file
# if: ${{ steps.summary.outputs.summary != 'false' }}
# run: |
# {
# echo "### Integration Test Results"
# echo "Groups Tested: $(jq -r 'map(.Group) | unique | join(", ")' combined.json)"
# echo -e "\n<details>"
# echo -e " <summary>Results</summary>\n"
# echo " | Test-Group | Test | Status |"
# echo " |:----:|:---:|:---:|"
# jq -r '.[] | " | \(.Group) | \(.Test) | \(.Status) |"' combined.json
# echo -e "\n</details>\n"
# if jq -e 'all(.[]; .Status == "PASS")' combined.json > /dev/null; then
# echo "#### Overall Result: PASS ✅"
# else
# echo "#### Overall Result: FAIL ❌"
# fi
# } >> output.txt
# - name: PR-comment
# if: ${{ steps.summary.outputs.summary != 'false' }}
# uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4
# with:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# number: ${{ github.event.pull_request.number }}
# header: test-runner combined summary
# path: output.txt
# recreate: true
status-check:
needs: [group-diff, pipeline-ci, merge-logs]
needs: [group-diff, pipeline-ci]
runs-on: ubuntu-latest
if: always()
steps:
Expand Down
36 changes: 18 additions & 18 deletions tensorflow/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -94,21 +94,21 @@ services:
command: >
bash -c "python -m jupyter --version"
image: ${REGISTRY}/${REPO}:b-${GITHUB_RUN_NUMBER:-0}-${BASE_IMAGE_NAME:-ubuntu}-${BASE_IMAGE_TAG:-22.04}-pip-py${PYTHON_VERSION:-3.11}-itex-${TF_VERSION:-2.15.1}-itex-xpu-jupyter
itex-xpu-dl-essentials:
build:
args:
no_proxy: ''
NO_PROXY: ''
PYTHON_BASE: ${REGISTRY}/${REPO}:b-${GITHUB_RUN_NUMBER:-0}-${BASE_IMAGE_NAME:-ubuntu}-${BASE_IMAGE_TAG:-22.04}-pip-py${PYTHON_VERSION:-3.11}-xpu-dl-essentials
labels:
dependency.idp.pip: false
org.opencontainers.base.name: "intel/python:3.11-full"
org.opencontainers.image.title: "Intel® Extension for TensorFlow XPU Base Image"
org.opencontainers.image.version: ${TF_VER:-2.15.1}-xpu-pip-base
target: itex-xpu-base
command: >
bash -c "source /opt/intel/oneapi/setvars.sh && python -c 'import tensorflow as tf;print(tf.__version__);from tensorflow.python.client import device_lib;print(device_lib.list_local_devices())'"
extends: tf-base
depends_on:
- xpu-dl-essentials
image: ${REGISTRY}/${REPO}:b-${GITHUB_RUN_NUMBER:-0}-${BASE_IMAGE_NAME:-ubuntu}-${BASE_IMAGE_TAG:-22.04}-pip-py${PYTHON_VERSION:-3.11}-itex-xpu-dl-essentials
# itex-xpu-dl-essentials:
# build:
# args:
# no_proxy: ''
# NO_PROXY: ''
# PYTHON_BASE: ${REGISTRY}/${REPO}:b-${GITHUB_RUN_NUMBER:-0}-${BASE_IMAGE_NAME:-ubuntu}-${BASE_IMAGE_TAG:-22.04}-pip-py${PYTHON_VERSION:-3.11}-xpu-dl-essentials
# labels:
# dependency.idp.pip: false
# org.opencontainers.base.name: "intel/python:3.11-full"
# org.opencontainers.image.title: "Intel® Extension for TensorFlow XPU Base Image"
# org.opencontainers.image.version: ${TF_VER:-2.15.1}-xpu-pip-base
# target: itex-xpu-base
# command: >
# bash -c "source /opt/intel/oneapi/setvars.sh && python -c 'import tensorflow as tf;print(tf.__version__);from tensorflow.python.client import device_lib;print(device_lib.list_local_devices())'"
# extends: tf-base
# depends_on:
# - xpu-dl-essentials
# image: ${REGISTRY}/${REPO}:b-${GITHUB_RUN_NUMBER:-0}-${BASE_IMAGE_NAME:-ubuntu}-${BASE_IMAGE_TAG:-22.04}-pip-py${PYTHON_VERSION:-3.11}-itex-xpu-dl-essentials
4 changes: 2 additions & 2 deletions tensorflow/serving/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
numpy==2.2.4
pillow==11.3.0
requests==2.32.4
requests==2.32.5
tensorflow==2.17.0
tensorflow-serving-api==2.19.0
tensorflow-serving-api==2.19.1
Loading