Skip to content

Commit fc506fa

Browse files
committed
try with the workflow
1 parent 5891e41 commit fc506fa

23 files changed

+1996
-0
lines changed
Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
name: Check Nightly Build Status
2+
on:
3+
workflow_dispatch:
4+
schedule:
5+
- cron: '0 9 * * 1-5' # runs at 10am CET on working days
6+
7+
permissions:
8+
contents: write
9+
issues: write
10+
11+
env:
12+
GH_TOKEN: ${{ github.token }}
13+
GH_REPO: duckdb/duckdb
14+
GH_ISSUE_REPO: ${{ github.repository }}
15+
16+
jobs:
17+
# check-wget:
18+
# name: Check in advance
19+
# runs-on: macos-13
20+
# steps:
21+
# - name: Checkout repo with the scripts
22+
# uses: actions/checkout@v4
23+
# - shell: bash
24+
# run: chmod +x scripts/check_ext.sh && ./scripts/check_ext.sh
25+
# - uses: actions/upload-artifact@v4
26+
# with:
27+
# path: log.csv
28+
get-run-info:
29+
name: Generate nightly build artifact json file
30+
runs-on: ubuntu-latest
31+
outputs:
32+
matrix: ${{ steps.set-outputs.outputs.matrix }}
33+
CURR_DATE: ${{ steps.curr-date.outputs.CURR_DATE }}
34+
steps:
35+
- id: curr-date
36+
run: echo "CURR_DATE=$(date +%Y-%m-%d)" >> $GITHUB_OUTPUT
37+
38+
- name: Checkout repo with the script
39+
uses: actions/checkout@v4
40+
41+
- name: Set up Python
42+
uses: actions/setup-python@v5
43+
with:
44+
python-version: '3.11'
45+
46+
- name: Install DuckDB for Python
47+
shell: bash
48+
run: |
49+
python -m pip install --upgrade pip
50+
pip install duckdb
51+
52+
- name: Create Tables and Generate inputs.json
53+
shell: bash
54+
env:
55+
CURR_DATE: ${{ steps.curr-date.outputs.CURR_DATE }}
56+
run: |
57+
python scripts/create_tables_and_inputs.py
58+
59+
- name: Upload DuckDB file
60+
uses: actions/upload-artifact@v4
61+
with:
62+
name: run_info_tables.duckdb
63+
path: run_info_tables.duckdb
64+
65+
- name: Read JSON and create matrix
66+
id: set-outputs
67+
run: |
68+
matrix=$(cat inputs.json | jq -c '.')
69+
echo "matrix=$matrix" >> $GITHUB_OUTPUT
70+
echo "***"
71+
cat inputs.json
72+
73+
- name: Upload inputs.json
74+
uses: actions/upload-artifact@v4
75+
with:
76+
name: inputs.json
77+
path: inputs.json
78+
if-no-files-found: ignore
79+
80+
run-tests:
81+
name: ${{ matrix.inputs.nightly_build }} - ${{ matrix.inputs.duckdb_arch }} (${{ matrix.inputs.runs_on }})
82+
needs: get-run-info
83+
if: ${{ needs.get-run-info.outputs.matrix != '[]' }}
84+
strategy:
85+
matrix:
86+
inputs: ${{ fromJson(needs.get-run-info.outputs.matrix) }}
87+
continue-on-error: true
88+
runs-on: ${{ matrix.inputs.runs_on }}
89+
steps:
90+
- name: Set up Python
91+
uses: actions/setup-python@v5
92+
with:
93+
python-version: '3.11'
94+
95+
- name: Install Python dependencies
96+
run: pip install duckdb docker
97+
98+
- name: Checkout repo with the scripts
99+
uses: actions/checkout@v4
100+
101+
- name: Checkout repo with extensions config file
102+
uses: actions/checkout@v4
103+
with:
104+
repository: ${{ env.GH_REPO }}
105+
sparse-checkout: |
106+
.github/config
107+
path: ext
108+
109+
- name: Verify ${{ matrix.inputs.nightly_build }} build version and Test extensions
110+
id: verify-build
111+
shell: bash
112+
env:
113+
CURR_DATE: ${{ needs.get-run-info.outputs.CURR_DATE }}
114+
run: |
115+
uname -m
116+
if [[ ${{ matrix.inputs.nightly_build }} != 'python' ]]; then
117+
echo "Downloading duckdb-binaries-${{ matrix.inputs.duckdb_binary }} artifact..."
118+
if gh run download ${{ matrix.inputs.run_id }} --repo ${{ env.GH_REPO }} -n duckdb-binaries-${{ matrix.inputs.duckdb_binary }}; then
119+
echo "Artifact duckdb-binaries-${{ matrix.inputs.duckdb_binary }} is successfuly downloaded."
120+
if [[ ${{ matrix.inputs.nightly_build }} == 'osx' ]]; then
121+
unzip duckdb_cli-*.zip -d duckdb_path
122+
else
123+
unzip duckdb_cli-${{ matrix.inputs.duckdb_binary }}.zip -d duckdb_path
124+
fi
125+
fi
126+
fi
127+
echo "Verifying version and testing extensions..."
128+
python scripts/verify_and_test.py \
129+
--nightly_build ${{ matrix.inputs.nightly_build }} \
130+
--architecture ${{ matrix.inputs.duckdb_arch }} \
131+
--run_id ${{ matrix.inputs.run_id }} \
132+
--runs_on ${{ matrix.inputs.runs_on }}
133+
134+
- name: Upload actions for extensions
135+
if: always()
136+
uses: actions/upload-artifact@v4
137+
with:
138+
name: ext_${{ matrix.inputs.nightly_build }}_${{ matrix.inputs.duckdb_arch }}
139+
path: |
140+
list_failed_ext_${{ matrix.inputs.nightly_build }}_${{ matrix.inputs.duckdb_arch }}.csv
141+
non_matching_sha_${{ matrix.inputs.nightly_build }}_${{ matrix.inputs.duckdb_arch }}.txt
142+
if-no-files-found: ignore
143+
144+
report:
145+
name: Create complete report
146+
runs-on: ubuntu-latest
147+
if: always()
148+
needs:
149+
- get-run-info
150+
- run-tests
151+
steps:
152+
- name: Checkout repo
153+
uses: actions/checkout@v4
154+
155+
- name: Set up Python
156+
uses: actions/setup-python@v5
157+
with:
158+
python-version: '3.11'
159+
160+
- name: Install DuckDB for Python
161+
shell: bash
162+
run: |
163+
python -m pip install --upgrade pip
164+
pip install duckdb pandas tabulate requests
165+
166+
- name: Download inputs.json
167+
uses: actions/download-artifact@v4
168+
with:
169+
name: inputs.json
170+
path: .
171+
172+
- name: Download extensions artifacts
173+
uses: actions/download-artifact@v4
174+
with:
175+
pattern: ext_*
176+
path: failed_ext
177+
178+
- name: Download duckdb file
179+
uses: actions/download-artifact@v4
180+
with:
181+
name: run_info_tables.duckdb
182+
path: tables
183+
184+
- name: Generate report
185+
shell: bash
186+
env:
187+
CURR_DATE: ${{ needs.get-run-info.outputs.CURR_DATE }}
188+
run: |
189+
python scripts/create_build_report.py
190+
191+
- name: Upload REPORT
192+
uses: actions/upload-artifact@v4
193+
with:
194+
name: REPORT
195+
path: ${{ needs.get-run-info.outputs.CURR_DATE }}-report.md
196+
197+
- name: Upload REPORT to the _posts directory
198+
shell: bash
199+
env:
200+
CI_COMMIT_MESSAGE: "Add ${{ needs.get-run-info.outputs.CURR_DATE }}-report.md"
201+
CI_COMMIT_AUTHOR: "hmeriann"
202+
GH_TOKEN: ${{ github.token }}
203+
run: |
204+
git config --global user.name ${{ env.CI_COMMIT_AUTHOR }}
205+
git config --global user.email "zuleykha.pavlichenkova@gmail.com"
206+
207+
git config pull.rebase false
208+
git pull origin gh-pages --allow-unrelated-histories
209+
mv ${{ needs.get-run-info.outputs.CURR_DATE }}-report.md _posts
210+
ls -lah _posts
211+
212+
git add _posts/${{ needs.get-run-info.outputs.CURR_DATE }}-report.md
213+
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
214+
git push origin main:gh-pages

