diff --git a/.github/lychee.toml b/.github/lychee.toml new file mode 100644 index 00000000..eb2ce594 --- /dev/null +++ b/.github/lychee.toml @@ -0,0 +1,42 @@ +# For all options, see + +# Verbose program output +# Accepts log level: "error", "warn", "info", "debug", "trace" +verbose = "info" + +# Interactive progress bar while checking links. +# Disabled for CI usage +no_progress = true + +# Enable link caching. This can be helpful to avoid checking the same links on +# multiple runs. +cache = true + +accept = [ + "200" +] + +# Maximum number of allowed redirects. +max_redirects = 2 + +# Maximum number of allowed retries before a link is declared dead. +max_retries = 2 + +# Only test links with the given schemes +# Omit to check links with any other scheme. +scheme = ["http", "https", "file"] + +# Exclude links +exclude = [ + # Exclude links as cookies needed to be accepted + 'https://developer.arm.com', + # Exclude flaky URL that intermittently times out in CI + 'https://www.gnu.org/software/make/' +] + +# Exclude paths from getting checked. The values are treated as regular expressions +exclude_path = [ + "\\.txt$", # skip .txt extensions + "\\.html$", # skip .html extensions + "testdata/", # skip directories named "testdata" +] diff --git a/.github/markdown-link-check.jsonc b/.github/markdown-link-check.jsonc deleted file mode 100644 index 8ee746d1..00000000 --- a/.github/markdown-link-check.jsonc +++ /dev/null @@ -1,15 +0,0 @@ -{ - "ignorePatterns": [ - { - "pattern": "^https://opensource.org" - } - ], - "httpHeaders": [ - { - "urls": ["https://github.com/", "https://guides.github.com/", "https://help.github.com/", "https://docs.github.com/"], - "headers": { - "Accept-Encoding": "zstd, br, gzip, deflate" - } - } - ], -} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72bfa98e..a18a0683 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ permissions: jobs: build-and-verify: - uses: Open-CMSIS-Pack/workflows-and-actions-collection/.github/workflows/build-and-verify.yml@v1.0.3 + uses: Open-CMSIS-Pack/workflows-and-actions-collection/.github/workflows/build-and-verify.yml@v2.0.0 secrets: QLTY_COVERAGE_TOKEN: ${{ secrets.QLTY_COVERAGE_TOKEN }} with: diff --git a/.github/workflows/markdown.yml b/.github/workflows/markdown.yml index eade1bb9..c4aa5356 100644 --- a/.github/workflows/markdown.yml +++ b/.github/workflows/markdown.yml @@ -5,6 +5,7 @@ on: - '.github/workflows/markdown.yml' - '.github/markdownlint.json' - '.github/markdownlint.jsonc' + - '.github/lychee.toml' - '**/*.md' # Declare default permissions as read only. @@ -12,8 +13,8 @@ permissions: read-all jobs: markdown-check: - uses: Open-CMSIS-Pack/workflows-and-actions-collection/.github/workflows/markdown-lint.yml@v1.0.3 + uses: Open-CMSIS-Pack/workflows-and-actions-collection/.github/workflows/markdown-lint.yml@v2.0.0 with: lint-config: '.github/markdownlint.jsonc' - link-check-config: '.github/markdown-link-check.jsonc' + link-check-config: '.github/lychee.toml' ignore-files: 'third_party_licenses.md' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0309f89d..aa165582 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: permissions: contents: read actions: write - uses: Open-CMSIS-Pack/workflows-and-actions-collection/.github/workflows/build-and-verify.yml@v1.0.3 + uses: Open-CMSIS-Pack/workflows-and-actions-collection/.github/workflows/build-and-verify.yml@v2.0.0 with: program: cpackget test-matrix: '[{"platform":"windows-2022","arch":"amd64"},{"platform":"ubuntu-24.04","arch":"amd64"},{"platform":"macos-14","arch":"amd64"},{"platform":"ubuntu-24.04","arch":"arm64"}]' diff --git a/.github/workflows/update-workflows.yml b/.github/workflows/update-workflows.yml index 9d0160ec..c3b91061 100644 --- a/.github/workflows/update-workflows.yml +++ b/.github/workflows/update-workflows.yml @@ -11,6 +11,6 @@ permissions: jobs: update-workflows: - uses: Open-CMSIS-Pack/workflows-and-actions-collection/.github/workflows/update-workflow.yml@v1.0.3 + uses: Open-CMSIS-Pack/workflows-and-actions-collection/.github/workflows/update-workflow.yml@v2.0.0 secrets: TOKEN_ACCESS: ${{ secrets.GRASCI_WORKFLOW_UPDATE }} diff --git a/DEVELOPING.md b/DEVELOPING.md index 138af925..d2ef5daf 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -6,7 +6,7 @@ Follow steps below to start developing for `cpackget`: - [Install Make](https://www.gnu.org/software/make/) - [Install Golang](https://golang.org/doc/install) -- [Install GolangCI-Lint](https://golangci-lint.run/usage/install/#local-installation) +- [Install GolangCI-Lint](https://golangci-lint.run/docs/welcome/install/local/) 2. Clone the repo: `$ git clone https://github.com/open-cmsis-pack/cpackget.git` diff --git a/README.md b/README.md index bd035bab..444a86ae 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ [![Release](https://github.com/open-cmsis-pack/cpackget/actions/workflows/release.yml/badge.svg)](https://github.com/Open-CMSIS-Pack/cpackget/actions/workflows/release.yml) -[![Build](https://github.com/open-cmsis-pack/cpackget/actions/workflows/build.yml/badge.svg)](https://github.com/open-cmsis-pack/cpackget/actions/workflows/build.yml/badge.svg) -[![Tests](https://github.com/open-cmsis-pack/cpackget/actions/workflows/test.yml/badge.svg)](https://github.com/open-cmsis-pack/cpackget/actions/workflows/test.yml/badge.svg) +[![Build And Test](https://github.com/Open-CMSIS-Pack/cpackget/actions/workflows/ci.yml/badge.svg)](https://github.com/Open-CMSIS-Pack/cpackget/actions/workflows/ci.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/open-cmsis-pack/cpackget)](https://goreportcard.com/report/github.com/open-cmsis-pack/cpackget) [![GoDoc](https://godoc.org/github.com/open-cmsis-pack/cpackget?status.svg)](https://godoc.org/github.com/open-cmsis-pack/cpackget) diff --git a/makefile b/makefile index 6083dfd1..2556bb05 100644 --- a/makefile +++ b/makefile @@ -110,7 +110,7 @@ release: test-all $(PROG) config: @echo "Configuring local environment" @go version 2>/dev/null || echo "Need Golang: https://golang.org/doc/install" - @golangci-lint version 2>/dev/null || echo "Need GolangCi-Lint: https://golangci-lint.run/usage/install/#local-installation" + @golangci-lint version 2>/dev/null || echo "Need GolangCi-Lint: https://golangci-lint.run/docs/welcome/install/local/" # Install pre-commit hooks cp scripts/pre-commit .git/hooks/pre-commit