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
3232 - name : 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
4344 - name : 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+
9193 - name : 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+
104109 - name : 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+
110116 - name : 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+
122129 - name : 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+
128136 - name : 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+
138147 - name : 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