Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
331d36c
renaming of slow tests, new config for non-standard vector size
taniabogatsch Dec 11, 2025
956284d
exclude test for now
taniabogatsch Dec 12, 2025
7fa4da1
clean more space everywhere, don't test with tpch and tpcds
taniabogatsch Dec 12, 2025
b664733
Simplify splitting logic, add test case
Dtenwolde Dec 12, 2025
3398b79
Add test case
Dtenwolde Dec 12, 2025
b1189d5
Remove prints
Dtenwolde Dec 12, 2025
3e7177e
Adjust test
Dtenwolde Dec 12, 2025
9f583fe
exclude two tests
taniabogatsch Dec 14, 2025
f95800c
Merge branch 'v1.4-andium' into ci-nightly-sanitor
taniabogatsch Dec 14, 2025
9f0af3c
Format fix
Dtenwolde Dec 15, 2025
39d0283
Use logic of main
Dtenwolde Dec 16, 2025
59fadce
Merge branch 'v1.4-andium' into ci-nightly-sanitor
taniabogatsch Dec 16, 2025
a0fa26f
update comment
taniabogatsch Dec 16, 2025
189f63e
Merge remote-tracking branch 'upstream/v1.4-andium' into splitting-st…
Dtenwolde Dec 17, 2025
7f21760
[Chore] Clean up CI nightly run to prevent time outs (#20150)
Mytherin Dec 17, 2025
4748304
Bump iceberg, and add wasm platforms!
carlopi Dec 15, 2025
9ec60b7
bump Julia to v1.4.3
maiadegraaf Dec 18, 2025
1c87e80
Bump Julia to v1.4.3 (#20248)
Mytherin Dec 18, 2025
ad654f9
Internal #6881: 2025c Time Zones
hawkfish Dec 18, 2025
6212779
Internal #6881: 2025c Time Zones (#20258)
Mytherin Dec 19, 2025
5a334c2
Split statements by semicolon (#20174)
lnkuiper Dec 19, 2025
246ea4a
adjust the references inside the saved query to be qualified, so chan…
Tishj Dec 18, 2025
477cbbc
add all the schemas of the catalog of the view to the search path
Tishj Dec 19, 2025
e1bdc8f
undo changes
Tishj Dec 19, 2025
81b5d9d
undo changes
Tishj Dec 19, 2025
486419c
add ListSchemas
Tishj Dec 19, 2025
0e45e69
Reuse correct table-level metadata during checkpoints
ywelsch Dec 19, 2025
b233d1c
test(adbc): Empty statement case that segfaults
gishor Dec 6, 2025
491eb95
fix(adbc): return error when setting an empty sql query
gishor Dec 6, 2025
f2b8545
adjust the search path instead, add INVALID_SCHEMA to mean: include t…
Tishj Dec 19, 2025
0921331
cleanup
Tishj Dec 19, 2025
642f98f
review: Change unit test according to expected behavior
gishor Dec 19, 2025
230ba63
review: error on whitespace string, rows_affected = 0
gishor Dec 19, 2025
579cc03
make tidy happy, wasn't happy about my explicit, intentional use of I…
Tishj Dec 19, 2025
dddb00b
only with debug
ywelsch Dec 19, 2025
0eb64c3
ensure writable in constant or null function to fix aliasing bug
artjomPlaunov Dec 19, 2025
39a338c
reproducer
artjomPlaunov Dec 19, 2025
ce65260
make test slightly faster
taniabogatsch Dec 21, 2025
6eec606
remove some import and other tidy stuff
taniabogatsch Dec 21, 2025
93a0310
nit
taniabogatsch Dec 21, 2025
4d99d83
fix dsdgen generation
taniabogatsch Dec 21, 2025
36b97ed
revert
taniabogatsch Dec 21, 2025
51dd95e
[chore] Remove `numeric_cast.hpp` import and other tidy stuff (#20278)
Mytherin Dec 22, 2025
a3af8f5
[chore] Reduce latency of VARCHAR index creation test (#20277)
Mytherin Dec 22, 2025
410ffa0
Reuse correct table-level metadata during checkpoints (#20267)
Mytherin Dec 22, 2025
bacda75
Fix view resolution not being stable if the referenced table lives in…
Mytherin Dec 22, 2025
0e628fb
dbgen: use TaskExecutor framework
Mytherin Dec 22, 2025
b63a53e
ConstantOrNullFunction input validity mask overwrite bugfix (#20283)
pdet Dec 22, 2025
4713d05
dbgen: use TaskExecutor framework (#20284)
Mytherin Dec 22, 2025
04128b0
_extension_distribuion: Pin to v1.4-andium branch of extension-ci-tools
carlopi Dec 23, 2025
117f29f
fix(adbc): return error when setting an empty sql query (#20071)
pdet Dec 23, 2025
fd2e4b5
Bump iceberg, and add wasm platforms! (#20205)
pdet Dec 23, 2025
53d0f6d
Avoid sneaky changes will avoid CI
carlopi Dec 23, 2025
30bc6df
_extension_distribution: Pin to `v1.4-andium` branch of extension-ci-…
pdet Dec 23, 2025
21e48c0
Cache parameter names by index to optimize prepared statement paramet…
EtgarDev Dec 18, 2025
55abe7d
Add a comment
EtgarDev Dec 18, 2025
dd60909
Refactor: Rename `named` to `named_param_map` for improved clarity in…
EtgarDev Dec 22, 2025
60216a6
Refactor: Extract `duckdb_prepare_cache_parameter_names_internal` to …
EtgarDev Dec 22, 2025
e66c9a7
Refactor: Use unordered_map for parameter caching and rename helper i…
EtgarDev Dec 22, 2025
8ccf9e6
Add tests for `duckdb_parameter_name` with positional, named, and out…
EtgarDev Dec 23, 2025
afb665b
Refactor: Rename `duckdb_prepare_reversed_named_params_map` to `duckd…
EtgarDev Dec 23, 2025
9490c8a
Refactor: Rename `duckdb_prepare_reversed_named_params_map_internal` …
EtgarDev Dec 23, 2025
22391c3
Refactor: Rename `duckdb_prepare_param_index_to_name_map` to `duckdb_…
EtgarDev Dec 23, 2025
1acac02
fix: fix function chain in qualify
ArNine Dec 24, 2025
0761d5c
Optimize prepared statement parameter lookups (#20252)
pdet Dec 24, 2025
82891e6
Merge branch 'v1.4-andium' into fuzzer-fixes
taniabogatsch Dec 27, 2025
144258e
remove test and wrap in debug guard
taniabogatsch Dec 27, 2025
20b2bd8
defensive programming
Dec 29, 2025
e52c943
Use UTF-16 console output in Windows shell (1.4)
staticlibs Dec 29, 2025
0d54200
Increase reserved size for paths in SetPathsInternal
Flogex Dec 29, 2025
d657283
set vector type appropriately
Dec 29, 2025
1aa93bf
Update `VectorType` in `ComputePartitionIndices` (#20343)
lnkuiper Dec 30, 2025
8b3a7a2
Add some defensive programming in `RadixPartitionedHashTable::Combine…
lnkuiper Dec 30, 2025
de5283b
Increase reserved size for paths in SetPathsInternal (#20340)
lnkuiper Dec 30, 2025
6b52524
Merge remote-tracking branch 'upstream/v1.4-andium' into merge-31
pdet Dec 31, 2025
7493739
fix internal issue 6818
Dec 31, 2025
1f65b77
Fixup comparison to wrong iterator on abdc's driver
carlopi Jan 1, 2026
6fe9295
Use UTF-16 console output in Windows shell (1.4) (#20339)
lnkuiper Jan 2, 2026
a5c128a
Force repartitioning in `RadixPartitionedHashTable::Combine` (#20357)
lnkuiper Jan 2, 2026
24a6d0e
Bump iceberg
pdet Jan 2, 2026
6375901
Don't add semicolon for the last query
Dtenwolde Jan 5, 2026
fb88af0
Format fix
Dtenwolde Jan 5, 2026
aaf9659
Merge remote-tracking branch 'upstream/main' into merge-31
pdet Jan 5, 2026
bfdd5a6
This patch seems not up to date
pdet Jan 5, 2026
e3742c8
Cherry-pick also changes from https://github.com/apache/arrow-adbc/pu…
carlopi Jan 5, 2026
d7f3c8c
Add Write(QueryContext, ...) API also for full file rewrite
carlopi Jan 5, 2026
a416863
Pass down QueryContext also in case of extension install
carlopi Jan 5, 2026
301de7d
Give preference do variables set in config
pdet Jan 5, 2026
80d9eeb
Remove this error
pdet Jan 5, 2026
b674fa5
copy_blob.cpp: Add include
carlopi Jan 5, 2026
39ceecf
wasm not working in main
pdet Jan 5, 2026
686f25a
Fixup comparison to wrong iterator on abdc's driver (#20360)
pdet Jan 5, 2026
be28a10
[chore] dsdgen generation signed integer overflow fix (#20279)
Mytherin Jan 6, 2026
9a86cd6
Give preference do variables set in config (#20396)
Mytherin Jan 6, 2026
1d8313a
Ignore invalid UTF8 in string stats, instead of throwing an error
Mytherin Jan 6, 2026
b881581
Add test
Mytherin Jan 6, 2026
942b046
backport client data cleanup
taniabogatsch Jan 6, 2026
bc4c4d9
add v1.4.4 to storage and version map
maiadegraaf Jan 6, 2026
64cc3ad
Missing extension entries
pdet Jan 6, 2026
1219113
Remove ColumnData::ScanCommitted, instead pass in TransactionData::Co…
Mytherin Jan 6, 2026
e15d008
Add QueryContext also to Write(void *buffer, idx_t nr_bytes), so that…
lnkuiper Jan 6, 2026
acc36fb
Fix Issue #20233: fix function chain in qualify (#20302)
lnkuiper Jan 6, 2026
f39f435
Fixup BRANCHES_TO_BE_CACHED, vars are not available on PRs, so env it is
carlopi Jan 6, 2026
597e279
Backport client data cleanup (#20403)
Mytherin Jan 7, 2026
a2e864c
Add v1.4.4 to Storage Version (#20404)
Mytherin Jan 7, 2026
f290335
Parquet Reader: Ignore invalid UTF8 in string stats, instead of throw…
Mytherin Jan 7, 2026
1d1c629
ChunkInfo: split insert / delete op into separate operators
Mytherin Jan 7, 2026
194f792
optional_ptr<SelectionVector>
Mytherin Jan 7, 2026
8d6e6e2
Unify GetCheckpointRowCount and GetSelVector
Mytherin Jan 7, 2026
ab10c30
Unify GetCommittedDeletedCount
Mytherin Jan 7, 2026
e4516f8
optional_ptr<SelectionVector>
Mytherin Jan 7, 2026
d0b6664
Add (currently unused) table scan type
Mytherin Jan 7, 2026
3d19ee7
Don't add a semicolon to final query when splitting statements (#20401)
Mytherin Jan 7, 2026
500fb39
Use GetSelVector in GetCommittedDeletedCount
Mytherin Jan 7, 2026
d2db4e0
Move GetCommittedSelVector and GetCheckpointRowCount over
Mytherin Jan 7, 2026
716ab32
Move various methods to use GetSelVector instead of re-implementing it
Mytherin Jan 7, 2026
cb68dd8
Fixup BRANCHES_TO_BE_CACHED, vars are not available on PRs, so env it…
lnkuiper Jan 7, 2026
e86f43b
Merge remote-tracking branch 'upstream/v1.4-andium' into merge-31
pdet Jan 7, 2026
6efe555
Merge remote-tracking branch 'upstream/main' into merge-31
pdet Jan 7, 2026
63d8d1a
More on merge
pdet Jan 7, 2026
339ce0e
Remove GetCommittedSelVector function
Mytherin Jan 7, 2026
bc6c0f9
Rename TemplatedScan to ScanInternal
Mytherin Jan 7, 2026
3f5703d
Unify scan / select paths
Mytherin Jan 7, 2026
12dd759
Always use GetSelVector in ScanInternal
Mytherin Jan 7, 2026
74b995a
Pass TScanType to ScanInternal
Mytherin Jan 7, 2026
a837b81
Remove enum
Mytherin Jan 7, 2026
6cbdcd6
Remove unused table scan type
Mytherin Jan 7, 2026
c6d4ef0
Rename enum to be more descriptive
Mytherin Jan 7, 2026
1de304d
Rename ScanCommitted to Scan
Mytherin Jan 7, 2026
9950ef2
Clean up CollectionScanState::ScanCommitted
Mytherin Jan 7, 2026
ad6c4e3
Fixup quack test
pdet Jan 7, 2026
ae4b979
Rename TScanType to ScanOptions
Mytherin Jan 7, 2026
6382c19
Move TransactionData into ScanOptions
Mytherin Jan 7, 2026
3d3e9d9
Rework CommittedDeleteOperator to also include transaction-local deletes
Mytherin Jan 7, 2026
8654711
Remove OMIT_COMMITTED_DELETES
Mytherin Jan 7, 2026
ec4ecdf
Rename OMIT_FULLY_COMMITTED_DELETES to OMIT_COMMITTED_DELETES
Mytherin Jan 7, 2026
546a80c
Make BoundIndex::Delete throw an error if we couldn't delete all rows
Mytherin Jan 7, 2026
2b06475
Avoid reverting index appends that were never appended to the index
Mytherin Jan 7, 2026
4943d81
Exit JSON reader loop when an error is encountered
Mytherin Jan 7, 2026
c8d6a89
Upon registering an error, if we are waiting for another thread to fi…
Mytherin Jan 7, 2026
483fbf1
Cleanup RowGroup Scan code, and make BoundIndex::Delete throw an erro…
Mytherin Jan 8, 2026
8951ec3
Add atomic to see if tidy gets happier
pdet Jan 8, 2026
e74eae4
CMake: export also duckdb_generated_extension_loader
carlopi Jan 8, 2026
798fcdb
JSON Reader: exit scan loop if we have found an error that we can't y…
Mytherin Jan 8, 2026
604718a
Merge V1.4 -> V1.5 (#20350)
pdet Jan 8, 2026
e6ac703
Issue #20413: ASOF SEMI/ANTI Bindings
hawkfish Jan 8, 2026
5ecf5d0
Issue #20413: ASOF Arbitrary Predicates
hawkfish Jan 8, 2026
4ed12c7
Internal #6975: Window Inner Self-Join
hawkfish Jan 8, 2026
81ed27d
Issue #20413: ASOF Arbitrary Predicates
hawkfish Jan 8, 2026
ba0a7e6
Internal #6975: Window Inner Self-Join (#20459)
lnkuiper Jan 9, 2026
3702353
expose safe string assign function
taniabogatsch Jan 9, 2026
13e1f22
Issue #20413: ASOF Arbitrary Predicates (#20456)
Mytherin Jan 9, 2026
223544c
Internal #6976: Window Self-Join Predicate
hawkfish Jan 9, 2026
c7776c0
Internal #6976: Window Self-Join Predicate
hawkfish Jan 10, 2026
f4a8fa8
[C API] Expose safe string assign function (#20467)
lnkuiper Jan 12, 2026
740d25a
Internal #6976: Window Self-Join Predicate (#20473)
lnkuiper Jan 12, 2026
d18dfbf
CMake: export also duckdb_generated_extension_loader (#20449)
lnkuiper Jan 12, 2026
33ea9a6
add partition by support for create statements
Tmonster Jan 6, 2026
de0ffd6
also support SORTED BY in create table. add tests
Tmonster Jan 6, 2026
e6f914d
working with fixed order
Tmonster Jan 6, 2026
d69666b
added reorderability as well
Tmonster Jan 6, 2026
c02885d
refactor for cleaner code better function names etc.
Tmonster Jan 7, 2026
8424f33
generate serialization
Tmonster Jan 7, 2026
20582f3
fix serialization
Tmonster Jan 7, 2026
efdc777
partitioned by and sorted by are in the grammar, the rest is declared…
Tmonster Jan 12, 2026
5b3a60c
partition by and sorted by can be mixed
Tmonster Jan 12, 2026
97979ad
move reloption definition
Tmonster Jan 13, 2026
ea71b5c
removee lakehouse working. use options instead of tblproperties
Tmonster Jan 13, 2026
bf5adb4
fix serialization
Tmonster Jan 13, 2026
8308e71
implement virtual function so other catalogs fail when partitioned by…
Tmonster Jan 13, 2026
2155840
implement virtual function so other catalogs fail when partitioned by…
Tmonster Jan 13, 2026
8baaa9f
functions now work for table options
Tmonster Jan 14, 2026
2a375fc
fix create index to only parse constant expressions
Tmonster Jan 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/config/extensions/iceberg.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ if (NOT MINGW AND NOT ${WASM_ENABLED})
duckdb_extension_load(iceberg
# ${LOAD_ICEBERG_TESTS} TODO: re-enable once autoloading test is fixed
GIT_URL https://github.com/duckdb/duckdb-iceberg
GIT_TAG 30a2c66f1040ffd36e117ace6e22acbdb402e79c
GIT_TAG b3e54a56436d6385c6820ec6843d3e927431f565
APPLY_PATCHES
)
endif()
77 changes: 1 addition & 76 deletions .github/patches/extensions/iceberg/file.patch
Original file line number Diff line number Diff line change
Expand Up @@ -10,79 +10,4 @@ index f7b3fa02..6bedb2f6 100644
+IcebergLogType::IcebergLogType() : LogType(NAME, LEVEL) {
}

} // namespace duckdb
diff --git a/src/include/iceberg_logging.hpp b/src/include/iceberg_logging.hpp
index 56532732..94ae600f 100644
--- a/src/include/iceberg_logging.hpp
+++ b/src/include/iceberg_logging.hpp
@@ -13,10 +13,6 @@ struct IcebergLogType : public LogType {
//! Construct the log type
IcebergLogType();

- static LogicalType GetLogType() {
- return LogicalType::VARCHAR;
- }
-
template <typename... ARGS>
static string ConstructLogMessage(const string &str, ARGS... params) {
return StringUtil::Format(str, params...);
diff --git a/src/include/storage/iceberg_delete.hpp b/src/include/storage/iceberg_delete.hpp
index 43eeab28..e69c5d19 100644
--- a/src/include/storage/iceberg_delete.hpp
+++ b/src/include/storage/iceberg_delete.hpp
@@ -76,7 +76,7 @@ public:

public:
// // Source interface
- SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
+ SourceResultType GetDataInternal(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;

bool IsSource() const override {
return true;
diff --git a/src/include/storage/iceberg_insert.hpp b/src/include/storage/iceberg_insert.hpp
index e2e1d1a2..1c98862c 100644
--- a/src/include/storage/iceberg_insert.hpp
+++ b/src/include/storage/iceberg_insert.hpp
@@ -51,7 +51,7 @@ public:

public:
// // Source interface
- SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
+ SourceResultType GetDataInternal(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;

bool IsSource() const override {
return true;
diff --git a/src/storage/iceberg_delete.cpp b/src/storage/iceberg_delete.cpp
index 17952f82..14f759eb 100644
--- a/src/storage/iceberg_delete.cpp
+++ b/src/storage/iceberg_delete.cpp
@@ -268,7 +268,7 @@ SinkFinalizeType IcebergDelete::Finalize(Pipeline &pipeline, Event &event, Clien
//===--------------------------------------------------------------------===//
// GetData
//===--------------------------------------------------------------------===//
-SourceResultType IcebergDelete::GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const {
+SourceResultType IcebergDelete::GetDataInternal(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const {
auto &global_state = sink_state->Cast<IcebergDeleteGlobalState>();
auto value = Value::BIGINT(NumericCast<int64_t>(global_state.total_deleted_count));
chunk.SetCardinality(1);
diff --git a/src/storage/iceberg_insert.cpp b/src/storage/iceberg_insert.cpp
index a49ac26a..3f5f2f25 100644
--- a/src/storage/iceberg_insert.cpp
+++ b/src/storage/iceberg_insert.cpp
@@ -7,7 +7,6 @@

#include "iceberg_multi_file_list.hpp"

-#include "duckdb/common/sort/partition_state.hpp"
#include "duckdb/catalog/catalog_entry/copy_function_catalog_entry.hpp"
#include "duckdb/main/client_data.hpp"
#include "duckdb/planner/operator/logical_copy_to_file.hpp"
@@ -251,7 +250,7 @@ SinkResultType IcebergInsert::Sink(ExecutionContext &context, DataChunk &chunk,
//===--------------------------------------------------------------------===//
// GetData
//===--------------------------------------------------------------------===//
-SourceResultType IcebergInsert::GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const {
+SourceResultType IcebergInsert::GetDataInternal(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const {
auto &global_state = sink_state->Cast<IcebergInsertGlobalState>();
auto value = Value::BIGINT(global_state.insert_count);
chunk.SetCardinality(1);
} // namespace duckdb
3 changes: 2 additions & 1 deletion .github/workflows/BundleStaticLibs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ concurrency:
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
OVERRIDE_GIT_DESCRIBE: ${{ inputs.override_git_describe }}
BRANCHES_TO_BE_CACHED: ${{ github.repository == 'duckdb/duckdb' && '["refs/heads/main", "refs/heads/v1.4-andium"]' || ''}}

jobs:
bundle-osx-static-libs:
Expand Down Expand Up @@ -74,7 +75,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/CodeQuality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ concurrency:

env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
BRANCHES_TO_BE_CACHED: ${{ github.repository == 'duckdb/duckdb' && '["refs/heads/main", "refs/heads/v1.4-andium"]' || ''}}

jobs:
check-draft:
Expand Down Expand Up @@ -136,7 +137,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Download clang-tidy-cache
if: ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/heads/feature' }}
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/CrossVersion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ concurrency:

env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
BRANCHES_TO_BE_CACHED: ${{ github.repository == 'duckdb/duckdb' && '["refs/heads/main", "refs/heads/v1.4-andium"]' || ''}}

jobs:
osx-step-1:
Expand Down Expand Up @@ -58,7 +59,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down Expand Up @@ -116,7 +117,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down Expand Up @@ -223,7 +224,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down Expand Up @@ -292,7 +293,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/ExtendedTests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ concurrency:
cancel-in-progress: true

env:
CCACHE_SAVE: ${{ github.repository != 'duckdb/duckdb' }}
BASE_BRANCH: ${{ github.base_ref || (endsWith(github.ref, '_feature') && 'feature' || 'main') }}
BRANCHES_TO_BE_CACHED: ${{ github.repository == 'duckdb/duckdb' && '["refs/heads/main", "refs/heads/v1.4-andium"]' || ''}}

jobs:
regression-lto-benchmark-runner:
Expand Down Expand Up @@ -51,7 +51,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down Expand Up @@ -211,7 +211,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down Expand Up @@ -296,7 +296,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down
23 changes: 18 additions & 5 deletions .github/workflows/Extensions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,15 @@ on:
- '.github/patches/duckdb-wasm/**'
- '.github/workflows/**'
- '!.github/workflows/Extensions.yml'
- '!.github/workflows/_extension_distribution.yml'

concurrency:
group: extensions-${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/main' || github.sha }}-${{ inputs.override_git_describe }}
cancel-in-progress: true

env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
BRANCHES_TO_BE_CACHED: ${{ github.repository == 'duckdb/duckdb' && '["refs/heads/main", "refs/heads/v1.4-andium"]' || ''}}

jobs:
check-draft:
Expand All @@ -97,6 +99,14 @@ jobs:
- name: Preliminary checks on CI
run: echo "Event name is ${{ github.event_name }}"

vars:
runs-on: ubuntu-24.04
needs: check-draft
outputs:
BRANCHES_TO_BE_CACHED: ${{ env.BRANCHES_TO_BE_CACHED }}
steps:
- run: echo "Exposing env vars"

# This first step loads the various extension configs from the ~/.github/config directory storing them to drive the build jobs
load-extension-configs:
name: Load Extension Configs
Expand Down Expand Up @@ -172,6 +182,7 @@ jobs:
name: Main Extensions
needs:
- load-extension-configs
- vars
uses: ./.github/workflows/_extension_distribution.yml
with:
artifact_prefix: main-extensions
Expand All @@ -181,13 +192,14 @@ jobs:
override_tag: ${{ inputs.override_git_describe }}
override_duckdb_version: ${{ inputs.git_ref }}
skip_tests: ${{ inputs.skip_tests && true || false }}
save_cache: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save_cache: ${{ needs.vars.outputs.BRANCHES_TO_BE_CACHED == '' || contains(needs.vars.outputs.BRANCHES_TO_BE_CACHED, github.ref) }}

# Build the extensions from .github/config/rust_based_extensions.cmake
rust-based-extensions:
name: Rust-based Extensions
needs:
- load-extension-configs
- vars
uses: ./.github/workflows/_extension_distribution.yml
with:
exclude_archs: ${{ needs.load-extension-configs.outputs.rust_based_extensions_exclude_archs }}
Expand All @@ -197,13 +209,14 @@ jobs:
override_tag: ${{ inputs.override_git_describe }}
override_duckdb_version: ${{ inputs.git_ref }}
skip_tests: ${{ inputs.skip_tests && true || false }}
save_cache: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save_cache: ${{ needs.vars.outputs.BRANCHES_TO_BE_CACHED == '' || contains(needs.vars.outputs.BRANCHES_TO_BE_CACHED, github.ref) }}

# Build the extensions from .github/config/external_extensions.cmake
external-extensions:
name: External Extensions
needs:
- load-extension-configs
- vars
uses: ./.github/workflows/_extension_distribution.yml
with:
exclude_archs: ${{ needs.load-extension-configs.outputs.external_extensions_exclude_archs }}
Expand All @@ -213,7 +226,7 @@ jobs:
override_tag: ${{ inputs.override_git_describe }}
override_duckdb_version: ${{ inputs.git_ref }}
skip_tests: ${{ inputs.skip_tests && true || false }}
save_cache: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save_cache: ${{ needs.vars.outputs.BRANCHES_TO_BE_CACHED == '' || contains(needs.vars.outputs.BRANCHES_TO_BE_CACHED, github.ref) }}

# Merge all extensions into a single, versioned repository
create-extension-repository:
Expand Down Expand Up @@ -322,7 +335,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -380,7 +393,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/ExtraTests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ concurrency:

env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
BRANCHES_TO_BE_CACHED: ${{ github.repository == 'duckdb/duckdb' && '["refs/heads/main", "refs/heads/v1.4-andium"]' || ''}}

jobs:
regression-test-all:
Expand Down Expand Up @@ -38,7 +39,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build Last Release
shell: bash
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/Julia.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/main' || github.sha }}
cancel-in-progress: true

env:
BRANCHES_TO_BE_CACHED: ${{ github.repository == 'duckdb/duckdb' && '["refs/heads/main", "refs/heads/v1.4-andium"]' || ''}}

jobs:
check-draft:
# We run all other jobs on PRs only if they are not draft PR
Expand Down Expand Up @@ -97,7 +100,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.version }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build DuckDB
shell: bash
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/LinuxRelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ concurrency:
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
OVERRIDE_GIT_DESCRIBE: ${{ inputs.override_git_describe }}
BRANCHES_TO_BE_CACHED: ${{ github.repository == 'duckdb/duckdb' && '["refs/heads/main", "refs/heads/v1.4-andium"]' || ''}}

jobs:
check-draft:
Expand Down Expand Up @@ -200,7 +201,7 @@ jobs:
uses: hendrikmuhs/ccache-action@main
with:
key: ${{ github.job }}
save: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
save: ${{ env.BRANCHES_TO_BE_CACHED == '' || contains(env.BRANCHES_TO_BE_CACHED, github.ref) }}

- name: Build
shell: bash
Expand Down
Loading
Loading