1818      all_changed_files : ${{ steps.verify-changed-files.outputs.all_changed_files }} 
1919    steps :
2020      - name : Checkout repository 
21-         uses : actions/checkout@v4  
21+         uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683   #  v4.2.2 
2222        with :
2323          fetch-depth : 2 
2424          ref : ${{ github.event.pull_request.head.ref }} 
@@ -30,15 +30,16 @@ jobs:
3030          echo "Make sure you are using a branch inside the repository and not a fork." 
3131
3232name : Verify Python Tools Changed 
33+         uses : tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32  #  v46.0.1
3334        id : verify-changed-files 
34-         run :  | 
35-           CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r ^HEAD -- tools/get.py tools/espota.py tools/gen_esp32part.py tools/gen_insights_package.py | xargs)  
36-           echo "all_changed_files=$CHANGED_FILES" >> $GITHUB_OUTPUT  
37-           if [ -n "$CHANGED_FILES" ]; then  
38-             echo "any_changed=true" >> $GITHUB_OUTPUT  
39-           else  
40-             echo "any_changed=false" >> $GITHUB_OUTPUT  
41-           fi  
35+         with : 
36+           fetch_depth :  " 2 " 
37+           since_last_remote_commit :  " true " 
38+           files :  | 
39+             tools/get.py  
40+             tools/espota.py  
41+             tools/gen_esp32part.py  
42+             tools/gen_insights_package.py  
4243
4344name : List all changed files 
4445        shell : bash 
@@ -88,25 +89,30 @@ jobs:
8889          for tool in ${{ env.CHANGED_TOOLS }}; do 
8990            echo "tool $tool was changed" 
9091          done 
92+ 
9193name : Checkout repository 
92-         uses : actions/checkout@v4  
94+         uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683   #  v4.2.2 
9395        with :
9496          token : ${{ secrets.TOOLS_UPLOAD_PAT }} 
9597          ref : ${{ github.event.pull_request.head.ref }} 
98+ 
9699      - name : Set up Python 3.8 
97-         uses : actions/setup-python@master  
100+         uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38   #  v5.0.4 
98101        with :
99102          python-version : 3.8 
103+ 
100104      - name : Install dependencies 
101105        run : | 
102106          python -m pip install --upgrade pip 
103107          pip install pyinstaller requests 
108+ 
104109name : Build with PyInstaller 
105110        shell : bash 
106111        run : | 
107112          for tool in ${{ env.CHANGED_TOOLS }}; do 
108113            pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=.github/pytools/espressif.ico tools/$tool.py 
109114          done 
115+ 
110116name : Sign binaries 
111117        if : matrix.os == 'windows-latest' 
112118        env :
@@ -119,12 +125,14 @@ jobs:
119125          { 
120126            ./.github/pytools/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/$node.exe 
121127          } 
128+ 
122129name : Test binaries 
123130        shell : bash 
124131        run : | 
125132          for tool in ${{ env.CHANGED_TOOLS }}; do 
126133            ./${{ env.DISTPATH }}/$tool${{ matrix.EXTEN }} -h 
127134          done 
135+ 
128136name : Push binary to tools 
129137        if : matrix.os == 'windows-latest' 
130138        env :
@@ -135,8 +143,9 @@ jobs:
135143            cp -f ./${{ env.DISTPATH }}/$tool.exe tools/$tool.exe 
136144          done 
137145          bash .github/scripts/upload_py_tools.sh "${{ env.CHANGED_TOOLS }}" 
146+ 
138147name : Archive artifact 
139-         uses : actions/upload-artifact@master  
148+         uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02   #  v4.6.2 
140149        with :
141150          name : ${{ env.DISTPATH }} 
142151          path : ${{ env.DISTPATH }} 
0 commit comments