You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ossie.apache.org by jb...@apache.org on 2026/09/29 04:20:45 UTC

(ossie) branch main updated: Infra: normalize github workflows (#480)

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

jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ossie.git


The following commit(s) were added to refs/heads/main by this push:
     new 5344703b Infra: normalize github workflows (#480)
5344703b is described below

commit 5344703b79fe8f01028bfa183449c8ab17c4a261
Author: Yong Zheng <yo...@gmail.com>
AuthorDate: Mon Sep 28 23:20:38 2026 -0500

    Infra: normalize github workflows (#480)
---
 .github/workflows/auto-label-issues.yml        |  2 +-
 .github/workflows/auto-label-prs.yml           |  6 +++---
 .github/workflows/cli-ci.yml                   |  7 +++++--
 .github/workflows/community-pr-helper.yml      |  3 ++-
 .github/workflows/converter-cube-ci.yml        | 10 +++++++---
 .github/workflows/converter-databricks-ci.yml  | 10 +++++++---
 .github/workflows/converter-dbt-ci.yml         | 10 +++++++---
 .github/workflows/converter-gooddata-ci.yml    | 14 +++++++++-----
 .github/workflows/converter-honeydew-ci.yml    | 14 +++++++++-----
 .github/workflows/converter-microsoft-ci.yml   | 16 ++++++++++------
 .github/workflows/converter-nvidia-ci.yml      | 10 +++++++---
 .github/workflows/converter-omni-ci.yml        | 14 +++++++++-----
 .github/workflows/converter-ontology-ci.yml    | 10 +++++++---
 .github/workflows/converter-orionbelt-ci.yml   | 14 +++++++++-----
 .github/workflows/converter-polaris-ci.yml     |  3 +++
 .github/workflows/converter-salesforce-ci.yml  |  3 +++
 .github/workflows/converter-sigma-ci.yml       | 10 +++++++---
 .github/workflows/converter-snowflake-ci.yml   | 14 +++++++++-----
 .github/workflows/converter-thoughtspot-ci.yml | 10 +++++++---
 .github/workflows/converter-wisdom-ci.yml      |  6 +++---
 .github/workflows/dependency-review.yml        |  4 ++--
 .github/workflows/license-check.yml            |  2 +-
 .github/workflows/remove-awaiting-response.yml |  3 ++-
 .github/workflows/stale.yml                    |  2 +-
 .github/workflows/validation-ci.yml            | 10 +++++++---
 25 files changed, 137 insertions(+), 70 deletions(-)

diff --git a/.github/workflows/auto-label-issues.yml b/.github/workflows/auto-label-issues.yml
index d05971d5..9a5e03d4 100644
--- a/.github/workflows/auto-label-issues.yml
+++ b/.github/workflows/auto-label-issues.yml
@@ -29,7 +29,7 @@ jobs:
     if: github.repository_owner == 'apache'
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/github-script@v9
+      - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
         with:
           script: |
             const label = 'needs-triage';
diff --git a/.github/workflows/auto-label-prs.yml b/.github/workflows/auto-label-prs.yml
index 6de5a81c..7f33a538 100644
--- a/.github/workflows/auto-label-prs.yml
+++ b/.github/workflows/auto-label-prs.yml
@@ -31,8 +31,8 @@ jobs:
     if: github.repository_owner == 'apache'
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v7
-      - uses: actions/github-script@v9
+      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+      - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
         with:
           script: |
             const fs = require('fs');
@@ -58,7 +58,7 @@ jobs:
                 }
               }
             }
-      - uses: actions/labeler@v7
+      - uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
         with:
           repo-token: ${{ secrets.GITHUB_TOKEN }}
           sync-labels: true
diff --git a/.github/workflows/cli-ci.yml b/.github/workflows/cli-ci.yml
index 1d4df0c0..4c7a9ac8 100644
--- a/.github/workflows/cli-ci.yml
+++ b/.github/workflows/cli-ci.yml
@@ -29,6 +29,9 @@ on:
       - 'cli/**'
       - '.github/workflows/cli-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build-and-test:
     name: Build and test
@@ -39,10 +42,10 @@ jobs:
 
     steps:
       - name: Checkout
-        uses: actions/checkout@v7
+        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
 
       - name: Set up Go
-        uses: actions/setup-go@v7
+        uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
         with:
           go-version-file: cli/go.mod
           cache-dependency-path: cli/go.sum
diff --git a/.github/workflows/community-pr-helper.yml b/.github/workflows/community-pr-helper.yml
index 89a81502..6b904937 100644
--- a/.github/workflows/community-pr-helper.yml
+++ b/.github/workflows/community-pr-helper.yml
@@ -22,6 +22,7 @@ on:
     types: [opened]
 
 permissions:
