From 79e34eb4d179b6f6ae7311ce77b2191270f169af Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Tue, 11 May 2021 18:03:55 -0400 Subject: [PATCH 1/7] added checker --- ...heck.yml => latest_dependency_checker.yml} | 8 +- .../workflows/minimum_dependency_checker.yml | 77 +++++++++++++++++++ 2 files changed, 81 insertions(+), 4 deletions(-) rename .github/workflows/{dependency_check.yml => latest_dependency_checker.yml} (80%) create mode 100644 .github/workflows/minimum_dependency_checker.yml diff --git a/.github/workflows/dependency_check.yml b/.github/workflows/latest_dependency_checker.yml similarity index 80% rename from .github/workflows/dependency_check.yml rename to .github/workflows/latest_dependency_checker.yml index 6ec9e05300..96b453281d 100644 --- a/.github/workflows/dependency_check.yml +++ b/.github/workflows/latest_dependency_checker.yml @@ -1,4 +1,4 @@ -name: Update Dependencies +name: Latest Dependency Checker on: schedule: - cron: '0 * * * *' @@ -24,9 +24,9 @@ jobs: commit-message: Update latest dependencies title: Automated Latest Dependency Updates author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> - body: "This is an auto-generated PR with dependency updates. - Please do not delete the dep-update branch because it's needed by the auto-dependency bot." - branch: dep-update + body: "This is an auto-generated PR with **latest** dependency updates. + Please do not delete the `latest-dep-update` branch because it's needed by the auto-dependency bot." + branch: latest-dep-update branch-suffix: short-commit-hash base: main reviewers: angela97lin, dsherry, jeremyliweishih, freddyaboulton, bchen1116, chukarsten, ParthivNaresh diff --git a/.github/workflows/minimum_dependency_checker.yml b/.github/workflows/minimum_dependency_checker.yml new file mode 100644 index 0000000000..cc1d0beb50 --- /dev/null +++ b/.github/workflows/minimum_dependency_checker.yml @@ -0,0 +1,77 @@ +name: Minimum Dependency Checker +on: + push: + branches: + - main + paths: + - 'requirements.txt' + - 'test-requirements.txt' + - 'core-requirements.txt' +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + - name: Run min dep generator - test reqs + id: min_dep_gen_test + uses: alteryx/minimum-dependency-generator@v2 + with: + requirements_paths: 'test-requirements.txt' + - name: Save min test deps and run diff + id: check_min_test + continue-on-error: true + run: | + mkdir /tmp/dependencies_updated_artifacts + printf "${{ steps.min_dep_gen_test.outputs.min_reqs }}" > /tmp/minimum_test_requirements.txt + diff /tmp/minimum_test_requirements.txt evalml/tests/dependency_update_check/minimum_test_requirements.txt + - name: if min test deps have changed, write output file + if: steps.check_min_test.outcome != 'success' + run: | + printf "${{ steps.min_dep_gen_test.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_test_requirements.txt + - name: Run min dep generator - core reqs + id: min_dep_gen_core + uses: alteryx/minimum-dependency-generator@v2 + with: + requirements_paths: 'requirements.txt' + - name: Save min core deps and run diff + id: check_core_deps + continue-on-error: true + run: | + printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > /tmp/minimum_core_requirements.txt + diff /tmp/minimum_core_requirements.txt evalml/tests/dependency_update_check/minimum_core_requirements.txt + - name: if min core deps have changed, write output file + if: steps.check_core_deps.outcome != 'success' + run: | + printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_core_requirements.txt + - name: Run min dep generator - koalas + id: min_dep_gen_koalas + uses: alteryx/minimum-dependency-generator@v2 + with: + requirements_paths: 'koalas-requirements.txt requirements.txt' + - name: Save min koalas deps and run diff + id: check_koalas_deps + continue-on-error: true + run: | + printf "${{ steps.min_dep_gen_koalas.outputs.min_reqs }}" > /tmp/minimum_optional_requirements.txt + diff /tmp/minimum_optional_requirements.txt evalml/tests/dependency_update_check/minimum_optional_requirements.txt + - name: if min koalas deps have changed, write output file + if: steps.check_koalas_deps.outcome != 'success' + run: | + printf "${{ steps.min_dep_gen_koalas.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_optional_requirements.txt + - name: Create Pull Request + uses: FeatureLabs/create-pull-request@v3 + with: + token: ${{ secrets.REPO_SCOPED_TOKEN }} + commit-message: Update minimum dependencies + title: Automated Minimum Dependency Updates + author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> + body: "This is an auto-generated PR with **minimum** dependency updates. + Please do not delete the `min-dep-update` branch because it's needed by the auto-dependency bot." + branch: min-dep-update + branch-suffix: short-commit-hash + base: main + reviewers: thehomebrewnerd, tamargrey, jeff-hernandez \ No newline at end of file From dd938fadeaebcaae08192cceaf2f3a63b01df80b Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 13 May 2021 12:11:02 -0400 Subject: [PATCH 2/7] fix filenames --- .../workflows/minimum_dependency_checker.yml | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/minimum_dependency_checker.yml b/.github/workflows/minimum_dependency_checker.yml index cc1d0beb50..6bbf030459 100644 --- a/.github/workflows/minimum_dependency_checker.yml +++ b/.github/workflows/minimum_dependency_checker.yml @@ -16,52 +16,52 @@ jobs: with: ref: ${{ github.event.pull_request.head.ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} - - name: Run min dep generator - test reqs + - name: Run min dep generator - test requirements id: min_dep_gen_test uses: alteryx/minimum-dependency-generator@v2 with: requirements_paths: 'test-requirements.txt' - - name: Save min test deps and run diff + - name: Save min test requirements and run diff id: check_min_test continue-on-error: true run: | mkdir /tmp/dependencies_updated_artifacts printf "${{ steps.min_dep_gen_test.outputs.min_reqs }}" > /tmp/minimum_test_requirements.txt diff /tmp/minimum_test_requirements.txt evalml/tests/dependency_update_check/minimum_test_requirements.txt - - name: if min test deps have changed, write output file + - name: if min test requirements have changed, write output file if: steps.check_min_test.outcome != 'success' run: | printf "${{ steps.min_dep_gen_test.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_test_requirements.txt - - name: Run min dep generator - core reqs - id: min_dep_gen_core + - name: Run min dep generator - requirements + id: min_dep_gen_reqs uses: alteryx/minimum-dependency-generator@v2 with: requirements_paths: 'requirements.txt' - - name: Save min core deps and run diff - id: check_core_deps + - name: Save min requirements and run diff + id: check_min_reqs continue-on-error: true run: | - printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > /tmp/minimum_core_requirements.txt - diff /tmp/minimum_core_requirements.txt evalml/tests/dependency_update_check/minimum_core_requirements.txt - - name: if min core deps have changed, write output file - if: steps.check_core_deps.outcome != 'success' + printf "${{ steps.min_dep_gen_reqs.outputs.min_reqs }}" > /tmp/minimum_requirements.txt + diff /tmp/minimum_requirements.txt evalml/tests/dependency_update_check/minimum_requirements.txt + - name: if min deps have changed, write output file + if: steps.check_min_reqs.outcome != 'success' run: | - printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_core_requirements.txt + printf "${{ steps.min_dep_gen_reqs.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_requirements.txt - name: Run min dep generator - koalas - id: min_dep_gen_koalas + id: min_dep_gen_core uses: alteryx/minimum-dependency-generator@v2 with: requirements_paths: 'koalas-requirements.txt requirements.txt' - name: Save min koalas deps and run diff - id: check_koalas_deps + id: check_core_deps continue-on-error: true run: | - printf "${{ steps.min_dep_gen_koalas.outputs.min_reqs }}" > /tmp/minimum_optional_requirements.txt - diff /tmp/minimum_optional_requirements.txt evalml/tests/dependency_update_check/minimum_optional_requirements.txt + printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > /tmp/minimum_core_requirements.txt + diff /tmp/minimum_core_requirements.txt evalml/tests/dependency_update_check/minimum_core_requirements.txt - name: if min koalas deps have changed, write output file - if: steps.check_koalas_deps.outcome != 'success' + if: steps.check_core_deps.outcome != 'success' run: | - printf "${{ steps.min_dep_gen_koalas.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_optional_requirements.txt + printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_core_requirements.txt - name: Create Pull Request uses: FeatureLabs/create-pull-request@v3 with: From 2c07c6959341b0fe0ffad91fca5f7a9541254e05 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 13 May 2021 12:16:10 -0400 Subject: [PATCH 3/7] release notes --- docs/source/release_notes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/release_notes.rst b/docs/source/release_notes.rst index 713160b3f2..0ac5e89d1f 100644 --- a/docs/source/release_notes.rst +++ b/docs/source/release_notes.rst @@ -11,7 +11,7 @@ Release Notes * Documentation Changes * Capped Sphinx version under 4.0.0 :pr:`2244` * Testing Changes - + * Add minimum dependency checker to generate minimum requirement files :pr:`2267` .. warning:: From 3ca59e7511b10ca89d8738f9bc2dc10b346aba75 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 13 May 2021 12:17:23 -0400 Subject: [PATCH 4/7] run workflow --- .github/workflows/minimum_dependency_checker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/minimum_dependency_checker.yml b/.github/workflows/minimum_dependency_checker.yml index 6bbf030459..73549aac1c 100644 --- a/.github/workflows/minimum_dependency_checker.yml +++ b/.github/workflows/minimum_dependency_checker.yml @@ -1,5 +1,7 @@ name: Minimum Dependency Checker on: + pull_request: + types: [opened, synchronize] push: branches: - main From 9290cec2af56dc18140dbd8927482f9f2f2f0037 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 13 May 2021 12:19:57 -0400 Subject: [PATCH 5/7] fix filename --- .github/workflows/minimum_dependency_checker.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/minimum_dependency_checker.yml b/.github/workflows/minimum_dependency_checker.yml index 73549aac1c..62a904075f 100644 --- a/.github/workflows/minimum_dependency_checker.yml +++ b/.github/workflows/minimum_dependency_checker.yml @@ -49,18 +49,18 @@ jobs: if: steps.check_min_reqs.outcome != 'success' run: | printf "${{ steps.min_dep_gen_reqs.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_requirements.txt - - name: Run min dep generator - koalas + - name: Run min dep generator - core requirements id: min_dep_gen_core uses: alteryx/minimum-dependency-generator@v2 with: - requirements_paths: 'koalas-requirements.txt requirements.txt' - - name: Save min koalas deps and run diff + requirements_paths: 'core-requirements.txt' + - name: Save min core requirements and run diff id: check_core_deps continue-on-error: true run: | printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > /tmp/minimum_core_requirements.txt diff /tmp/minimum_core_requirements.txt evalml/tests/dependency_update_check/minimum_core_requirements.txt - - name: if min koalas deps have changed, write output file + - name: if min core requirements deps have changed, write output file if: steps.check_core_deps.outcome != 'success' run: | printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_core_requirements.txt From 9397f4efb1fb87bcdb60d7ff40e695eaf9d3e75a Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 13 May 2021 12:22:52 -0400 Subject: [PATCH 6/7] fix token --- .github/workflows/minimum_dependency_checker.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/minimum_dependency_checker.yml b/.github/workflows/minimum_dependency_checker.yml index 62a904075f..323d4e37fb 100644 --- a/.github/workflows/minimum_dependency_checker.yml +++ b/.github/workflows/minimum_dependency_checker.yml @@ -45,7 +45,7 @@ jobs: run: | printf "${{ steps.min_dep_gen_reqs.outputs.min_reqs }}" > /tmp/minimum_requirements.txt diff /tmp/minimum_requirements.txt evalml/tests/dependency_update_check/minimum_requirements.txt - - name: if min deps have changed, write output file + - name: if min requirements have changed, write output file if: steps.check_min_reqs.outcome != 'success' run: | printf "${{ steps.min_dep_gen_reqs.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_requirements.txt @@ -55,19 +55,19 @@ jobs: with: requirements_paths: 'core-requirements.txt' - name: Save min core requirements and run diff - id: check_core_deps + id: check_core_reqs continue-on-error: true run: | printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > /tmp/minimum_core_requirements.txt diff /tmp/minimum_core_requirements.txt evalml/tests/dependency_update_check/minimum_core_requirements.txt - - name: if min core requirements deps have changed, write output file - if: steps.check_core_deps.outcome != 'success' + - name: if min core requirements have changed, write output file + if: steps.check_core_reqs.outcome != 'success' run: | printf "${{ steps.min_dep_gen_core.outputs.min_reqs }}" > evalml/tests/dependency_update_check/minimum_core_requirements.txt - name: Create Pull Request uses: FeatureLabs/create-pull-request@v3 with: - token: ${{ secrets.REPO_SCOPED_TOKEN }} + token: ${{ secrets.MACHINEFL_DEPENDENCY_CHECKER_TOKEN }} commit-message: Update minimum dependencies title: Automated Minimum Dependency Updates author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> @@ -76,4 +76,4 @@ jobs: branch: min-dep-update branch-suffix: short-commit-hash base: main - reviewers: thehomebrewnerd, tamargrey, jeff-hernandez \ No newline at end of file + reviewers: angela97lin, dsherry, jeremyliweishih, freddyaboulton, bchen1116, chukarsten, ParthivNaresh \ No newline at end of file From 0ad4881daf1186e519696f66a39115346357e5d4 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 13 May 2021 12:27:51 -0400 Subject: [PATCH 7/7] update release notes branches check --- .github/workflows/minimum_dependency_checker.yml | 2 -- .github/workflows/release_notes_updated.yml | 10 +++++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/minimum_dependency_checker.yml b/.github/workflows/minimum_dependency_checker.yml index 323d4e37fb..f37b86f5b0 100644 --- a/.github/workflows/minimum_dependency_checker.yml +++ b/.github/workflows/minimum_dependency_checker.yml @@ -1,7 +1,5 @@ name: Minimum Dependency Checker on: - pull_request: - types: [opened, synchronize] push: branches: - main diff --git a/.github/workflows/release_notes_updated.yml b/.github/workflows/release_notes_updated.yml index 0ded4d78bc..3befefd663 100644 --- a/.github/workflows/release_notes_updated.yml +++ b/.github/workflows/release_notes_updated.yml @@ -18,8 +18,10 @@ jobs: run: | if [[ $(expr match "${{ github.event.pull_request.head.ref }}" "release_v[0-9.]\+") -gt 0 ]]; then echo This is a release PR; - elif [[ $(expr match "${{ github.event.pull_request.head.ref }}" "dep-update-[a-zA-Z0-9]*") -gt 0 ]]; then - echo This is a dependency update PR; + elif [[ $(expr match "${{ github.event.pull_request.head.ref }}" "latest-dep-update-[a-zA-Z0-9]*") -gt 0 ]]; then + echo This is a latest dependency update PR; + elif [[ $(expr match "${{ github.event.pull_request.head.ref }}" "min-dep-update-[a-zA-Z0-9]*") -gt 0 ]]; then + echo This is a minimum dependency update PR; else echo This is a regular PR; fi @@ -28,7 +30,9 @@ jobs: run: | if [[ $(expr match "${{ github.event.pull_request.head.ref }}" "release_v[0-9.]\+") -gt 0 ]]; then exit 0; - elif [[ $(expr match "${{ github.event.pull_request.head.ref }}" "dep-update-[a-zA-Z0-9]*") -gt 0 ]]; then + elif [[ $(expr match "${{ github.event.pull_request.head.ref }}" "latest-dep-update-[a-zA-Z0-9]*") -gt 0 ]]; then + exit 0; + elif [[ $(expr match "${{ github.event.pull_request.head.ref }}" "min-dep-update-[a-zA-Z0-9]*") -gt 0 ]]; then exit 0; fi cat docs/source/release_notes.rst | grep ":pr:\`${{ github.event.number }}\`"