diff --git a/.github/workflows/stubtest-unused-whitelist.yml b/.github/workflows/stubtest-unused-whitelist.yml index 82a6136d0..2d8f18a54 100644 --- a/.github/workflows/stubtest-unused-whitelist.yml +++ b/.github/workflows/stubtest-unused-whitelist.yml @@ -3,7 +3,7 @@ name: Remove unused stubtest whitelist entries on: workflow_dispatch: schedule: - - cron: '0 4 * * SAT' + - cron: '0 4 * * *' permissions: contents: read @@ -32,7 +32,7 @@ jobs: pip install -U git+git://github.com/python/mypy@master - name: Run stubtest shell: bash - run: ./tests/stubtest_unused.py | tee stubtest-output-${{ matrix.os }}-${{ matrix.python-version }} || true + run: ./tests/stubtest_unused.py | tee stubtest-output-${{ matrix.os }}-${{ matrix.python-version }} - name: Store output uses: actions/upload-artifact@v2 with: @@ -50,6 +50,9 @@ jobs: uses: actions/download-artifact@v2 with: name: stubtest-output + # TODO: maybe mypy_primer should always output forward slashes + - name: Fix slashes + run: sed -i 's:\\:/:g' stubtest-output-windows-* - name: Collate duplicates run: cat stubtest-output-* | sort -u | tee stubtest-output - name: Remove entries from whitelists @@ -61,3 +64,4 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} commit-message: Remove unused stubtest whitelist entries title: "[gh-action] Remove unused stubtest whitelist entries" + base: master diff --git a/tests/stubtest_unused.py b/tests/stubtest_unused.py index 50a17e34f..916806579 100755 --- a/tests/stubtest_unused.py +++ b/tests/stubtest_unused.py @@ -11,18 +11,17 @@ _UNUSED_NOTE = "note: unused allowlist entry " _WHITELIST_PATH = os.path.join("tests", "stubtest_whitelists") -def main() -> int: +def main() -> None: unused = run_stubtest() with_filenames = [] for uu in unused: with_filenames.extend(unused_files(uu)) for file, uu in with_filenames: print(file + ":" + uu) - return 1 if with_filenames else 0 def run_stubtest() -> List[str]: - proc = subprocess.run(["./tests/stubtest_test.py"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + proc = subprocess.run([sys.executable, "tests/stubtest_test.py"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = proc.stdout.decode("utf-8").splitlines() return [line[len(_UNUSED_NOTE) :].strip() for line in output if line.startswith(_UNUSED_NOTE)] @@ -49,4 +48,4 @@ def find_unused_in_file(unused: str, path: str) -> bool: if __name__ == "__main__": - sys.exit(main()) + main()