diff --git a/.github/CODEOWNERSHIP b/.github/CODEOWNERSHIP deleted file mode 100644 index 682dff7fe3..0000000000 --- a/.github/CODEOWNERSHIP +++ /dev/null @@ -1,169 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -# Github code owners file -# This file is used as a convenient tool to map -# committers' areas of expertise and faciliate the review process. -# -# This may not be the non-comprehensive list and is meant to be -# updated over time. - -# Per ASF policy, committer have global write permission. -# We normally recommend committers to shepherd code in their area of expertise. -* @apache/tvm-committers - -# Order is important; the last matching pattern takes the most precedence. -# The sub modules should be ordered first by depth. -# Making sure we append new sub-module rules after exisiting modules rules. - -############################################################################### -# IMPORTANT NOTE -# This file is intentionally not named CODEOWNERS to avoid getting picked up -# by GitHub's code owners -> review mechanism. For details see -# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners -# and https://github.com/apache/tvm-rfcs/pull/58 -# -# This file is kept to allow manual inspection of who is responsible for -# different segments of the codebase. -############################################################################### - -############################## -# Top-level Fallbacks -############################## -include/** @tqchen @jroesch @yzhliu @icemelon @junrushao1994 @comaniac @zhiics -src/** @tqchen @jroesch @yzhliu @icemelon @junrushao1994 @comaniac @zhiics -apps/** @tqchen @jroesch @yzhliu @icemelon @junrushao1994 @comaniac @zhiics -python/** @tqchen @jroesch @yzhliu @icemelon @junrushao1994 @comaniac @zhiics - -# Thirdparty license audit -3rdparty/** @tqchen @jroesch -licenses/** @tqchen @jroesch - -# JVM language -jvm/** @yzhliu - -# Golang -golang/** @srkreddy1238 - -# WASM -web/** @tqchen @jroesch - -# Docker -docker/** @areusch @leandron @jroesch - -# Conda -conda/** @tqchen @junrushao1994 @comaniac - -# CMake -cmake/** @jroesch @tqchen @areusch @junrushao1994 @comaniac - -# rust bindings -rust/** @jroesch @nhynes @nhynes - -# vta -vta/** @tmoreau89 @vegaluisjose - -# docs -docs/** @comaniac @junrushao1994 @tqchen @jroesch @areusch @yzhliu @merrymercy @icemelon -tutorials/** @comaniac @junrushao1994 @tqchen @jroesch @areusch @yzhliu @merrymercy @icemelon - -# tests -tests/** @comaniac @junrushao1994 @tqchen @jroesch @areusch @yzhliu @merrymercy @icemelon - -############################## -# Specific modules -############################## - -# automation related -src/auto_scheduler/** @merrymercy @jcf94 @comaniac @junrushao1994 @vinx13 @Hzfengsy -include/tvm/auto_scheduler/** @merrymercy @jcf94 @comaniac @junrushao1994 @vinx13 @Hzfengsy -python/tvm/auto_scheduler/** @merrymercy @jcf94 @comaniac @junrushao1994 @vinx13 @Hzfengsy - -python/tvm/autotvm/** @merrymercy @jcf94 @comaniac @junrushao1994 @vinx13 - -# node system and reflection -src/node/** @junrushao1994 @vinx13 @tqchen @jroesch @comaniac -include/tvm/node/** @junrushao1994 @vinx13 @tqchen @jroesch @comaniac - -# ir: Common IR -src/ir/** @junrushao1994 @vinx13 @tqchen @jroesch @comaniac -include/tvm/ir/** @junrushao1994 @vinx13 @tqchen @jroesch @comaniac -python/tvm/ir/** @junrushao1994 @vinx13 @tqchen @jroesch @comaniac - -# tir -src/tir/** @junrushao1994 @vinx13 @tqchen @kparzysz-quic @ZihengJiang @masahi @were @Hzfengsy -include/tvm/tir/** @junrushao1994 @vinx13 @tqchen @kparzysz-quic @ZihengJiang @masahi @were @Hzfengsy -python/tvm/tir/** @junrushao1994 @vinx13 @tqchen @kparzysz-quic @ZihengJiang @masahi @were @Hzfengsy - -# te -src/te/** @junrushao1994 @vinx13 @tqchen @kparzysz-quic @ZihengJiang @masahi @were -include/tvm/te/** @junrushao1994 @vinx13 @tqchen @kparzysz-quic @ZihengJiang @masahi @were -python/tvm/te/** @junrushao1994 @vinx13 @tqchen @kparzysz-quic @ZihengJiang @masahi @were - -# target -src/target/** @junrushao1994 @vinx13 @tqchen @kparzysz-quic @ZihengJiang @masahi -include/tvm/target/** @junrushao1994 @vinx13 @tqchen @kparzysz-quic @ZihengJiang @masahi -python/tvm/target/** @junrushao1994 @vinx13 @tqchen @kparzysz-quic @ZihengJiang @masahi - -# arith: Arithmetic module and simplifiers -src/arith/** @tqchen @junrushao1994 @vinx13 -include/tvm/arith/** @tqchen @junrushao1994 @vinx13 -python/tvm/arith/** @tqchen @junrushao1994 @vinx13 - -# parser -src/parser/** @jroesch @slyubomirsky - -# runtime -src/runtime/** @vinx13 @tqchen @FronzenGene @liangfu @areusch @tmoreau89 @ajtulloch @masahi @kazum @ZihengJiang @junrushao1994 -include/tvm/runtime/** @vinx13 @tqchen @FronzenGene @liangfu @areusch @tmoreau89 @ajtulloch @masahi @kazum @ZihengJiang @junrushao1994 -python/tvm/runtime/** @vinx13 @tqchen @FronzenGene @liangfu @areusch @tmoreau89 @ajtulloch @masahi @kazum @ZihengJiang @junrushao1994 - -# runtime/micro -src/runtime/micro/** @areusch @liangfu @tmoreau89 @manupa-arm -src/runtime/crt/** @areusch @liangfu @tmoreau89 @manupa-arm -include/tvm/runtime/crt/** @areusch @liangfu @tmoreau89 @manupa-arm -include/tvm/runtime/micro/** @areusch @liangfu @tmoreau89 @manupa-arm -python/tvm/micro/** @areusch @liangfu @tmoreau89 @manupa-arm - -# relay -src/relay/** @jroesch @slyubomirsky @icemelon @MarisaKirisame @ZihengJiang @yzhliu @vinx13 @mbrookhart @jwfromm @zhiics @anijain2305 @wweic @eqy @junrushao1994 -include/tvm/relay/** @jroesch @slyubomirsky @icemelon @MarisaKirisame @ZihengJiang @yzhliu @vinx13 @mbrookhart @jwfromm @zhiics @anijain2305 @wweic @eqy @junrushao1994 -python/tvm/relay/** @jroesch @slyubomirsky @icemelon @MarisaKirisame @ZihengJiang @yzhliu @vinx13 @mbrookhart @jwfromm @zhiics @anijain2305 @wweic @eqy @junrushao1994 - - -# relay/qnn -src/relay/qnn/** @jwfromm @anijain2305 @ZihengJiang -inlcude/tvm/relay/qnn/** @jwfromm @anijain2305 @ZihengJiang -python/tvm/relay/qnn/** @jwfromm @anijain2305 @ZihengJiang - -# relay/backend/contrib: BYOC -src/relay/backend/contrib/** @zhiics @trevor-m @comaniac @mbaret @manupa-arm - -# relay/frontends -python/tvm/relay/frontend/** @jwfromm @mbrookhart @srkreddy1238 @siju-samuel @Huyuwei @hlu1 @kazum @PariksheetPinjari909 - -# topi: Operator definitions -src/topi/** @Laurawly @Huyuwei @kevinthesun @jwfromm @vinx13 @masahi @FronzenGene @yzhliu @mbrookhart @ZihengJiang @jcf94 -include/tvm/topi/** @Laurawly @Huyuwei @kevinthesun @jwfromm @vinx13 @masahi @FronzenGene @yzhliu @mbrookhart @ZihengJiang @jcf94 -python/tvm/topi/** @Laurawly @Huyuwei @kevinthesun @jwfromm @vinx13 @masahi @FronzenGene @yzhliu @mbrookhart @ZihengJiang @jcf94 - - -# tvm/driver/ -python/tvm/driver/** @leandron @jwfromm @tqchen @jroesch - -# tvm/driver/tvmc -python/tvm/driver/tvmc/** @leandron @jwfromm diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md deleted file mode 100644 index 359a441ecf..0000000000 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: "\U0001F41B Bug report" -about: Please include a description of your environment, preferably a minimum script to reproduce the problem. Find the list of label tags at https://tinyurl.com/5fnd5rkn. -title: "[Bug] " -labels: "needs-triage, type: bug" ---- - -Thanks for participating in the TVM community! We use https://discuss.tvm.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking. You are always welcomed to post on the forum first :smile_cat: - -Issues that are inactive for a period of time may get closed. We adopt this policy so that we won't lose track of actionable issues that may fall at the bottom of the pile. Feel free to reopen a new one if you feel there is an additional problem that needs attention when an old one gets closed. - -### Expected behavior - -What you were expecting - -### Actual behavior - -What actually happened - -### Environment - -Any environment details, such as: Operating System, TVM version, etc - -### Steps to reproduce - -Preferably a minimal script to cause the issue to occur. - -### Triage - -Please refer to the list of label tags [here](https://github.com/apache/tvm/wiki/Issue-Triage-Labels) to find the relevant tags and add them below in a bullet format (example below). - -* needs-triage diff --git a/.github/ISSUE_TEMPLATE/ci-problem.md b/.github/ISSUE_TEMPLATE/ci-problem.md deleted file mode 100644 index b1b874e848..0000000000 --- a/.github/ISSUE_TEMPLATE/ci-problem.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: "\U0000274C CI Problem" -about: To help the developers act on these problems, please give us as many details of the CI failure as possible. Find the list of label tags at https://tinyurl.com/5fnd5rkn. -title: "[CI Problem] " -labels: "needs-triage, type:ci" ---- - -Thanks for participating in the TVM community! We use https://discuss.tvm.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking. You are always welcomed to post on the forum first :smile_cat: - -Issues that are inactive for a period of time may get closed. We adopt this policy so that we won't lose track of actionable issues that may fall at the bottom of the pile. Feel free to reopen a new one if you feel there is an additional problem that needs attention when an old one gets closed. - -### Branch/PR Failing - -Please provide a link to the PR that has failed to run CI. - -### Jenkins Link - -Provide a link to the specific run that has failed. - -### Flakiness - -Have you seen this multiple times in this branch or in other branches? - -### Triage - -Please refer to the list of label tags [here](https://github.com/apache/tvm/wiki/Issue-Triage-Labels) to find the relevant tags and add them below in a bullet format (example below). - -* needs-triage diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index ef55b63553..0000000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: false # default: true -contact_links: -- name: 💬 Discourse - url: https://discuss.tvm.apache.org/ - about: Thanks for participating in the TVM community! We use https://discuss.tvm.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking. You are always welcomed to post on the forum first 😺 diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md deleted file mode 100644 index 49d0695b8e..0000000000 --- a/.github/ISSUE_TEMPLATE/documentation.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -name: "\U0001F4C4 Documentation" -about: Use this template to suggest additions and changes to the documentation. Find the list of label tags at https://tinyurl.com/5fnd5rkn. -title: "[Docs] " -labels: "needs-triage, type: doc" ---- - -Thanks for participating in the TVM community! We use https://discuss.tvm.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking. You are always welcomed to post on the forum first :smile_cat: - -Issues that are inactive for a period of time may get closed. We adopt this policy so that we won't lose track of actionable issues that may fall at the bottom of the pile. Feel free to reopen a new one if you feel there is an additional problem that needs attention when an old one gets closed. - -### Documentation Title & Type - -Include the title of the document (e.g. "Getting Started with TVM"), and the type of documentation (e.g. user docs, developer docs, tutorials) - -### Additions/Changes Requested - -If an RFC/discuss post exists, link it here. - -Otherwise, specify what actions should be taken to provide additional clarity/readability/reproducibility to the document. Include code snippets from the previous documentation if applicable. - -### Triage - -Please refer to the list of label tags [here](https://github.com/apache/tvm/wiki/Issue-Triage-Labels) to find the relevant tags and add them below in a bullet format (example below). - -* needs-triage diff --git a/.github/ISSUE_TEMPLATE/feature-tracking.md b/.github/ISSUE_TEMPLATE/feature-tracking.md deleted file mode 100644 index af217215d6..0000000000 --- a/.github/ISSUE_TEMPLATE/feature-tracking.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: "\U0001F527 Feature Tracking" -about: List clear, small actionable items so we can track the progress of the change. Find the list of label tags at https://tinyurl.com/5fnd5rkn. -title: "[Tracking Issue] " -labels: "needs-triage, type:rfc-tracking" ---- - -Thanks for participating in the TVM community! We use https://discuss.tvm.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking. You are always welcomed to post on the forum first :smile_cat: - -Issues that are inactive for a period of time may get closed. We adopt this policy so that we won't lose track of actionable issues that may fall at the bottom of the pile. Feel free to reopen a new one if you feel there is an additional problem that needs attention when an old one gets closed. - -### This issue is to track progress for FEATURE NAME -- [ ] P1. Title of this piece of the feature (PR link if available) - -### Triage - -Please refer to the list of label tags [here](https://github.com/apache/tvm/wiki/Issue-Triage-Labels) to find the relevant tags and add them below in a bullet format (example below). - -* needs-triage diff --git a/.github/ISSUE_TEMPLATE/flaky-test.md b/.github/ISSUE_TEMPLATE/flaky-test.md deleted file mode 100644 index bf64c08bbe..0000000000 --- a/.github/ISSUE_TEMPLATE/flaky-test.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -name: "\U00002744 Flaky Test" -about: Report flaky tests, make sure to include link to CI runs, a sample failure log, and the name of the test(s). Find the list of label tags at https://tinyurl.com/5fnd5rkn. -title: "[Flaky Test] " -labels: "needs-triage, test: flaky" ---- - -Thanks for participating in the TVM community! We use https://discuss.tvm.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking. You are always welcomed to post on the forum first :smile_cat: - -These tests were found to be flaky (intermittently failing on `main` or failed in a PR with unrelated changes). As per [the docs](https://github.com/apache/tvm/blob/main/docs/contribute/ci.rst#handling-flaky-failures), these failures will be disabled in a PR that references this issue until the test owners can fix the source of the flakiness. - -### Test(s) - -- `tests/python/some_file.py::the_test_name` - -### Jenkins Links - -- Please provide link(s) to failed CI runs. If runs are for a PR, explain why your PR did not break the test (e.g. did not touch that part of the codebase) - -### Triage - -Please refer to the list of label tags [here](https://github.com/apache/tvm/wiki/Issue-Triage-Labels) to find the relevant tags and add them below in a bullet format (example below). - -* needs-triage diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml deleted file mode 100644 index b32ff90325..0000000000 --- a/.github/actions/setup/action.yml +++ /dev/null @@ -1,35 +0,0 @@ -runs: - using: "composite" - steps: - - uses: actions/cache@v1 - env: - CACHE_NUMBER: 0 - with: - path: ~/conda_pkgs_dir - key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('conda/build-environment.yaml') }} - - uses: conda-incubator/setup-miniconda@v2 - continue-on-error: true - id: conda1 - with: - activate-environment: tvm-build - channel-priority: strict - environment-file: conda/build-environment.yaml - auto-activate-base: false - use-only-tar-bz2: true - python-version: 3.7 - condarc-file: conda/condarc - - uses: conda-incubator/setup-miniconda@v2 - if: steps.conda1.outcome == 'failure' - with: - activate-environment: tvm-build - channel-priority: strict - environment-file: conda/build-environment.yaml - auto-activate-base: false - use-only-tar-bz2: true - python-version: 3.7 - condarc-file: conda/condarc - - name: Conda info - shell: pwsh - run: | - conda info - conda list diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 946ba5338d..0000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,15 +0,0 @@ -# See https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file -version: 2 - -updates: - - package-ecosystem: "npm" - directory: "/" - schedule: - interval: "monthly" - open-pull-requests-limit: 0 - - - package-ecosystem: "pip" - directory: "/" - schedule: - interval: "monthly" - open-pull-requests-limit: 0 diff --git a/.github/disabled_workflows/pr_comment_bot.yml b/.github/disabled_workflows/pr_comment_bot.yml deleted file mode 100644 index 4362867685..0000000000 --- a/.github/disabled_workflows/pr_comment_bot.yml +++ /dev/null @@ -1,55 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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: comment-bot -on: - pull_request_target: - types: [opened, reopened, edited, ready_for_review, labeled] - status: - -concurrency: - group: pr-comment-${{ github.event.number }}-${{ github.event.target_url }} - cancel-in-progress: true - -jobs: - run-comment-bot: - if: ${{ github.repository == 'apache/tvm' }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Comment bot comment (pr) - if: ${{ github.event.number }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PR_NUMBER: ${{ github.event.number }} - run: | - set -eux - python ci/scripts/github/github_pr_comment.py --pr "$PR_NUMBER" - - name: Comment bot comment (status) - if: ${{ github.event.state }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - URL: ${{ github.event.target_url }} - run: | - set -eux - if [[ "$URL" == *"PR-"* ]]; then - echo "PR status, sending comment" - PR_NUMBER=$(echo $URL | sed 's/.*PR-//g' | sed 's/\/.*//g') - python ci/scripts/github/github_pr_comment.py --pr "$PR_NUMBER" || /bin/true - else - echo "Not a PR status, skipping" - fi diff --git a/.github/workflows/cc_bot.yml b/.github/workflows/cc_bot.yml deleted file mode 100644 index 54640148af..0000000000 --- a/.github/workflows/cc_bot.yml +++ /dev/null @@ -1,47 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -# GH actions. -# We use it to cover windows and mac builds -# Jenkins is still the primary CI - -name: PR - -on: - # See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target - pull_request_target: - types: [assigned, opened, synchronize, reopened, edited, ready_for_review] - -concurrency: - group: PR-${{ github.event.pull_request.number }} - cancel-in-progress: true - -jobs: - cc-reviewers: - if: github.repository == 'apache/tvm' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: "recursive" - - name: Add cc'ed reviewers - env: - PR: ${{ toJson(github.event.pull_request) }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - set -eux - python ci/scripts/github/github_cc_reviewers.py || echo step failed diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index a4a30fe19a..0000000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,181 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -# GH actions. -# We use it to cover windows and mac builds -# Jenkins is still the primary CI - -name: CI - -on: - push: - branches: - - main - pull_request: - branches: - - main - workflow_dispatch: - -concurrency: - group: CI-${{ github.event.pull_request.number || github.sha }} - cancel-in-progress: true - -jobs: - MacOS: - if: ${{ github.repository == 'apache/tvm' }} - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: 'recursive' - - name: Set up environment - uses: ./.github/actions/setup - - name: Conda Build - shell: bash -l {0} - run: >- - conda build --output-folder=conda/pkg conda/recipe && - conda install tvm -c ./conda/pkg - - name: Build iOS RPC - run: | - IOS_VERSION="14.0" - CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SYSTEM_NAME=iOS \ - -DCMAKE_SYSTEM_VERSION=${IOS_VERSION} \ - -DCMAKE_OSX_SYSROOT=iphonesimulator \ - -DCMAKE_OSX_ARCHITECTURES=x86_64 \ - -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 \ - -DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON \ - -DUSE_IOS_RPC=ON" - - mkdir build-ios-simulator - cd build-ios-simulator - cmake .. ${CMAKE_FLAGS} - cmake --build . --target ios_rpc - - name: Test - shell: bash -l {0} - run: >- - python -m pytest -v tests/python/all-platform-minimal-test - - name: Test iOS RPC - shell: bash -l {0} - run: >- - python -m pip install tornado psutil cloudpickle && - export PYTHONPATH=tests/python/contrib:${PYTHONPATH} && - export BUNDLE_ID=org.apache.tvmrpc && - export BUNDLE_PATH=build-ios-simulator/apps/ios_rpc/ios_rpc/src/ios_rpc-build/Release-iphonesimulator/tvmrpc.app && - python -m pytest -v tests/python/contrib/test_rpc_server_device.py - - Windows: - if: ${{ github.repository == 'apache/tvm' }} - runs-on: windows-2019 - steps: - - uses: actions/checkout@v2 - with: - submodules: 'recursive' - - name: Set up environment - uses: ./.github/actions/setup - - name: Conda Build - shell: cmd /C call {0} - run: >- - conda build --output-folder=conda/pkg conda/recipe && - conda install tvm -c ./conda/pkg - - name: Test - shell: cmd /C call {0} - run: >- - python -m pytest -v tests/python/all-platform-minimal-test - - # Disabled due to https://github.com/apache/tvm/issues/13950 - # Windows-Static-Runtime: - # if: ${{ github.repository == 'apache/tvm' }} - # runs-on: windows-2019 - # steps: - # - uses: actions/checkout@v2 - # with: - # submodules: 'recursive' - # - name: Set up environment - # uses: ./.github/actions/setup - # - name: Build static TVM runtime - # shell: bash -l {0} - # run: | - # tests/scripts/task_config_build_static.sh build - # cd build - # cmake .. -A x64 -DCMAKE_CONFIGURATION_TYPES="Release" - # cmake --build . --config Release --target runtime - - Linux-Static-Runtime: - if: ${{ github.repository == 'apache/tvm' }} - runs-on: Ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: 'recursive' - - name: Set up environment - uses: ./.github/actions/setup - - name: Build static TVM runtime - shell: bash -l {0} - run: | - tests/scripts/task_config_build_static.sh build - cd build - cmake .. - cmake --build . --config Release --target runtime - - Android: - if: ${{ github.repository == 'apache/tvm' }} - runs-on: Ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - with: - submodules: 'recursive' - - name: Set up environment - uses: ./.github/actions/setup - - name: Set up java - uses: actions/setup-java@v3 - with: - distribution: 'zulu' - java-version: '11' - - name: Build TVM - shell: bash -l {0} - run: | - mkdir build - cd build - ../tests/scripts/task_config_build_jvm.sh . - cmake .. - make - - name: Build TVM4J - run: | - make jvmpkg - - name: Build android_rpc - working-directory: apps/android_rpc - run: | - set -eux - export PATH="${ANDROID_NDK_LATEST_HOME}:$PATH" - gradle clean build - - name: Upload android_rpc APK - uses: actions/upload-artifact@v2 - with: - name: android_rpc-debug.apk - path: ./apps/android_rpc/app/build/outputs/apk/debug/app-debug.apk - - name: Build android_deploy - working-directory: apps/android_deploy - run: | - set -eux - export PATH="${ANDROID_NDK_LATEST_HOME}:$PATH" - gradle clean build - - name: Upload android_deploy APK - uses: actions/upload-artifact@v2 - with: - name: android_deploy-debug.apk - path: ./apps/android_deploy/app/build/outputs/apk/debug/app-debug.apk diff --git a/.github/workflows/nightly_docker_update.yml b/.github/workflows/nightly_docker_update.yml deleted file mode 100644 index 3509874873..0000000000 --- a/.github/workflows/nightly_docker_update.yml +++ /dev/null @@ -1,31 +0,0 @@ - -name: Nightly Docker Update -on: - schedule: - - cron: "0 0 * * *" - workflow_dispatch: - -concurrency: - group: nightly-docker-update - cancel-in-progress: true - -jobs: - open_update_pr: - permissions: - actions: write - checks: write - contents: write - id-token: write - issues: write - pull-requests: write - statuses: write - if: github.repository == 'apache/tvm' - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - - name: Open PR to update Docker images - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - set -eux - python ci/scripts/jenkins/open_docker_update_pr.py diff --git a/.github/workflows/ping_reviewers.yml b/.github/workflows/ping_reviewers.yml deleted file mode 100644 index f0395c0947..0000000000 --- a/.github/workflows/ping_reviewers.yml +++ /dev/null @@ -1,23 +0,0 @@ - -name: Ping Reviewers -on: - schedule: - - cron: "0/15 * * * *" - workflow_dispatch: - -concurrency: - group: ping - cancel-in-progress: true - -jobs: - ping: - if: github.repository == 'apache/tvm' - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - - name: Ping reviewers - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - set -eux - python ci/scripts/github/ping_reviewers.py --wait-time-minutes 10080 || echo failed diff --git a/.github/workflows/tag_teams.yml b/.github/workflows/tag_teams.yml deleted file mode 100644 index 14d2960476..0000000000 --- a/.github/workflows/tag_teams.yml +++ /dev/null @@ -1,41 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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: Teams - -on: - issues: - types: [opened, edited, reopened, labeled] - -concurrency: - group: Teams-${{ github.event.pull_request.number }}-${{ github.event.issue.number }} - cancel-in-progress: true - -jobs: - tag-teams: - if: github.repository == 'apache/tvm' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Tag people from relevant teams - env: - PR: ${{ toJson(github.event.pull_request) }} - ISSUE: ${{ toJson(github.event.issue) }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - set -eux - python ci/scripts/github/github_tag_teams.py || echo failed diff --git a/.github/workflows/tvmbot.yml b/.github/workflows/tvmbot.yml deleted file mode 100644 index 6965ea86f2..0000000000 --- a/.github/workflows/tvmbot.yml +++ /dev/null @@ -1,37 +0,0 @@ - -name: tvm-bot -on: - pull_request_review: - types: - - submitted - issue_comment: - -concurrency: - group: merge-${{ github.event.pull_request.number }}-${{ github.event.issue.number }} - cancel-in-progress: true - -jobs: - run-tvm-bot: - permissions: - actions: write - checks: write - contents: write - id-token: write - issues: write - pull-requests: write - statuses: write - if: ${{ github.event.issue.pull_request && github.repository == 'apache/tvm' }} - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - - name: Run tvm-bot - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_ACTIONS_TOKEN: ${{ secrets.GH_ACTIONS_TOKEN }} - TVM_BOT_JENKINS_TOKEN: ${{ secrets.TVM_BOT_JENKINS_TOKEN }} - PR_NUMBER: ${{ github.event.issue.number }} - ISSUE_COMMENT: ${{ toJson(github.event.comment) }} - RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} - run: | - set -eux - python ci/scripts/github/github_tvmbot.py --pr "$PR_NUMBER" --run-url "$RUN_URL" --trigger-comment-json "$ISSUE_COMMENT" diff --git a/.github/workflows/update_last_successful_branch.yml b/.github/workflows/update_last_successful_branch.yml deleted file mode 100644 index da8852d8d2..0000000000 --- a/.github/workflows/update_last_successful_branch.yml +++ /dev/null @@ -1,44 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -# GH actions. -# We use it to cover windows and mac builds -# Jenkins is still the primary CI - -name: Update last-successful branch - -on: - schedule: - - cron: "0/15 * * * *" - workflow_dispatch: - -concurrency: - group: update-last-successful-branch - cancel-in-progress: true - -jobs: - update-last-successful-branch: - if: github.repository == 'apache/tvm' - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - - name: Update last-successful branch - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - set -eux - python ci/scripts/github/update_branch.py || echo step failed diff --git a/.github/workflows/update_nightly_branch.yml b/.github/workflows/update_nightly_branch.yml deleted file mode 100644 index 3012946893..0000000000 --- a/.github/workflows/update_nightly_branch.yml +++ /dev/null @@ -1,44 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -# Update a branch for nightly test results -name: Update nightly branch - -on: - schedule: - # 9 PM PST - - cron: "0 5 * * *" - workflow_dispatch: - -concurrency: - group: update-nightly-branch - cancel-in-progress: true - -jobs: - update-nightly-branch: - if: github.repository == 'apache/tvm' - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - - name: Update nightly branch - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - set -eux - git checkout -B nightly - git log -5 - git push origin --force nightly diff --git a/.github/workflows/upload_ci_resource.yml b/.github/workflows/upload_ci_resource.yml deleted file mode 100644 index c0af1a5b1c..0000000000 --- a/.github/workflows/upload_ci_resource.yml +++ /dev/null @@ -1,60 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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: Upload CI Resource - -on: - workflow_dispatch: - inputs: - url: - description: 'URL of the file (e.g. "https://example.com/file.zip")' - required: true - type: string - sha256: - description: 'SHA256 of the file' - required: true - type: string - upload_path: - description: 'Path of the file in S3 (e.g. "my_folder/something.zip")' - required: true - type: string - -concurrency: - group: upload-ci-resource - cancel-in-progress: true - -jobs: - upload-ci-resource: - if: github.repository == 'apache/tvm' - runs-on: ubuntu-20.04 - steps: - - name: Download item and upload to S3 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - AWS_ACCESS_KEY_ID: ${{ secrets.CI_RESOURCES_AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_RESOURCES_AWS_SECRET_ACCESS_KEY }} - URL: ${{ inputs.url }} - SHA256: ${{ inputs.sha256 }} - UPLOAD_PATH: ${{ inputs.upload_path }} - AWS_DEFAULT_REGION: us-west-2 - run: | - set -eux - curl -L -o downloaded_file "$URL" - echo "$SHA256 downloaded_file" | sha256sum --check - aws s3 cp downloaded_file "s3://tvm-ci-resources/$UPLOAD_PATH" - echo "The item is available at https://tvm-ci-resources.s3.us-west-2.amazonaws.com/$UPLOAD_PATH" - echo "Add this line to tests/scripts/request_hook/request_hook.py" - echo " \"$URL\": f\"{BASE}/$UPLOAD_PATH\"," diff --git a/ci/jenkins/mlc_jenkinsfile.groovy b/ci/jenkins/mlc_jenkinsfile.groovy index 7beb2f9bd4..95aaea3388 100644 --- a/ci/jenkins/mlc_jenkinsfile.groovy +++ b/ci/jenkins/mlc_jenkinsfile.groovy @@ -113,10 +113,6 @@ def unpack_lib(name, libs) { cancel_previous_build() -stage('Approval') { - input id: '1', message: 'Pending. Please reply "\\test" on GitHub to continue.' -} - stage('Prepare') { node('JUNRU-CPU-SMALL') { // When something is provided in ci_*_param, use it, otherwise default with ci_* @@ -221,6 +217,10 @@ stage('Lint') { }}} } +stage('Approval') { + input id: '1', message: 'Pending. Please reply "\\test" on GitHub to continue.' +} + stage('Build') { parallel 'CPU': { node('JUNRU-CPU-LARGE') { ws(per_exec_ws('tvm/build/cpu')) { init_git()