docs/2025-02-20-report.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
layout: home
3+
title: "2025-02-20 - Report"
4+
parent: Previous reports
5+
---
6+
7+
### InvokeCI nightly-build has not succeeded the previous **9** times.
8+
Latest successfull run: [ Run Link ](https://github.com/duckdb/duckdb/actions/runs/13153471611)
9+
10+
#### Failure Details
11+
12+
| Conclusion | Created at | URL |
13+
|:-------------|:--------------------|:----------------------------------------------------------|
14+
| failure | 2025-02-20 00:34:07 | https://github.com/duckdb/duckdb/actions/runs/13425202981 |
15+
| failure | 2025-02-19 00:33:56 | https://github.com/duckdb/duckdb/actions/runs/13402878741 |
16+
| failure | 2025-02-18 00:33:32 | https://github.com/duckdb/duckdb/actions/runs/13380805083 |
17+
| failure | 2025-02-17 00:35:51 | https://github.com/duckdb/duckdb/actions/runs/13360404871 |
18+
| failure | 2025-02-16 00:36:52 | https://github.com/duckdb/duckdb/actions/runs/13350052135 |
19+
| failure | 2025-02-15 00:33:09 | https://github.com/duckdb/duckdb/actions/runs/13339882250 |
20+
| failure | 2025-02-14 00:33:35 | https://github.com/duckdb/duckdb/actions/runs/13319887629 |
21+
22+
#### Workflow Artifacts
23+
24+
| Build (Architecture) | Conclusion | Artifact | Uploaded at |
25+
|:----------------------------------------------------------------------------|:-------------|:------------------------------------------------------------------------------------------------------------------------|:--------------------|
26+
| static-libraries / OSX static libs (macos-14, arm64) | success | [duckdb-static-lib-osx-arm64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620355294) | 2025-02-20 00:47:30 |
27+
| pyodide / Build pyodide wheel (3.11, 0.25.1, 18, 'pydantic<2') | success | [pyodide-python0.25.1](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620361302) | 2025-02-20 00:49:07 |
28+
| pyodide / Build pyodide wheel (3.12, 0.27.2, 20) | success | [pyodide-python0.27.2](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620362928) | 2025-02-20 00:49:29 |
29+
| pyodide / Build pyodide wheel (3.12, 0.26.1, 20) | success | [pyodide-python0.26.1](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620363010) | 2025-02-20 00:49:30 |
30+
| pyodide / Build pyodide wheel (3.10, 0.22.1, 16, 'pydantic<2') | success | [pyodide-python0.22.1](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620367872) | 2025-02-20 00:50:37 |
31+
| static-libraries / OSX static libs (macos-13, amd64) | success | [duckdb-static-lib-osx-amd64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620369510) | 2025-02-20 00:51:04 |
32+
| static-libraries / Linux amd64 static libs | success | [duckdb-static-lib-linux-amd64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620390094) | 2025-02-20 00:56:30 |
33+
| static-libraries / Linux arm64 static libs | success | [duckdb-static-lib-linux-arm64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620399318) | 2025-02-20 00:59:06 |
34+
| Wasm / Linux Extensions (x64) (wasm_eh) | success | [duckdb-extensions-wasm_eh](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620441939) | 2025-02-20 01:11:13 |
35+
| Wasm / Linux Extensions (x64) (wasm_threads) | success | [duckdb-extensions-wasm_threads](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620444657) | 2025-02-20 01:11:56 |
36+
| Wasm / Linux Extensions (x64) (wasm_mvp) | success | [duckdb-extensions-wasm_mvp](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620446400) | 2025-02-20 01:12:26 |
37+
| windows / Windows (64 Bit) | success | [duckdb-binaries-windows-amd64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620469225) | 2025-02-20 01:19:27 |
38+
| linux-release / Linux Extensions (x64) (linux_amd64, x64-linux) | success | [duckdb-extensions-linux_amd64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620499740) | 2025-02-20 01:29:06 |
39+
| linux-release / Checks extension entries | success | [extension_entries.hpp](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620558803) | 2025-02-20 01:45:49 |
40+
| static-libraries / Windows MingW static libs | success | [duckdb-static-lib-windows-mingw](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620558991) | 2025-02-20 01:45:52 |
41+
| R / R Package Windows (Extensions) | success | [duckdb-extensions-windows_amd64_mingw](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620560885) | 2025-02-20 01:46:28 |
42+
| python / Linux Extensions (linux_amd64_gcc4) (linux_amd64_gcc4, x64-linux) | success | [duckdb-binaries-linux-arm64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620623573) | 2025-02-20 02:05:38 |
43+
| linux-release / Linux CLI (arm64) | success | [duckdb-extensions-linux_amd64_gcc4](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620623798) | 2025-02-20 02:05:42 |
44+
| linux-release / Linux CLI (amd64) | success | [duckdb-binaries-linux-amd64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620628378) | 2025-02-20 02:06:57 |
45+
| windows / Windows (ARM64) | success | [duckdb-binaries-windows-arm64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620635384) | 2025-02-20 02:09:11 |
46+
| windows / win-packaged-upload | success | [duckdb-binaries-windows](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620637506) | 2025-02-20 02:09:49 |
47+
| linux-release / Linux Extensions (musl + x64) (linux_amd64_musl, x64-linux) | success | [duckdb-extensions-linux_amd64_musl](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620723077) | 2025-02-20 02:35:57 |
48+
| linux-release / Linux Extensions (aarch64) (linux_arm64, arm64-linux) | success | [duckdb-extensions-linux_arm64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620810602) | 2025-02-20 03:00:48 |
49+
| osx / OSX Release | success | [duckdb-binaries-osx](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620948111) | 2025-02-20 03:42:26 |
50+
| windows / Windows Extensions (64-bit) | success | [duckdb-extensions-windows_amd64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620983927) | 2025-02-20 03:55:20 |
51+
| osx / OSX Extensions Release (x86_64) | success | [duckdb-extensions-osx_amd64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2620999546) | 2025-02-20 04:01:12 |
52+
| osx / OSX Extensions Release (arm64) | success | [duckdb-extensions-osx_arm64](https://github.com/duckdb/duckdb/actions/runs/13425202981/artifacts/2621075107) | 2025-02-20 04:25:03 |

docs/archive_reports.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: Previous reports
3+
nav_order: 2
4+
---
5+
6+
# Previous reports
7+
{: .no_toc }
6.26 KB
Binary file not shown.

scripts/check_ext.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
3+
release_v="v1.2.0"
4+
sha="5d02d69e5c"
5+
scope=("duckdb-extensions" "duckdb-community-extensions")
6+
platforms=("linux_amd64" "linux_amd64_gcc4" "linux_amd64_musl" "linux_arm64" "linux_arm64_gcc4" "osx_amd64" "osx_arm64" "windows_amd64" "windows_amd64_mingw")
7+
extensions=('arrow' 'autocomplete' 'aws' 'azure' 'delta' 'excel' 'fts' 'httpfs' 'iceberg' 'icu' 'inet' 'jemalloc' 'json' 'motherduck' 'mysql_scanner' 'parquet' 'postgres_scanner' 'shell' 'spatial' 'sqlite_scanner' 'sqlsmith' 'substrait' 'tpcds' 'tpch' 'vss')
8+
9+
for platform in ${platforms[@]}; do
10+
for extension in ${extensions[@]}; do
11+
wget -q https://duckdb-extensions.s3.us-east-2.amazonaws.com/${release_v}/${platform}/${extension}.duckdb_extension.gz
12+
gzip -d ${extension}.duckdb_extension.gz
13+
hexdump -C ${extension}.duckdb_extension | tail -n 30 | awk -F'|' '{print $2}' | tr -d '\n' > ${extension}-${sha}-${platform}.txt
14+
if (cat ${extension}-${sha}-${platform}.txt | grep -o $release_v); then
15+
echo "${extension},${sha},${platform},passed"
16+
echo "${extension},${sha},${platform},passed" >> log.csv
17+
else
18+
echo "${extension},${sha},${platform},failed"
19+
echo "${extension},${sha},${platform},failed" >> log.csv
20+
fi
21+
rm ${extension}.duckdb_extension
22+
rm ${extension}-${sha}-${platform}.txt
23+
done
24+
done

0 commit comments

Comments
 (0)