This is an automated email from the ASF dual-hosted git repository.

ronething pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git


The following commit(s) were added to refs/heads/next by this push:
     new 8bf55a0c chore(ci): update workflows  (#2420)
8bf55a0c is described below

commit 8bf55a0ce4679f1c6caa1542d18f46257a8d2f6c
Author: Ashing Zheng <axing...@gmail.com>
AuthorDate: Tue Jun 24 09:26:45 2025 +0800

    chore(ci): update workflows  (#2420)
    
    Signed-off-by: ashing <axing...@gmail.com>
---
 .github/actions/markdown-link-check       |   1 +
 .github/actions/paths-filter              |   1 +
 .github/workflows/codeql-analysis.yml     |  24 ++++++-
 .github/workflows/dependency-review.yml   |  37 ++++++++++
 .github/workflows/lint-checker.yml        | 115 ++++++++++++++++++++++++++++++
 .github/workflows/push-docker-v2-dev.yaml |  44 ------------
 .github/workflows/push-docker.yaml        |   5 +-
 .github/workflows/stale.yml               |  71 ++++++++++++++++++
 .github/workflows/yamllint-checker.yml    |  61 ++++++++++++++++
 .gitmodules                               |   6 ++
 link-check-config.json                    |  32 +++++++++
 11 files changed, 349 insertions(+), 48 deletions(-)

diff --git a/.github/actions/markdown-link-check 
b/.github/actions/markdown-link-check
new file mode 160000
index 00000000..0524e79d
--- /dev/null
+++ b/.github/actions/markdown-link-check
@@ -0,0 +1 @@
+Subproject commit 0524e79d8d7d1606112722dd7a3b5f5ce367de3e
diff --git a/.github/actions/paths-filter b/.github/actions/paths-filter
new file mode 160000
index 00000000..de90cc6f
--- /dev/null
+++ b/.github/actions/paths-filter
@@ -0,0 +1 @@
+Subproject commit de90cc6fb38fc0963ad72b210f1f284cd68cea36
diff --git a/.github/workflows/codeql-analysis.yml 
b/.github/workflows/codeql-analysis.yml
index f5bd49bd..f2e591fc 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -24,15 +24,37 @@ on:
   pull_request:
     branches:
       - master
-      - release-v2-dev
+      - next
       - 1.8.0
   schedule:
     - cron: '25 5 * * 5'
 
 jobs:
+  changes:
+    runs-on: ubuntu-latest
+    outputs:
+      go: ${{ steps.filter.outputs.go }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+        with:
+          submodules: recursive
+
+      - uses: ./.github/actions/paths-filter
+        id: filter
+        with:
+          token: ${{ secrets.GITHUB_TOKEN }}
+          filters: |
+            go:
+              - '*.go'
+              - '**/*.go'
   analyze:
     name: Analyze
     runs-on: ubuntu-latest
+
+    needs: changes
+    if: |
+      (needs.changes.outputs.go == 'true')
     strategy:
       fail-fast: false
       matrix:
diff --git a/.github/workflows/dependency-review.yml 
b/.github/workflows/dependency-review.yml
new file mode 100644
index 00000000..c72a4efc
--- /dev/null
+++ b/.github/workflows/dependency-review.yml
@@ -0,0 +1,37 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+name: 'Dependency Review'
+on: 
+  pull_request:
+    branches:
+      - master
+      - next
+      - 1.8.0
+
+permissions:
+  contents: read
+
+jobs:
+  dependency-review:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+      - name: 'Dependency Review'
+        uses: actions/dependency-review-action@v3
diff --git a/.github/workflows/lint-checker.yml 
b/.github/workflows/lint-checker.yml
new file mode 100644
index 00000000..17e0e5a0
--- /dev/null
+++ b/.github/workflows/lint-checker.yml
@@ -0,0 +1,115 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+name: lint-checker-ci
+
+on:
+  push:
+    branches:
+      - master
+  pull_request:
+    branches:
+      - master
+      - next
+      - 1.8.0
+jobs:
+  changes:
+    runs-on: ubuntu-latest
+    outputs:
+      docs: ${{ steps.filter.outputs.docs }}
+      go: ${{ steps.filter.outputs.go }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+        with:
+          submodules: recursive
+
+      - uses: ./.github/actions/paths-filter
+        id: filter
+        with:
+          token: ${{ secrets.GITHUB_TOKEN }}
+          filters: |
+            docs:
+              - 'docs/**/*'
+              - '*.md'
+            go:
+              - '*.go'
+              - '**/*.go'
+              - 'go.mod'
+              - 'go.sum'
+              - 'Makefile'
+              - 'Dockerfile'
+              - 'test/e2e/**/*'
+              - 'conf/**'
+              - 'utils/**'
+              - ".github/**"
+
+  run-test:
+    needs: changes
+    if: |
+      (needs.changes.outputs.go == 'true')
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - name: Setup Go Env
+        uses: actions/setup-go@v4
+        with:
+          go-version: '1.22'
+      - name: run gofmt
+        working-directory: ./
+        run: |
+          diffs=`gofmt -l .`
+          if [[ -n $diffs ]]; then
+              echo "Files are not formatted by gofmt:"
+              echo $diffs
+              exit 1
+          fi
+  markdownlint:
+    needs: changes
+    if: |
+      (needs.changes.outputs.docs == 'true')
+    name: 🍇 Markdown
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - name: 🚀 Use Node.js
+        uses: actions/setup-node@v3
+        with:
+          node-version: '20.7.x'
+      - run: npm install -g markdownlint-cli@0.36.0
+      - run: markdownlint '**/*.md' --ignore node_modules --ignore 
CHANGELOG.md --ignore docs/en/latest/references/v2.md
+  markdown-link-check:
+    needs: changes
+    if: |
+      (needs.changes.outputs.docs == 'true')
+    runs-on: ubuntu-latest
+    name: Check Markdown links
+    steps:
+      - uses: actions/checkout@v4
+        with:
+          submodules: recursive
+      - uses: ./.github/actions/markdown-link-check
+        with:
+          use-quiet-mode: 'yes'
+          use-verbose-mode: 'yes'
+          config-file: 'link-check-config.json'
+          folder-path: 'docs/en'
+          file-path: './README.md, ./install.md, ./test/e2e/README.md'
+          max-depth: -1
+          file-extension: ".md"
+          check-modified-files-only: "no"
diff --git a/.github/workflows/push-docker-v2-dev.yaml 
b/.github/workflows/push-docker-v2-dev.yaml
deleted file mode 100644
index e4ca8d2d..00000000
--- a/.github/workflows/push-docker-v2-dev.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-name: push v2-dev on dockerhub
-on:
-  release:
-    types: [ published ]
-  push:
-    branches:
-    - release-v2-dev
-  workflow_dispatch:
-jobs:
-  docker:
-    runs-on: ubuntu-latest
-    steps:
-    - name: Checkout
-      uses: actions/checkout@v4
-      with:
-        submodules: recursive
-
-    - name: Setup Go Env
-      uses: actions/setup-go@v4
-      with:
-        go-version: "1.22"
-
-#    - name: Set up QEMU
-#      uses: docker/setup-qemu-action@v3
-#
-#    - name: Set up Docker Buildx
-#      uses: docker/setup-buildx-action@v3
-
-    - name: Login to Registry
-      uses: docker/login-action@v3
-      with:
-        registry: ${{ secrets.DOCKER_REGISTRY }}
-        username: ${{ secrets.DOCKER_USERNAME }}
-        password: ${{ secrets.DOCKER_PASSWORD }}
-
-    - name: Build push image
-      env:
-        TAG: dev
-        ARCH: amd64
-        ENABLE_PROXY: "false"
-        BASE_IMAGE_TAG: "debug"
-      run: |
-        echo "building images..."
-        make build-push-image
diff --git a/.github/workflows/push-docker.yaml 
b/.github/workflows/push-docker.yaml
index 3103c70e..99612ea1 100644
--- a/.github/workflows/push-docker.yaml
+++ b/.github/workflows/push-docker.yaml
@@ -27,9 +27,8 @@ jobs:
       - name: Login to Registry
         uses: docker/login-action@v3
         with:
-          registry: ${{ secrets.DOCKER_REGISTRY }}
-          username: ${{ secrets.DOCKER_USERNAME }}
-          password: ${{ secrets.DOCKER_PASSWORD }}
+          username: ${{ secrets.DOCKERHUB_USER }}
+          password: ${{ secrets.DOCKERHUB_TOKEN }}
       -
         name: Build and push multi-arch image
         env:
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
new file mode 100644
index 00000000..3ed85e9d
--- /dev/null
+++ b/.github/workflows/stale.yml
@@ -0,0 +1,71 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+name: 'Close stale issues and PRs'
+
+on:
+  workflow_dispatch:
+  schedule:
+    - cron: '0 1 * * *'
+
+permissions:
+  contents: read
+
+jobs:
+  stale:
+    permissions:
+      issues: write  # for actions/stale to close stale issues
+      pull-requests: write  # for actions/stale to close stale PRs
+    name: Prune Stale
+    runs-on: ubuntu-latest
+    timeout-minutes: 10
+
+    steps:
+      - uses: actions/stale@v5
+        with:
+          days-before-issue-stale: 90
+          days-before-issue-close: 30
+          stale-issue-message: >
+            This issue has been marked as stale due to 90 days of inactivity.
+            It will be closed in 30 days if no further activity occurs. If 
this issue is still
+            relevant, please simply write any comment. Even if closed, you can 
still revive the
+            issue at any time or discuss it on the d...@apisix.apache.org list.
+            Thank you for your contributions.
+          close-issue-message: >
+            This issue has been closed due to lack of activity. If you think 
that
+            is incorrect, or the issue requires additional review, you can 
revive the issue at
+            any time.
+          days-before-pr-stale: 60
+          days-before-pr-close: 30
+          stale-pr-message: >
+            This pull request has been marked as stale due to 60 days of 
inactivity.
+            It will be closed in 30 days if no further activity occurs. If you 
think
+            that's incorrect or this pull request should instead be reviewed, 
please simply
+            write any comment. Even if closed, you can still revive the PR at 
any time or
+            discuss it on the d...@apisix.apache.org list.
+            Thank you for your contributions.
+          close-pr-message: >
+            This pull request/issue has been closed due to lack of activity. 
If you think that
+            is incorrect, or the pull request requires review, you can revive 
the PR at any time.
+          # Issues with these labels will never be considered stale.
+          exempt-issue-labels: 'triage/accepted,discuss,good first issue'
+          exempt-pr-labels: 'triage/accepted'
+          exempt-all-milestones: true
+          stale-issue-label: 'stale'
+          stale-pr-label: 'stale'
+          ascending: true
diff --git a/.github/workflows/yamllint-checker.yml 
b/.github/workflows/yamllint-checker.yml
new file mode 100644
index 00000000..e14c33c5
--- /dev/null
+++ b/.github/workflows/yamllint-checker.yml
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: yamllint-checker
+
+on:
+  push:
+    branches:
+      - master
+  pull_request:
+    branches:
+      - master
+      - next
+      - 1.8.0
+jobs:
+  changes:
+    runs-on: ubuntu-latest
+    outputs:
+      yaml: ${{ steps.filter.outputs.yaml }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+        with:
+          submodules: recursive
+
+      - uses: ./.github/actions/paths-filter
+        id: filter
+        with:
+          token: ${{ secrets.GITHUB_TOKEN }}
+          # focus on `samples/deploy` yaml files directory
+          filters: |
+            yaml:
+              - 'samples/deploy/**/*'
+  yamllint-checker:
+    needs: changes
+    if: |
+      (needs.changes.outputs.yaml == 'true')
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/setup-python@v4
+        with:
+          python-version: '3.10'
+      - run: pip install yamllint==1.29.0
+      - name: 🚀 Run yamllint
+        run: yamllint samples/deploy  # focus on `samples/deploy` yaml files 
directory
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000..1510d103
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,6 @@
+[submodule ".github/actions/paths-filter"]
+       path = .github/actions/paths-filter
+       url = https://github.com/dorny/paths-filter.git
+[submodule ".github/actions/markdown-link-check"]
+       path = .github/actions/markdown-link-check
+       url = 
https://github.com/gaurav-nelson/github-action-markdown-link-check.git
diff --git a/link-check-config.json b/link-check-config.json
new file mode 100644
index 00000000..12cb61b9
--- /dev/null
+++ b/link-check-config.json
@@ -0,0 +1,32 @@
+{
+  "ignorePatterns": [
+    {
+      "pattern": "^https://github.com/.*?/issue";
+    },
+    {
+      "pattern": "^https://github.com/.*?/pull";
+    },
+    {
+      "pattern": "^#"
+    }
+  ],
+  "replacementPatterns": [
+    {
+      "pattern": 
"^https://github.com/apache/apisix-ingress-controller/blob/master/";,
+      "replacement": "{{BASEURL}}/"
+    },
+    {
+      "pattern": 
"^https://github.com/apache/apisix-ingress-controller/tree/master/";,
+      "replacement": "{{BASEURL}}/"
+    },
+    {
+      "pattern": "^https://apisix.apache.org/docs/ingress-controller/(.*?)$",
+      "replacement": "{{BASEURL}}/docs/en/latest/$1.md"
+    }
+  ],
+  "timeout": "20s",
+  "retryOn429": true,
+  "retryCount": 5,
+  "fallbackRetryDelay": "30s",
+  "aliveStatusCodes": [200, 206]
+}

Reply via email to