88 push :
99 # only trigger on branches, not on tags
1010 branches : ' **'
11-
11+
1212# This workflow contains two jobs called "check_opendds", "build_opendds_windows", "check_changes", "build_ddm_windows"
1313jobs :
1414 # Verify if a build is needed
@@ -20,18 +20,27 @@ jobs:
2020 steps :
2121 - name : Checkout code
2222 uses : actions/checkout@v3
23+ # with:
24+ # submodules: 'true'
25+
26+ - uses : actions/cache/restore@v3
27+ id : cache
2328 with :
24- submodules : ' true'
25-
26- - name : Exists OpenDDS
27- id : existsOpenDDS
28- continue-on-error : true
29- run : |
30- python $GITHUB_WORKSPACE/third_party/CommonTools/scripts/utilsftp.py -c check -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Build_3.25.zip -l $GITHUB_WORKSPACE/OpenDDS_Build_3.25.zip
29+ lookup-only : true
30+ enableCrossOsArchive : true
31+ path : ./OutputOpenDDS/
32+ key : OpenDDS_3.25
33+
34+ # - name: Exists OpenDDS
35+ # id: existsOpenDDS
36+ # continue-on-error: true
37+ # run: |
38+ # python $GITHUB_WORKSPACE/third_party/CommonTools/scripts/utilsftp.py -c check -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Build_3.25.zip -l $GITHUB_WORKSPACE/OpenDDS_Build_3.25.zip
3139
3240 - name : If failed we need to rebuild artifact
3341 id : check_existsOpenDDS
34- if : ${{ steps.existsOpenDDS.outcome == 'failure' }}
42+ if : steps.cache.outputs.cache-hit != 'true'
43+ # if: ${{ steps.existsOpenDDS.outcome == 'failure' }}
3544 run : echo "build_opendds=true" >> $GITHUB_OUTPUT
3645
3746 build_opendds_windows :
@@ -124,21 +133,31 @@ jobs:
124133
125134 - name : Prepare for packaging OpenDDS Binaries and PDB
126135 run : |
127- Compress-Archive -Path .\Output\* -DestinationPath .\OpenDDS_Build_3.25.zip
128- Compress-Archive -Path .\OutputPdb\* -DestinationPath .\OpenDDS_PDB_Build_3.25.zip
136+ New-Item -Path .\OutputOpenDDS -ItemType directory
137+ Compress-Archive -Path .\Output\* -DestinationPath .\OutputOpenDDS\OpenDDS_Build_3.25.zip
138+ Compress-Archive -Path .\OutputPdb\* -DestinationPath .\OutputOpenDDS\OpenDDS_PDB_Build_3.25.zip
129139
130140 - name : Prepare for packaging OpenDDS Headers
131141 shell : cmd
132142 run : |
133- 7z a .\OpenDDS_Headers_3.25.zip .\third_party\OpenDDS\*.h -r
134- 7z u .\OpenDDS_Headers_3.25.zip .\third_party\OpenDDS\*.inl -r
143+ 7z a .\OutputOpenDDS\OpenDDS_Headers_3.25.zip .\third_party\OpenDDS\*.h -r
144+ 7z u .\OutputOpenDDS\OpenDDS_Headers_3.25.zip .\third_party\OpenDDS\*.inl -r
145+
146+ - name : Save OpenDDS in cache
147+ uses : actions/cache/save@v3
148+ with :
149+ enableCrossOsArchive : true
150+ path : ./OutputOpenDDS/
151+ key : OpenDDS_3.25
135152
136153 - name : Upload OpenDDS
154+ if : ${{ github.repository_owner == 'masesgroup'}} # do not upload any artifact outside main repo
155+ continue-on-error : true
137156 shell : cmd
138157 run : |
139- python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c upload -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Build_3.25.zip -l %GITHUB_WORKSPACE%\OpenDDS_Build_3.25.zip
140- python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c upload -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_PDB_Build_3.25.zip -l %GITHUB_WORKSPACE%\OpenDDS_PDB_Build_3.25.zip
141- python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c upload -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Headers_3.25.zip -l %GITHUB_WORKSPACE%\OpenDDS_Headers_3.25.zip
158+ python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c upload -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Build_3.25.zip -l %GITHUB_WORKSPACE%\OutputOpenDDS\ OpenDDS_Build_3.25.zip
159+ python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c upload -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_PDB_Build_3.25.zip -l %GITHUB_WORKSPACE%\OutputOpenDDS\ OpenDDS_PDB_Build_3.25.zip
160+ python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c upload -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Headers_3.25.zip -l %GITHUB_WORKSPACE%\OutputOpenDDS\ OpenDDS_Headers_3.25.zip
142161 env :
143162 GITHUB_WORKSPACE : $GITHUB_WORKSPACE
144163
@@ -193,7 +212,7 @@ jobs:
193212 submodules : ' true'
194213
195214 - name : Cache local Maven repository
196- uses : actions/cache@v3.3.1
215+ uses : actions/cache@v3
197216 with :
198217 path : ~/.m2/repository
199218 key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
@@ -254,27 +273,35 @@ jobs:
254273 cd third_party\OpenDDS
255274 configure
256275
257- - name : Download OpenDDS Binaries
258- shell : cmd
259- run : |
260- python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c download -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Build_3.25.zip -l %GITHUB_WORKSPACE%\OpenDDS_Build_3.25.zip
261- env :
262- GITHUB_WORKSPACE : $GITHUB_WORKSPACE
263-
264- - name : Download OpenDDS Headers
265- shell : cmd
266- run : |
267- python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c download -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Headers_3.25.zip -l %GITHUB_WORKSPACE%\OpenDDS_Headers_3.25.zip
268- env :
269- GITHUB_WORKSPACE : $GITHUB_WORKSPACE
276+ - name : Restore OpenDDS from cache
277+ uses : actions/cache/restore@v3
278+ with :
279+ fail-on-cache-miss : true
280+ enableCrossOsArchive : true
281+ path : ./OutputOpenDDS/
282+ key : OpenDDS_3.25
283+
284+ # - name: Download OpenDDS Binaries
285+ # shell: cmd
286+ # run: |
287+ # python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c download -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Build_3.25.zip -l %GITHUB_WORKSPACE%\OpenDDS_Build_3.25.zip
288+ # env:
289+ # GITHUB_WORKSPACE: $GITHUB_WORKSPACE
290+ #
291+ # - name: Download OpenDDS Headers
292+ # shell: cmd
293+ # run: |
294+ # python %GITHUB_WORKSPACE%\third_party\CommonTools\scripts\utilsftp.py -c download -s ${{ secrets.FTP_STORE_SITE }} -u ${{ secrets.FTP_STORE_USER }} -p ${{ secrets.FTP_STORE_PASSWORD }} -r OpenDDS_Headers_3.25.zip -l %GITHUB_WORKSPACE%\OpenDDS_Headers_3.25.zip
295+ # env:
296+ # GITHUB_WORKSPACE: $GITHUB_WORKSPACE
270297
271298 - name : Prepare OpenDDS Binaries
272299 run : |
273- Expand-Archive -LiteralPath '.\OpenDDS_Build_3.25.zip' -DestinationPath .\Output -Force
300+ Expand-Archive -LiteralPath '.\OutputOpenDDS\ OpenDDS_Build_3.25.zip' -DestinationPath .\Output -Force
274301
275302 - name : Prepare OpenDDS Headers
276303 run : |
277- Expand-Archive -LiteralPath '.\OpenDDS_Headers_3.25.zip' -DestinationPath .\third_party\OpenDDS -Force
304+ Expand-Archive -LiteralPath '.\OutputOpenDDS\ OpenDDS_Headers_3.25.zip' -DestinationPath .\third_party\OpenDDS -Force
278305
279306 - name : Move OpenDDS x64
280307 shell : cmd
0 commit comments