From 76bdb67ec1de6b3dd1bf46fdd3e98d4ad693a01b Mon Sep 17 00:00:00 2001 From: root <23239305+b-chu@users.noreply.github.com> Date: Wed, 31 Jan 2024 20:19:31 +0000 Subject: [PATCH] Use testing repo actions --- .github/workflows/code-quality.yaml | 57 +++++++++++++++++--------- .github/workflows/codeql-analysis.yml | 47 +++++++-------------- .github/workflows/coverage.yaml | 37 +++++++++-------- .github/workflows/daily.yaml | 3 ++ .github/workflows/pr-code-quality.yaml | 28 ------------- .github/workflows/pr-cpu.yaml | 3 ++ .github/workflows/smoketest.yaml | 29 +++++++------ 7 files changed, 96 insertions(+), 108 deletions(-) delete mode 100644 .github/workflows/pr-code-quality.yaml diff --git a/.github/workflows/code-quality.yaml b/.github/workflows/code-quality.yaml index 20bbf327b7c..240cd766c17 100644 --- a/.github/workflows/code-quality.yaml +++ b/.github/workflows/code-quality.yaml @@ -1,13 +1,17 @@ name: Code Quality Checks on: - workflow_call: - inputs: - python_version: - required: true - type: string - pip_deps: - required: true - type: string + push: + branches: + - dev + - main + - release/** + pull_request: + workflow_dispatch: +# Cancel old runs when a new commit is pushed to the same branch if not on main +# or dev +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/dev' }} defaults: run: working-directory: . @@ -15,16 +19,31 @@ jobs: code-quality: runs-on: ubuntu-20.04 timeout-minutes: 15 + strategy: + matrix: + python_version: + - "3.9" + - "3.10" + - "3.11" + pip_deps: + - "[dev]" steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - name: Checkout + uses: actions/checkout@v3 + - name: Get Repo Token + id: REPO_TOKEN + uses: tibdex/github-app-token@v1 with: - python-version: ${{ inputs.python_version }} - - name: Setup - run: | - set -ex - python -m pip install --upgrade 'pip<23' wheel - python -m pip install --upgrade .${{ inputs.pip_deps }} - - name: Run checks - run: | - pre-commit run --all-files + app_id: ${{ secrets.DEVOGE_BOT_PUB_APPID }} + private_key: ${{ secrets.DEVOGE_BOT_PUB_PEM }} + - name: Get composite run steps repository + uses: actions/checkout@v3 + with: + repository: mosaicml/testing + ref: cicd + path: ./testing + token: ${{ steps.REPO_TOKEN.outputs.token }} + - uses: ./testing/.github/actions/code-quality + with: + python_version: ${{ matrix.python_version }} + pip_deps: ${{ matrix.pip_deps }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 151179d524f..458e6eb85e6 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -41,36 +41,19 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v2 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + - name: Get Repo Token + id: REPO_TOKEN + uses: tibdex/github-app-token@v1 with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a - # config file. - # By default, queries listed here will override any specified in a - # config file. - # Prefix the list here with "+" to use these queries and those in the - # config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually - # (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following - # three lines and modify them (or add more) to build your code if your - # project uses a compiled language - - # - run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + app_id: ${{ secrets.DEVOGE_BOT_PUB_APPID }} + private_key: ${{ secrets.DEVOGE_BOT_PUB_PEM }} + - name: Get composite run steps repository + uses: actions/checkout@v3 + with: + repository: mosaicml/testing + ref: cicd + path: ./testing + token: ${{ steps.REPO_TOKEN.outputs.token }} + - uses: ./testing/.github/actions/codeql-analysis + with: + language: ${{ matrix.language }} diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index f89d67ec39f..591d3310591 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -5,6 +5,11 @@ on: download-path: required: true type: string + secrets: + app_id: + required: true + private_key: + required: true jobs: coverage: timeout-minutes: 5 @@ -12,21 +17,19 @@ jobs: steps: - name: Checkout Repo uses: actions/checkout@v3 - - name: Setup - run: | - set -ex - python -m pip install --upgrade 'pip<23' wheel - pip install coverage[toml]==6.5.0 - - name: Download artifacts - uses: actions/download-artifact@v3 + - name: Get Repo Token + id: REPO_TOKEN + uses: tibdex/github-app-token@v1 + with: + app_id: ${{ secrets.DEVOGE_BOT_PUB_APPID }} + private_key: ${{ secrets.DEVOGE_BOT_PUB_PEM }} + - name: Get composite run steps repository + uses: actions/checkout@v3 + with: + repository: mosaicml/testing + ref: cicd + path: ./testing + token: ${{ steps.REPO_TOKEN.outputs.token }} + - uses: ./testing/.github/actions/coverage with: - path: ${{ inputs.download-path }} - - name: Generate coverage report - run: | - set -ex - - # Flatten the coverage files - ls ${{ inputs.download-path }} | while read x; do mv ${{ inputs.download-path }}/$x/.coverage .coverage.$x; done - - python -m coverage combine - python -m coverage report + download-path: ${{ inputs.download-path }} diff --git a/.github/workflows/daily.yaml b/.github/workflows/daily.yaml index 4e0e7f6bcbf..e742e963827 100644 --- a/.github/workflows/daily.yaml +++ b/.github/workflows/daily.yaml @@ -86,6 +86,9 @@ jobs: needs: [daily-pytest-cpu] with: download-path: artifacts + secrets: + app_id: ${{ secrets.DEVOGE_BOT_PUB_APPID }} + private_key: ${{ secrets.DEVOGE_BOT_PUB_PEM }} daily-pytest-gpu: uses: ./.github/workflows/pytest-gpu.yaml diff --git a/.github/workflows/pr-code-quality.yaml b/.github/workflows/pr-code-quality.yaml deleted file mode 100644 index 26d2546e75c..00000000000 --- a/.github/workflows/pr-code-quality.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: PR Code Quality Checks -on: - push: - branches: - - dev - - main - - release/** - pull_request: - workflow_dispatch: -# Cancel old runs when a new commit is pushed to the same branch if not on main -# or dev -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/dev' }} -jobs: - code-quality: - uses: ./.github/workflows/code-quality.yaml - strategy: - matrix: - python_version: - - "3.9" - - "3.10" - - "3.11" - pip_deps: - - "[dev]" - with: - python_version: ${{ matrix.python_version }} - pip_deps: ${{ matrix.pip_deps }} diff --git a/.github/workflows/pr-cpu.yaml b/.github/workflows/pr-cpu.yaml index e2c715710e1..78a64701e66 100644 --- a/.github/workflows/pr-cpu.yaml +++ b/.github/workflows/pr-cpu.yaml @@ -43,3 +43,6 @@ jobs: needs: [pytest-cpu] with: download-path: artifacts + secrets: + app_id: ${{ secrets.DEVOGE_BOT_PUB_APPID }} + private_key: ${{ secrets.DEVOGE_BOT_PUB_PEM }} diff --git a/.github/workflows/smoketest.yaml b/.github/workflows/smoketest.yaml index 429cc40b1de..f2940306246 100644 --- a/.github/workflows/smoketest.yaml +++ b/.github/workflows/smoketest.yaml @@ -27,16 +27,21 @@ jobs: - "3.10" - "3.11" steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - name: Checkout + uses: actions/checkout@v3 + - name: Get Repo Token + id: REPO_TOKEN + uses: tibdex/github-app-token@v1 with: - python-version: ${{ matrix.python_version }} - - name: Setup - run: | - set -ex - python -m pip install --upgrade 'pip<23' wheel - python -m pip install --upgrade . - python -m pip install pytest==7.2.1 pytest_codeblocks==0.16.1 - - name: Run checks - run: | - pytest tests/test_smoketest.py + app_id: ${{ secrets.DEVOGE_BOT_PUB_APPID }} + private_key: ${{ secrets.DEVOGE_BOT_PUB_PEM }} + - name: Get composite run steps repository + uses: actions/checkout@v3 + with: + repository: mosaicml/testing + ref: cicd + path: ./testing + token: ${{ steps.REPO_TOKEN.outputs.token }} + - uses: ./testing/.github/actions/smoketest + with: + python_version: ${{ matrix.python_version }}