Changes: - It is now possible to only check for duplicate links (without checking if the links are working) - Check for duplicate links when a push occurs - Update the scripts documentation accordinglypull/3011/head
@@ -31,3 +31,7 @@ jobs: | |||||
- name: Validate pull request changes | - name: Validate pull request changes | ||||
run: scripts/github_pull_request.sh ${{ github.repository }} ${{ github.event.pull_request.number }} ${FILENAME} | run: scripts/github_pull_request.sh ${{ github.repository }} ${{ github.event.pull_request.number }} ${FILENAME} | ||||
if: github.event_name == 'pull_request' | if: github.event_name == 'pull_request' | ||||
- name: Checking if push changes are duplicated | |||||
run: python scripts/validate/links.py ${FILENAME} --only_duplicate_links_checker | |||||
if: github.event_name == 'push' |
@@ -40,6 +40,14 @@ To run link validation on the `README.md` file, being in the root directory of p | |||||
$ python scripts/validate/links.py README.md | $ python scripts/validate/links.py README.md | ||||
``` | ``` | ||||
As there are many links to check, this process can take some time. If your goal is not to check if the links are working, you can only check for duplicate links. Run: | |||||
```bash | |||||
$ python scripts/validate/links.py README.md -odlc | |||||
``` | |||||
*`-odlc` is an abbreviation of `--only_duplicate_links_checker`* | |||||
## Running Tests | ## Running Tests | ||||
To run all tests it is necessary to change to the scripts directory: | To run all tests it is necessary to change to the scripts directory: | ||||
@@ -241,21 +241,32 @@ def start_links_working_checker(links: List[str]) -> None: | |||||
sys.exit(1) | sys.exit(1) | ||||
def main(filename: str) -> None: | |||||
def main(filename: str, only_duplicate_links_checker: bool) -> None: | |||||
links = find_links_in_file(filename) | links = find_links_in_file(filename) | ||||
start_duplicate_links_checker(links) | start_duplicate_links_checker(links) | ||||
start_links_working_checker(links) | |||||
if not only_duplicate_links_checker: | |||||
start_links_working_checker(links) | |||||
if __name__ == '__main__': | if __name__ == '__main__': | ||||
num_args = len(sys.argv) | num_args = len(sys.argv) | ||||
only_duplicate_links_checker = False | |||||
if num_args < 2: | if num_args < 2: | ||||
print('No .md file passed') | print('No .md file passed') | ||||
sys.exit(1) | sys.exit(1) | ||||
elif num_args == 3: | |||||
third_arg = sys.argv[2].lower() | |||||
if third_arg == '-odlc' or third_arg == '--only_duplicate_links_checker': | |||||
only_duplicate_links_checker = True | |||||
else: | |||||
print(f'Third invalid argument. Usage: python {__file__} [-odlc | --only_duplicate_links_checker]') | |||||
sys.exit(1) | |||||
filename = sys.argv[1] | filename = sys.argv[1] | ||||
main(filename) | |||||
main(filename, only_duplicate_links_checker) |