+  contents: read
   pull-requests: write
 
 jobs:
@@ -29,7 +30,7 @@ jobs:
     if: github.repository_owner == 'apache'
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/github-script@v9
+      - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
         with:
           script: |
             // Only greet first-time contributors — search for prior PRs by this author
diff --git a/.github/workflows/converter-cube-ci.yml b/.github/workflows/converter-cube-ci.yml
index 4db6fcc4..7838458d 100644
--- a/.github/workflows/converter-cube-ci.yml
+++ b/.github/workflows/converter-cube-ci.yml
@@ -31,10 +31,14 @@ on:
       - 'converters/cube/**'
       - '.github/workflows/converter-cube-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.11", "3.12", "3.13", "3.14"]
 
@@ -48,9 +52,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/cube
diff --git a/.github/workflows/converter-databricks-ci.yml b/.github/workflows/converter-databricks-ci.yml
index 2f123d8d..c2c236fe 100644
--- a/.github/workflows/converter-databricks-ci.yml
+++ b/.github/workflows/converter-databricks-ci.yml
@@ -35,10 +35,14 @@ on:
       - 'examples/**'
       - '.github/workflows/converter-databricks-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   python:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.11", "3.12", "3.13", "3.14"]
     defaults:
@@ -55,9 +59,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         run: |
diff --git a/.github/workflows/converter-dbt-ci.yml b/.github/workflows/converter-dbt-ci.yml
index 641d51b7..62542bfc 100644
--- a/.github/workflows/converter-dbt-ci.yml
+++ b/.github/workflows/converter-dbt-ci.yml
@@ -37,10 +37,14 @@ on:
       - 'python/**'
       - '.github/workflows/converter-dbt-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.11", "3.12", "3.13", "3.14"]
 
@@ -54,9 +58,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/dbt
diff --git a/.github/workflows/converter-gooddata-ci.yml b/.github/workflows/converter-gooddata-ci.yml
index 30654ad9..5bf31185 100644
--- a/.github/workflows/converter-gooddata-ci.yml
+++ b/.github/workflows/converter-gooddata-ci.yml
@@ -26,19 +26,23 @@ on:
       - 'converters/gooddata/**'
       - 'core-spec/**'
       - 'examples/**'
-      - '.github/workflows/converter-gooddata-ci.yml'    
+      - '.github/workflows/converter-gooddata-ci.yml'
   pull_request:
     branches: [ "main" ]
     paths:
       - 'converters/gooddata/**'
       - 'core-spec/**'
       - 'examples/**'
-      - '.github/workflows/converter-gooddata-ci.yml'    
+      - '.github/workflows/converter-gooddata-ci.yml'
+
+permissions:
+  contents: read
 
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.12", "3.13", "3.14"]
 
@@ -52,9 +56,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/gooddata
diff --git a/.github/workflows/converter-honeydew-ci.yml b/.github/workflows/converter-honeydew-ci.yml
index 8d46abb7..6cc56b26 100644
--- a/.github/workflows/converter-honeydew-ci.yml
+++ b/.github/workflows/converter-honeydew-ci.yml
@@ -26,19 +26,23 @@ on:
       - 'converters/honeydew/**'
       - 'core-spec/**'
       - 'examples/**'
-      - '.github/workflows/converter-honeydew-ci.yml'    
+      - '.github/workflows/converter-honeydew-ci.yml'
   pull_request:
     branches: [ "main" ]
     paths:
       - 'converters/honeydew/**'
       - 'core-spec/**'
       - 'examples/**'
-      - '.github/workflows/converter-honeydew-ci.yml'    
+      - '.github/workflows/converter-honeydew-ci.yml'
+
+permissions:
+  contents: read
 
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
 
@@ -52,9 +56,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/honeydew
diff --git a/.github/workflows/converter-microsoft-ci.yml b/.github/workflows/converter-microsoft-ci.yml
index a6ddde5b..6d6753c3 100644
--- a/.github/workflows/converter-microsoft-ci.yml
+++ b/.github/workflows/converter-microsoft-ci.yml
@@ -35,10 +35,14 @@ on:
       - 'examples/**'
       - '.github/workflows/converter-microsoft-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
 
@@ -52,9 +56,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/microsoft
@@ -102,9 +106,9 @@ jobs:
           dotnet-version: "8.0.x"
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Install optional TOM dependencies
         working-directory: converters/microsoft
