@@ -101,6 +101,51 @@ jobs:
101101 date : ${{ needs.resolve-dates.outputs.adsb_date }}
102102 concat_with_latest_csv : true
103103
104+ adsb-reduce :
105+ needs : [resolve-dates, adsb-to-aircraft]
106+ if : always() && github.event_name != 'schedule' && needs.adsb-to-aircraft.result == 'failure'
107+ runs-on : ubuntu-24.04-arm
108+ steps :
109+ - name : Checkout
110+ uses : actions/checkout@v6
111+
112+ - name : Setup Python
113+ uses : actions/setup-python@v6
114+ with :
115+ python-version : ' 3.12'
116+
117+ - name : Install dependencies
118+ run : |
119+ python -m pip install --upgrade pip
120+ pip install -r requirements.txt
121+
122+ - name : Download compressed outputs
123+ uses : actions/download-artifact@v4
124+ with :
125+ pattern : adsb-compressed-${{ needs.resolve-dates.outputs.adsb_date }}-part-*
126+ path : data/output/compressed/${{ needs.resolve-dates.outputs.adsb_date }}
127+ merge-multiple : true
128+
129+ - name : Concatenate final outputs
130+ env :
131+ DATE : ${{ needs.resolve-dates.outputs.adsb_date }}
132+ CONCAT_WITH_LATEST_CSV : true
133+ run : |
134+ EXTRA=""
135+ if [ "$CONCAT_WITH_LATEST_CSV" = "true" ]; then
136+ EXTRA="--concat_with_latest_csv"
137+ fi
138+ python -m src.adsb.concat_parquet_to_final --date "$DATE" $EXTRA
139+ ls -lah data/output/ || true
140+
141+ - name : Upload final artifacts
142+ uses : actions/upload-artifact@v4
143+ with :
144+ name : openairframes_adsb-${{ needs.resolve-dates.outputs.adsb_date }}
145+ path : data/output/openairframes_adsb_*
146+ retention-days : 30
147+ if-no-files-found : error
148+
104149 build-community :
105150 runs-on : ubuntu-latest
106151 if : github.event_name != 'schedule'
@@ -188,13 +233,13 @@ jobs:
188233
189234 create-release :
190235 runs-on : ubuntu-latest
191- needs : [resolve-dates, build-faa, adsb-to-aircraft, build-community, build-adsbexchange-json, build-mictronics-db]
236+ needs : [resolve-dates, build-faa, adsb-to-aircraft, adsb-reduce, build-community, build-adsbexchange-json, build-mictronics-db]
192237 if : github.event_name != 'schedule' && !cancelled()
193238 steps :
194- - name : Check adsb-to-aircraft status
195- if : needs.adsb-to-aircraft.result != 'success'
239+ - name : Check ADS-B workflow status
240+ if : needs.adsb-to-aircraft.result != 'success' && needs.adsb-reduce.result != 'success'
196241 run : |
197- echo "WARNING: adsb-to-aircraft result was '${{ needs.adsb-to-aircraft .result }}', will continue without ADS-B artifacts"
242+ echo "WARNING: ADS-B workflow failed ( adsb-to-aircraft='${{ needs.adsb-to-aircraft. result }}', adsb-reduce= '${{ needs.adsb-reduce .result }}') , will continue without ADS-B artifacts"
198243
199244 - name : Checkout for gh CLI
200245 uses : actions/checkout@v4
@@ -211,7 +256,7 @@ jobs:
211256
212257 - name : Download ADS-B artifacts
213258 uses : actions/download-artifact@v5
214- if : needs.adsb-to-aircraft.result == 'success'
259+ if : needs.adsb-to-aircraft.result == 'success' || needs.adsb-reduce.result == 'success'
215260 continue-on-error : true
216261 with :
217262 name : openairframes_adsb-${{ needs.resolve-dates.outputs.adsb_date }}
0 commit comments