550 Commits

Author SHA1 Message Date
Philip Krauss
65ae062c7d
Rollback incorrect pre-release tests (#7841)
revert https://github.com/timescale/timescaledb/pull/7697

Disable-check: force-changelog-file
Disable-check: approval-count
2025-03-16 09:34:09 +00:00
Alexander Kuzmenkov
41ba2f9eeb
Use the correct token for backport workflow (#7827)
The GITHUB_TOKEN variable is getting overwritten with the Github Actions
token.

Moreover, the token-based remote's credentials are somehow overwritten
on push with credentials used for checkout action. Use the PAT for it as
well.

This should finally let the backport script to update the outstanding
backport PRs to the current target branch, and workflows to start for
them.

Disable-check: force-changelog-file
Disable-check: approval-count
2025-03-14 12:09:54 +00:00
Alexander Kuzmenkov
89a7fb0c49
Vectorized grouping by multiple column (#7754)
Paste the values together and use the umash hash of the resulting value
for grouping, like we do for the text keys.
2025-03-11 22:52:25 +00:00
Sven Klemm
b665a4b8b7 Mark bgw_launcher test as flaky on windows 2025-03-02 10:20:01 +01:00
Sven Klemm
4f824ecafe Mark bgw_launcher test as flaky 2025-02-24 13:25:58 +01:00
Sven Klemm
a2ac10670e Fix ABI CI workflow
Don't pin tester image for ABI test to specific alpine version
2025-02-24 13:25:58 +01:00
Alexander Kuzmenkov
5fcf4d8103
More fixes for the backport script (#7770)
Not sure what's going on with GitHub and push permissions, but at least
this particular configuration seems to be working.
2025-02-21 23:19:23 +00:00
Sven Klemm
69ec2c7831 Bump PG versions used in CI to 14.17, 15.12, 16.8 and 17.4 2025-02-21 08:44:38 +01:00
Alexander Kuzmenkov
134ddbf9c8
Run the regression tests on ARM (#7718)
Add a single configuration that uses the Ubuntu22.04-2Core runner.
2025-02-18 18:13:58 +00:00
Alexander Kuzmenkov
eb2b1972d8
Trigger the backports when a release branch is updated (#7732)
This will help update the pending backport PR to the latest version of
the release branch.

GitHub doesn't provide a built-in possibility to trigger a workflow on
the main branch when another branch has changed. For example, if we had
a "push: ?.*.x" condition, it would trigger the backport workflow on the
release branch itself, which is not what we need. So we have to use a
helper workflow instead.
2025-02-18 14:24:14 -03:00
Sven Klemm
273f7964f3 Bump PG version used in CI to 14.16, 15.11, 16.7 and 17.3 2025-02-18 11:01:02 +01:00
Pallavi Sontakke
c444b1a77d
Use origin instead of upstream for push
As it's a direct branch and not a fork.
2025-02-18 12:54:47 +05:30
Pallavi Sontakke
51a343c987
Set environment for gated action 2025-02-14 10:39:13 +05:30
Erik Nordström
af64c7bbfc Support vectorized aggregation on Hypercore TAM
Add support for running VectorAgg on top of scans on Hypercore
TAM. Currently, only ColumnarScan can run below VectorAgg when
Hypercore TAM is used. In theory, a SeqScan or IndexScan reading from
Hypercore TAM should also work because they would produce Arrow
slots. However, only ColumnarScan performs vectorized filtering, which
is currently assumed to happen before the VectorAgg node.

In ColumnarScan, it is necessary to turn off projection when VectorAgg
is used. Otherwise, it would project the arrow slot into a virtual
slot, thus losing the vector data. Ideally, a projection should never
be planned to begin with, but this isn't possible since VectorAgg
modifies existing non-vectorized Agg plans that already includes
projections.
2025-02-13 19:21:27 +01:00
Alexander Kuzmenkov
eea28951e9
Vectorized hash grouping by a single text column (#7586)
Use the UMASH hashes that have a guaranteed lower bound on collisions as
the hash table keys.
2025-02-13 13:08:49 +00:00
Pallavi Sontakke
b85fee5f5d
Rename file 2025-02-13 18:26:44 +05:30
Pallavi Sontakke
db3ecb9b42
Schedule run on release-branch.
For the remaining nightly runs.

Remove reference to non-existent trigger/homebrew_test branch.

---------

Signed-off-by: Pallavi Sontakke <pallavi@timescale.com>
Co-authored-by: Philip Krauss <35487337+philkra@users.noreply.github.com>
2025-02-13 17:43:32 +05:30
Pallavi Sontakke
9ce7dc7faf
Correct syntax for setting env var 2025-02-13 15:27:43 +05:30
Pallavi Sontakke
5a936d5a87
Simplify environment variables setting 2025-02-13 12:30:47 +05:30
Mats Kindahl
e921b48f31 Revert one-reviewer rule for table access method 2025-02-12 11:18:37 +01:00
Pallavi Sontakke
ef00d9119c
Schedule coverity scan weekly on release branch.
Also, schedule sqlsmith daily on release branch.
2025-02-12 14:36:43 +05:30
Pallavi Sontakke
e2d3965bb7
prerelease test on release branch: github action
---------

Signed-off-by: Pallavi Sontakke <pallavi@timescale.com>
Co-authored-by: Philip Krauss <35487337+philkra@users.noreply.github.com>
2025-02-11 10:49:11 +05:30
Sven Klemm
4fa5cf1d3e Adjust windows package test CI
Since we depend on the openssl version of the postgres installer
to match the openssl version we built against and we can't ensure
stability of that version in the postgres installer we only test
windows package against the latest available postgres version.
2025-02-07 23:50:12 +01:00
Pallavi Sontakke
c01ad1748e
Automate Minor release - Feature Freeze
with GitHub workflow files.

We run these steps for a new minor version - feature freeze :
- create the Bump-version PR on `main`, 
- create the new minor-version-branch , e.g. `2.18.x`
- create the Release PR on minor-version-branch

We no more use a fork, but a branch directly.
2025-02-03 11:35:14 +05:30
Sven Klemm
65b8151af3 Add actionable hints to update script checker 2025-01-31 11:36:21 +01:00
Sven Klemm
e9da072f87 Add ci check for idempotency in sql scripts
To detect the problematic patterns that were part of the 2.18 release
we can check the sql scripts against a list of allowed statements.
Any non idempotent operation should be in the pre_install scripts
and not the scripts that get appended for the update scripts.
2025-01-27 12:26:40 +01:00
Ante Kresic
f35930b822 Add Windows package test for latest pg17 2025-01-27 11:59:25 +01:00
Sven Klemm
2194a6109f Allow more workflows to be triggered by github ui
This is mostly to allow triggering package tests directly from
github UI but no harm enabling it for a couple more.
2025-01-24 22:47:16 +01:00
Sven Klemm
2c52b54724 Fix downgrade path for 2.18.0
This patch adjusts the downgrade script generation to not include
incompatible files from the 2.18.0 release that would break script
generation and replaces them with a working version. This adjustment
can be removed after we release of 2.18.1.
This patch also reenables the downgrade test.
2025-01-24 19:51:06 +01:00
Alexander Kuzmenkov
2b0011e7e8
Import the UMASH hashing library (#7616)
We use it for vectorized hash grouping. For now, add the library
separately to figure out the required CMake and CI changes.
2025-01-24 14:45:05 +00:00
Sven Klemm
5c2f6b5bc5 Temporarily disable downgrade test
The 2.18.0 sql files for building downgrade scripts have some
incompatible changes in them that prevent downgrade script generation.
This patch disable downgrade test until the necessary adjustments
in downgrade script generation are made.
2025-01-24 13:10:21 +01:00
Sven Klemm
bbf183c23b Remove bitnami from docker test and release workflow 2025-01-23 10:41:43 +01:00
Alexander Kuzmenkov
cb5ff43560
Upload CMake logs to the action artifacts (#7611)
For debugging.
2025-01-22 18:34:11 +00:00
Mats Kindahl
62e6235919 Restart scheduler on error
If the scheduler receives an error, it will never restart again since
`bgw_restart_time` is set to `BGW_NEVER_RESTART`, which will prevent
all jobs from executing.

This commit adds the GUC `timescaledb.bgw_scheduler_restart_time` that
can be set to the restart time for the scheduler. It defaults
to 60 seconds, which is the default restart interval for background
workers defined by PostgreSQL.

It also adds `timescaledb.debug_bgw_scheduler_exit_status` to be able
to shutdown the scheduler with a non-zero exit status, which allows the
restart functionality to be tested.

It also ensures that `backend_type` is explicitly set up rather than
copied from `application_name` and add some more information to
`application_name`. It also updates the tests to use `backend_type`
where applicable.

To avoid exhausting slots when the launcher restarts, it will kill all
existing schedulers and start new ones. Since background worker slots
are easily exhausted in the `bgw_launcher` test, we do not run it
repeatedly in the flakes workflow.
2025-01-10 21:57:03 +01:00
Sven Klemm
0b5961dc34 Remove permission section from pr handling workflow 2025-01-06 21:57:36 +01:00
Sven Klemm
44fc07b5c4 Bump pgspot version to 0.9.0 2025-01-06 20:59:48 +01:00
Sven Klemm
dd83334e6f Remove redundant PG17 entry from build matrix
PG17 is included by default now so we dont need to explicitly add
it to matrix anymore.
2025-01-06 20:40:18 +01:00
Alexander Kuzmenkov
11e866e378
Vectorized aggregation with grouping by one fixed-size column (#7341)
The implementation uses the Postgres simplehash hash table for by-value
fixed-size compressed columns.

The biggest improvement on a "sensible" query is about 90%, and a couple
of queries show bigger improvements but these are very synthetic cases
that don't make much sense:

https://grafana.ops.savannah-dev.timescale.com/d/fasYic_4z/compare-akuzm?orgId=1&var-branch=All&var-run1=3815&var-run2=3816&var-threshold=0.02&var-use_historical_thresholds=true&var-threshold_expression=2%20%2A%20percentile_cont%280.90%29&var-exact_suite_version=false&from=now-2d&to=now

---------

Signed-off-by: Alexander Kuzmenkov <36882414+akuzm@users.noreply.github.com>
Co-authored-by: Erik Nordström <819732+erimatnor@users.noreply.github.com>
2025-01-02 19:46:15 +00:00
Sven Klemm
52da577f42 Remove non-pg17 bitnami images from tests
Bitnami removed support for LTS branches. For us this means only
PG17 will get postgres version updates. So this PR removes the
images for previous branches from CI test.

https://github.com/bitnami/containers/issues/75671

This patch also adds missing timescaledb-ha:pg17 image to the tests.
2025-01-02 17:33:49 +01:00
Alexander Kuzmenkov
19288c133c
Use config overrides more systematically in matrix builder (#7562)
In some places we didn't pass the top-level config overrides to the
lowest level debug config builder, which can result in config values
being overwritten in an unexpected ways.
2024-12-23 16:04:27 +00:00
Alexander Kuzmenkov
e596c02364
Run tests in random order in Flaky Check (#7563)
This makes things flakier.


Tested here: https://github.com/timescale/timescaledb/pull/7551
2024-12-23 15:48:52 +00:00
Philip Krauss
5c93057e5b
Fix for failing Homebrew tests (#7561)
Tests are pinned to Postgres v16, Homebrew installs timescaledb for
version 17.

Disable-check: force-changelog-file
Disable-check: commit-count
2024-12-23 14:01:06 +01:00
Keyur Panchal
155efa1157
Pinned Ubuntu version in package workflow to 22.04 (#7545)
GitHub Actions using `ubuntu-latest` have been changed to use
`ubuntu-24.04` instead by default
(https://github.com/actions/runner-images/issues/10636) which breaks our
APT-ARM64 package workflow. This pins the version back to `ubuntu-22.04`
to avoid this.

Disable-check: force-changelog-file
2024-12-18 07:44:17 -07:00
Keyur Panchal
ed7b36c27f
Add ABI test against PG snapshot (#7457)
This adds a test to check the ABI compatibility with PG snapshot.
Timescaledb is built against the mininum abi version of postgres
supported, for each major version of PG and tested against the latest
snapshot.

Disable-check: force-changelog-file
2024-12-13 19:40:29 +00:00
Mats Kindahl
af6e5a646e Use HTML URL for security issues
The previous code used the event URI, which linked to the actual web
event for the issue.
2024-12-12 09:27:22 +01:00
Fabrízio de Royes Mello
c2058996df Bump setup windows wsl on CI 2024-12-11 08:23:45 -03:00
Mats Kindahl
089a8304a5 Fix issue with PR approval workflow
Remove event information from workflow and count the number of files
rather than try to test for them. Also include approvers that have
"NONE" as author status.
2024-12-02 13:09:04 +01:00
Mats Kindahl
d7c8e3c153 Remove backward direction for ABI tests
Versions of the extension cannot be expected to always work in the
backwards direction so we cannot reliably test that builds against
later versions of PostgreSQL (e.g., 17.3) work with earlier versions
(e.g., 17.0) if new functions are introduced in the later version.
2024-12-01 07:55:10 +01:00
Mats Kindahl
fc223fb041 Use latest version from config generated file 2024-11-27 13:01:35 +01:00
Sven Klemm
7d49d9492e Bump versions used in windows test 2024-11-26 21:03:23 +01:00