diff --git a/.github/workflows/converter-nvidia-ci.yml b/.github/workflows/converter-nvidia-ci.yml
index fb09cae9..32ef91fa 100644
--- a/.github/workflows/converter-nvidia-ci.yml
+++ b/.github/workflows/converter-nvidia-ci.yml
@@ -35,10 +35,14 @@ on:
       - 'examples/**'
       - '.github/workflows/converter-nvidia-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.11", "3.12", "3.13", "3.14"]
 
@@ -52,9 +56,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/nvidia
diff --git a/.github/workflows/converter-omni-ci.yml b/.github/workflows/converter-omni-ci.yml
index 4f56ac53..c2bf15cf 100644
--- a/.github/workflows/converter-omni-ci.yml
+++ b/.github/workflows/converter-omni-ci.yml
@@ -26,19 +26,23 @@ on:
       - 'converters/omni/**'
       - 'core-spec/**'
       - 'examples/**'
-      - '.github/workflows/converter-omni-ci.yml'    
+      - '.github/workflows/converter-omni-ci.yml'
   pull_request:
     branches: [ "main" ]
     paths:
       - 'converters/omni/**'
       - 'core-spec/**'
       - 'examples/**'
-      - '.github/workflows/converter-omni-ci.yml'    
+      - '.github/workflows/converter-omni-ci.yml'
+
+permissions:
+  contents: read
 
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
 
@@ -52,9 +56,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/omni
diff --git a/.github/workflows/converter-ontology-ci.yml b/.github/workflows/converter-ontology-ci.yml
index b3fe56a4..646bd4d9 100644
--- a/.github/workflows/converter-ontology-ci.yml
+++ b/.github/workflows/converter-ontology-ci.yml
@@ -37,10 +37,14 @@ on:
       - 'examples/**'
       - '.github/workflows/converter-ontology-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.11", "3.12", "3.13", "3.14"]
 
@@ -54,9 +58,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/ontology
diff --git a/.github/workflows/converter-orionbelt-ci.yml b/.github/workflows/converter-orionbelt-ci.yml
index 9c8e95e9..0b3e2e3e 100644
--- a/.github/workflows/converter-orionbelt-ci.yml
+++ b/.github/workflows/converter-orionbelt-ci.yml
@@ -27,7 +27,7 @@ on:
       - 'core-spec/**'
       - 'ontology/**'
       - 'examples/**'
-      - '.github/workflows/converter-orionbelt-ci.yml'    
+      - '.github/workflows/converter-orionbelt-ci.yml'
   pull_request:
     branches: [ "main" ]
     paths:
@@ -35,12 +35,16 @@ on:
       - 'core-spec/**'
       - 'ontology/**'
       - 'examples/**'
-      - '.github/workflows/converter-orionbelt-ci.yml'    
+      - '.github/workflows/converter-orionbelt-ci.yml'
+
+permissions:
+  contents: read
 
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.12", "3.13", "3.14"]
 
@@ -54,9 +58,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/orionbelt
diff --git a/.github/workflows/converter-polaris-ci.yml b/.github/workflows/converter-polaris-ci.yml
index c4572c52..2e27e277 100644
--- a/.github/workflows/converter-polaris-ci.yml
+++ b/.github/workflows/converter-polaris-ci.yml
@@ -35,6 +35,9 @@ on:
       - 'examples/**'
       - '.github/workflows/converter-polaris-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/converter-salesforce-ci.yml b/.github/workflows/converter-salesforce-ci.yml
index 68e0677e..2fde82a8 100644
--- a/.github/workflows/converter-salesforce-ci.yml
+++ b/.github/workflows/converter-salesforce-ci.yml
@@ -35,6 +35,9 @@ on:
       - 'examples/**'
       - '.github/workflows/converter-salesforce-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/converter-sigma-ci.yml b/.github/workflows/converter-sigma-ci.yml
index 85d51176..0d904d4a 100644
--- a/.github/workflows/converter-sigma-ci.yml
+++ b/.github/workflows/converter-sigma-ci.yml
@@ -37,10 +37,14 @@ on:
       - 'python/**'
       - '.github/workflows/converter-sigma-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.11", "3.12", "3.13", "3.14"]
 
@@ -54,9 +58,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/sigma
diff --git a/.github/workflows/converter-snowflake-ci.yml b/.github/workflows/converter-snowflake-ci.yml
index b0df8031..f98d5c7e 100644
--- a/.github/workflows/converter-snowflake-ci.yml
+++ b/.github/workflows/converter-snowflake-ci.yml
@@ -26,19 +26,23 @@ on:
       - 'converters/snowflake/**'
       - 'core-spec/**'
       - 'examples/**'
