diff --git a/.github/workflows/cos.yaml b/.github/workflows/cos.yaml index 8b8b5bc..fe5dd1b 100644 --- a/.github/workflows/cos.yaml +++ b/.github/workflows/cos.yaml @@ -11,17 +11,19 @@ jobs: steps: - name: checkout - uses: actions/checkout@master - - - name: install dependencies - run: | - sudo pip install coscmd - sudo pip install tccli - npm i + uses: actions/checkout@v3 + + - name: install doc dependencies + run: sudo npm i - name: build run: | npm run docs:build + + - name: install coscmd and tccli + run: | + sudo pip3 install coscmd + sudo pip3 install tccli - name: confirgure coscmd and tccli env: @@ -38,4 +40,4 @@ jobs: - name: upload and refresh cdn run: | coscmd upload -rfs --delete ./.vitepress/dist/ / - tccli cdn PurgePathCache --cli-unfold-argument --Paths https://wiki.xyxsw.site/ --FlushType flush \ No newline at end of file + tccli cdn PurgePathCache --cli-unfold-argument --Paths https://wiki.xyxsw.site/ --FlushType flush diff --git a/.github/workflows/link-pr.yaml b/.github/workflows/link-pr.yaml new file mode 100644 index 0000000..54efb3e --- /dev/null +++ b/.github/workflows/link-pr.yaml @@ -0,0 +1,40 @@ +name: links when pr + +on: + pull_request: + branches: [ master ] + paths: + - '**.md' + - '.lycheeignore' + +jobs: + linkChecker: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + + - name: install doc dependencies + run: sudo npm i + + - name: build + run: | + npm run docs:build + + - name: Link Checker + uses: lycheeverse/lychee-action@v1.8.0 + with: + fail: true + # For parameter description, see https://github.com/lycheeverse/lychee#commandline-parameters + # -E, --exclude-all-private Exclude all private IPs from checking. + # -i, --insecure Proceed for server connections considered insecure (invalid TLS) + # -n, --no-progress Do not show progress bar. + # -t, --timeout Website timeout in seconds from connect to response finished [default:20] + # --max-concurrency Maximum number of concurrent network requests [default: 128] + # -a --accept Comma-separated list of accepted status codes for valid links + + # .vitepress/dist the site directory to check + # *.md all markdown files in the root directory + args: -E -i -n -t 45 --max-concurrency 64 -a 401,403 -- '.vitepress/dist' '*.md' + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/link-schedule.yaml b/.github/workflows/link-schedule.yaml new file mode 100644 index 0000000..ea6cabd --- /dev/null +++ b/.github/workflows/link-schedule.yaml @@ -0,0 +1,45 @@ +name: links + +on: + # repository_dispatch: + workflow_dispatch: + schedule: + - cron: "30 8 * * *" + +jobs: + linkChecker: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + + - name: install doc dependencies + run: sudo npm i + + - name: build + run: | + npm run docs:build + + - name: Link Checker + uses: lycheeverse/lychee-action@v1.8.0 + with: + # For parameter description, see https://github.com/lycheeverse/lychee#commandline-parameters + # -E, --exclude-all-private Exclude all private IPs from checking. + # -i, --insecure Proceed for server connections considered insecure (invalid TLS) + # -n, --no-progress Do not show progress bar. + # -t, --timeout Website timeout in seconds from connect to response finished [default:20] + # --max-concurrency Maximum number of concurrent network requests [default: 128] + # -a --accept Comma-separated list of accepted status codes for valid links + + # .vitepress/dist the site directory to check + # *.md all markdown files in the root directory + args: -E -i -n -t 45 --max-concurrency 64 -a 401,403 -- '.vitepress/dist' '*.md' + output: out.md + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + - name: Create Issue From File + uses: peter-evans/create-issue-from-file@v3 + with: + title: Broken Link Detected + content-filepath: out.md + assignees: nightwhite diff --git a/.gitignore b/.gitignore index 03d85d5..8040e26 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules dist cache -.temp \ No newline at end of file +.temp +.vitepress/dist diff --git a/.lycheeignore b/.lycheeignore new file mode 100644 index 0000000..e483565 --- /dev/null +++ b/.lycheeignore @@ -0,0 +1,2 @@ +hdu-cs-wiki/edit +file://