| # Copyright 2022 The TensorFlow Authors. All Rights Reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # ============================================================================== |
| |
| name: ARM CD |
| |
| on: |
| push: |
| tags: |
| - v2.** |
| schedule: |
| - cron: '0 8 * * *' |
| |
| jobs: |
| build: |
| if: github.repository == 'tensorflow/tensorflow' # Don't do this in forks |
| runs-on: [self-hosted, linux, ARM64] |
| continue-on-error: ${{ matrix.experimental }} |
| strategy: |
| fail-fast: false |
| matrix: |
| pyver: ['3.8', '3.9', '3.10'] |
| experimental: [false] |
| include: |
| - pyver: '3.11' |
| experimental: true |
| steps: |
| - name: Stop old running containers (if any) |
| shell: bash |
| run: | |
| running_containers=$(docker ps -q) && \ |
| if [[ $running_containers == "" ]]; then |
| echo "No running containers"; |
| else |
| echo "Running container(s) found" && \ |
| docker stop $running_containers; |
| fi |
| docker container prune -f |
| - name: Clean repository |
| shell: bash |
| run: find /home/ubuntu/actions-runner/_work/tensorflow/tensorflow/. -name . -o -prune -exec sudo rm -rf -- {} + || true |
| - name: Checkout repository for nightly (skipped for releases) |
| if: ${{ github.event_name == 'schedule' }} |
| uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0 |
| with: |
| ref: 'nightly' |
| - name: Checkout repository for releases (skipped for nightly) |
| if: ${{ github.event_name == 'push' }} |
| uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0 |
| - name: Build and test pip wheel |
| shell: bash |
| run: | |
| is_nightly=0 && tf_project_name='tensorflow_cpu_aws' && ${{ github.event_name == 'schedule' }} && is_nightly=1 && tf_project_name='tf_nightly_cpu_aws' |
| echo "PyPI project name:" $tf_project_name |
| CI_DOCKER_BUILD_EXTRA_PARAMS="--build-arg py_major_minor_version=${{ matrix.pyver }} --build-arg is_nightly=${is_nightly} --build-arg tf_project_name=${tf_project_name}" \ |
| ./tensorflow/tools/ci_build/ci_build.sh cpu.arm64 bash tensorflow/tools/ci_build/rel/ubuntu/cpu_arm64_pip.sh |
| - name: Upload pip wheel to PyPI |
| shell: bash |
| run: python3 -m twine upload --verbose /home/ubuntu/actions-runner/_work/tensorflow/tensorflow/whl/* -u "__token__" -p ${{ secrets.AWS_PYPI_ACCOUNT_TOKEN }} |