-      - '.github/workflows/converter-snowflake-ci.yml'    
+      - '.github/workflows/converter-snowflake-ci.yml'
   pull_request:
     branches: [ "main" ]
     paths:
       - 'converters/snowflake/**'
       - 'core-spec/**'
       - 'examples/**'
-      - '.github/workflows/converter-snowflake-ci.yml'    
+      - '.github/workflows/converter-snowflake-ci.yml'
+
+permissions:
+  contents: read
 
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.11", "3.12", "3.13", "3.14"]
 
@@ -52,9 +56,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/snowflake
diff --git a/.github/workflows/converter-thoughtspot-ci.yml b/.github/workflows/converter-thoughtspot-ci.yml
index 5be52ae3..b33fbfed 100644
--- a/.github/workflows/converter-thoughtspot-ci.yml
+++ b/.github/workflows/converter-thoughtspot-ci.yml
@@ -39,10 +39,14 @@ on:
       - 'examples/**'
       - '.github/workflows/converter-thoughtspot-ci.yml'
 
+permissions:
+  contents: read
+
 jobs:
   build:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
 
@@ -56,9 +60,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/thoughtspot
diff --git a/.github/workflows/converter-wisdom-ci.yml b/.github/workflows/converter-wisdom-ci.yml
index b79c0043..dfedbe8c 100644
--- a/.github/workflows/converter-wisdom-ci.yml
+++ b/.github/workflows/converter-wisdom-ci.yml
@@ -58,9 +58,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Sync dependencies
         working-directory: converters/wisdom
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
index e424397e..35bc9da8 100644
--- a/.github/workflows/dependency-review.yml
+++ b/.github/workflows/dependency-review.yml
@@ -30,8 +30,8 @@ jobs:
     if: github.repository_owner == 'apache'
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v7
-      - uses: actions/dependency-review-action@v5
+      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+      - uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
         with:
           deny-licenses: GPL-1.0-only, GPL-1.0-or-later, GPL-2.0-only, GPL-2.0-or-later, GPL-3.0-only, GPL-3.0-or-later, LGPL-2.0-only, LGPL-2.0-or-later, LGPL-2.1-only, LGPL-2.1-or-later, LGPL-3.0-only, LGPL-3.0-or-later, AGPL-1.0-only, AGPL-1.0-or-later, AGPL-3.0-only, AGPL-3.0-or-later, SSPL-1.0, EUPL-1.1, EUPL-1.2
           comment-summary-in-pr: always
diff --git a/.github/workflows/license-check.yml b/.github/workflows/license-check.yml
index 5b80db66..b49b5735 100644
--- a/.github/workflows/license-check.yml
+++ b/.github/workflows/license-check.yml
@@ -28,7 +28,7 @@ jobs:
     if: github.repository_owner == 'apache'
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v7
+      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
         with:
           persist-credentials: false
       - name: Run Apache RAT
diff --git a/.github/workflows/remove-awaiting-response.yml b/.github/workflows/remove-awaiting-response.yml
index 72b158c0..6194065d 100644
--- a/.github/workflows/remove-awaiting-response.yml
+++ b/.github/workflows/remove-awaiting-response.yml
@@ -26,6 +26,7 @@ on:
     types: [synchronize]
 
 permissions:
+  contents: read
   issues: write
   pull-requests: write
 
@@ -34,7 +35,7 @@ jobs:
     if: github.repository_owner == 'apache'
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/github-script@v9
+      - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
         with:
           script: |
             const issue = context.issue || context.payload.pull_request;
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 920cb5d2..ad2e13b8 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -31,7 +31,7 @@ jobs:
     if: github.repository_owner == 'apache'
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/stale@v11
+      - uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
         with:
           repo-token: ${{ secrets.GITHUB_TOKEN }}
 
diff --git a/.github/workflows/validation-ci.yml b/.github/workflows/validation-ci.yml
index 5c129923..2051d24b 100644
--- a/.github/workflows/validation-ci.yml
+++ b/.github/workflows/validation-ci.yml
@@ -41,10 +41,14 @@ on:
       - "examples/tpcds_semantic_model.yaml"
       - ".github/workflows/validation-ci.yml"
 
+permissions:
+  contents: read
+
 jobs:
   test:
     runs-on: ubuntu-latest
     strategy:
+      fail-fast: false
       matrix:
         python-version: ["3.11", "3.12", "3.13", "3.14"]
 
@@ -58,9 +62,9 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Install uv
-        run: |
-          curl -LsSf https://astral.sh/uv/install.sh | sh
-          echo "${HOME}/.local/bin" >> "${GITHUB_PATH}"
+        uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
+        with:
+          version: "0.12.19"
 
       - name: Run duplicate-key validator tests
         run: uv run validation/test_validate.py