343 Commits

Author SHA1 Message Date
Lakshmi Narayanan Sreethar
1eb8aa3f14 Post-release fixes for 2.9.3
Bumping the previous version and adding tests for 2.9.3.
2023-02-07 15:53:42 +05:30
Alexander Kuzmenkov
c4d8f35307 Improve automated backports
A follow-up for the review comments in the previous PR.

1. Create one backport PR per one source PR, even with multiple commits.
1. Add a comment to the source PR if we fail to backport it for some
   reason.
2023-02-02 16:13:33 +04:00
Alexander Kuzmenkov
9133319081 Fix pylint again
Apparently a new version is out and it complains about Exception being
too general.
2023-02-02 08:57:42 +04:00
Alexander Kuzmenkov
739fd00bb9 Add a workflow for automated backporting
1. Find the latest release branch
1. For each commit in main and not in release branch (compared by
   title), find the corresponding PR.
1. If the PR fixes an issue labeled "bug", and neither the PR nor the
   issue are labeled "no-backport", cherry-pick the commits from the PR
onto the release branch, and create a PR with these changes.
2023-02-01 16:25:02 +04:00
Alexander Kuzmenkov
21a3f8206c Run python linter and formatter in CI
Helps find some errors and cosmetic problems.
2023-01-30 13:49:26 +04:00
Bharathy
684637a172 Post-release fixes for 2.9.2
Bumping the previous version and adding tests for 2.9.2
2023-01-25 17:54:54 +05:30
Alexander Kuzmenkov
552950d221 Save SQLSmith results to the CI DB
Mostly we are interested in stacktraces and failed queries here.
2023-01-24 20:33:50 +04:00
Jan Nidzwetzki
1751efbaea Improve the PR workflow actions
This patch includes two changes to the PR handling workflow:

(1) It changes the trigger for the workflow to pull_request_target. So,
    PRs can now also be assigned to reviewers if the PR is opened from
    external sources.

(2) A workflow has been added that automatically assigns PRs to the
    author.
2023-01-04 11:11:01 +01:00
Sven Klemm
b92f36d765 Add 2.9.1 to update test scripts 2022-12-27 09:24:57 +01:00
Sven Klemm
08bb21f7e6 2.9.0 Post-release adjustments
Add 2.9.0 to update test scripts and adjust downgrade scripts for
2.9.0. Additionally adjust CHANGELOG to sync with the actual release
CHANGELOG and add PG15 to CI.
2022-12-19 19:10:24 +01:00
Jan Nidzwetzki
c76dfa0acb Improve Sanitizer checks
This patch contains two changes to the Sanitizer checks:

(1) All logfiles of the Sanitizer will be uploaded to the
    CI database.

(2) The Sanitizer checks are executed on every PR.
2022-12-08 10:55:17 +01:00
Sachin
29f35da905 Fix Github CI failures
Not specifying alpine version causes libssl version
to change, which in turn cause error in downgrade tests
as well as ABI tests.
This commit also fixes shellcheck failures.
Some failing windows tests are addd to ignore list.

Co-authored-by: Lakshmi Narayanan Sreethar <lakshmi@timescale.com>
Co-authored-by: Alexander Kuzmenkov <akuzmenkov@timescale.com>
Signed-off-by: Sachin <sachin@timescale.com>
2022-12-05 18:15:21 +05:30
Alexander Kuzmenkov
0d30155b26 Upload test results into a database
This will help us find the flaky tests or the rare failures.
2022-11-14 17:35:50 +04:00
Fabrízio de Royes Mello
9e276c58ee Revert "Upload test results into the database"
This reverts commit 252cefb509153fadcb32741a27ec3fa977487049 because it
broke our CI globally.
2022-11-11 15:25:01 -03:00
Alexander Kuzmenkov
252cefb509 Upload test results into the database
This will help us find the flaky tests or the rare failures.
2022-11-11 20:02:29 +04:00
Jan Nidzwetzki
4f9eef3211 Print correct variables in downgrade test script
The downgrade script has printed a message in which the same variable is
used for the upgrade and the downgrade version. This patch corrects the
output and uses the correct variables.
2022-11-10 15:31:20 +01:00
Alexander Kuzmenkov
85f5efdc8f Fix -Wsign-compare with PG 15
It changed the type of Var.varno from Index to int. I'm starting to
wonder if it was a good idea to enable this warning, but maybe we can
give it the last try.
2022-10-28 17:10:13 +04:00
Alexander Kuzmenkov
864da20cee Build on Ubuntu 22.04
It has newer GCC which should detect more warnings.
2022-10-26 23:32:05 +04:00
Konstantina Skovola
54ed0d5c05 Introduce fixed schedules for background jobs
Currently, the next start of a scheduled background job is
calculated by adding the `schedule_interval` to its finish
time. This does not allow scheduling jobs to execute at fixed
times, as the next execution is "shifted" by the job duration.

This commit introduces the option to execute a job on a fixed
schedule instead. Users are expected to provide an initial_start
parameter on which subsequent job executions are aligned. The next
start is calculated by computing the next time_bucket of the finish
time with initial_start origin.
An `initial_start` parameter is added to the compression, retention,
reorder and continuous aggregate `add_policy` signatures. By passing
that upon policy creation users indicate the policy will execute on
a fixed schedule, or drifting schedule if `initial_start` is not
provided.
To allow users to pick a drifting schedule when registering a UDA,
an additional parameter `fixed_schedule` is added to `add_job`
to allow users to specify the old behavior by setting it to false.

Additionally, an optional TEXT parameter, `timezone`, is added to both
add_job and add_policy signatures, to address the 1-hour shift in
execution time caused by DST switches. As internally the next start of
a fixed schedule job is calculated using time_bucket, the timezone
parameter allows using timezone-aware buckets to calculate
the next start.
2022-10-18 18:46:57 +03:00
Alexander Kuzmenkov
7758f5959c Update .clang-format for version 14
The only configuration we're missing is the newline for braces after
case labels. The rest of the differences looks like bugs/omissions of
the version 8 that we use now.

Require clang-format-14 in cmake and use it in the CI check. We can't
support versions earlier than 14 because they have some
formatting differences that can't be configured.
2022-10-10 17:12:36 +03:00
Fabrízio de Royes Mello
e0bbd4042a Fix missing upgrade/downgrade tests DDL validation
Recently we fixed a DDL error (#4739) after upgrading to 2.8.0 version
that surprisly the CI upgrade/dowgrade tests didn't complained during
the development of the feature (#4552).

Fixed it by adding an specific query in the `post.catalog.sql` script to
make sure we'll check all the constraints of our internal tables and
catalog.
2022-10-07 16:40:30 -03:00
Jan Nidzwetzki
2f739bb328 Post-release fixes for 2.8.1
Bumping the previous version and adding tests for 2.8.1.
2022-10-07 10:10:22 +02:00
Sven Klemm
eac3132b67 Migrate CI summary slack bot to eng-database 2022-10-03 17:09:09 +02:00
Mats Kindahl
244b3e637c Move perltidyrc to root
To allow perltidy to be used from editors and IDEs, the perltidyrc file
is moved from `scripts/perltidyrc` to `.perltidyrc`. This will allow
editors and IDEs to quickly find the style file in the root of the
repository, where `perltidy` normally searches for the style file.

The workflow is then updated to use the new location, and the two
options `--backup-file-extension` and `--backup-and-modify-in-place`
are moved to the workflow file to allow editors and IDEs to use
whatever method they find useful to process the file.
2022-09-26 17:27:16 +02:00
Sven Klemm
3722b0bf23 Add 2.8.0 to update tests
Add 2.8.0 to update tests and adjust the downgrade script files.
2022-09-01 18:32:10 +02:00
Sven Klemm
0c6f4e2458 Centralize CI settings
This patch adds a new settings file for common github action settings.
Instead of repeating latest pg versions in every github workflow we
can read the settings from this central file.
2022-08-15 13:02:34 +02:00
Sven Klemm
29937fd57c Bump PG version used in CI to 14.5,13.8 and 12.12 2022-08-15 10:23:36 +02:00
Sven Klemm
be429eb3d9 Regenerate SSL certs
The SSL certs used for testing expired today. This patch adds new
certificates that last for 100 years.
2022-08-11 20:11:10 +02:00
Sven Klemm
13df260089 Dont run isolation tests on PG 12.0 and 13.2
The output format of the isolation tester got changed by pg upstream
and backported to earlier versions. This means PG versions before
the backport have different output format then latest PG version.
We used to add all the isolation tests to the IGNORE list for those
PG versions but that is error prone and often forgotten when new
isolation tests are added. This patch skips the isolation test on
PG versions with incompatible output format.
2022-08-03 22:10:21 +02:00
Sven Klemm
008c6cf371 Fix dump_meta_data for windows
The dump_meta_data sql script used an external call to date to get
the current data which does not work on windows. This patch changes
the script to use now() instead to get the current time and date.

Fixes #3674
2022-07-28 11:54:49 +02:00
Sven Klemm
8a308deb85 Add a generic memory leak test to CI
Unlike the existing memory leak test which tests a single INSERT
of 100.000.000 rows in a single transaction, this runs 1000000
SELECT, 10K UPDATE and 50K INSERT queries in the same backend.
2022-07-27 13:14:45 +02:00
Sven Klemm
7608cb8719 2.7.2 Post-release
Add 2.7.2 to update tests and adjust downgrade script generation for
2.7.2.
2022-07-25 13:16:28 +02:00
Sven Klemm
ba41a92d9e Bump macOS version used in CI to 11
macOS 10.15 is deprecated as github action environment and will
be unsupported by end of august. This PR switches our CI to use
macOS 11 environment instead.

https://github.com/actions/virtual-environments/issues/5583
2022-07-21 20:09:27 +02:00
Konstantina Skovola
0e9dd3c70b Add config file and workflow for pull-review
This commit adds a workflow for running pull-review in
the serverless mode, using docker container CLI.
2022-07-20 09:16:46 +03:00
Sven Klemm
cfac68ec3d Ignore compression_chunk_race test in 12.0 and 13.2
The isolation tester in earlier PG versions is lacking features we
rely on in our tests so the results of isolation tests are ignored
when testing on the earliest version of a major pg version.
2022-07-18 14:34:49 +02:00
Mats Kindahl
5670378e03 Post-release fixes for 2.7.1 2022-07-12 12:18:25 +02:00
Jacob Champion
f400c75b79 Tweak commit-msg hook's line character limits
The commit-msg hook was counting the end-of-line characters in the 50-
and 72-character limit, so commit messages had to be wrapped slightly
shorter in order to avoid the hook complaint. Strip the EOL characters
during the check instead.

Since we use universal newline handling during the file read, stripping
LF ('\n') should be enough to handle both Windows and Unix development
environments.
2022-06-21 13:04:42 -05:00
Jacob Champion
bab5cc101d Update commit-msg hook to Python 3
This git hook is copied automatically during CMake, and breaks commits
immediately afterwards if Python 2 isn't installed. Since Python 2 has
been end-of-life for a while now, take this chance to upgrade.
2022-06-21 13:04:27 -05:00
Sven Klemm
cb096757fa Bump Postgres version used in CI to 14.4
Make CI use just released PG 14.4. We skip the version bump for the
update script as docker images with 14.4 are nowhere to be seen.
2022-06-20 07:59:16 +02:00
Luigi Servini
eb9f466582 Update dump_meta_data.sql
Added `c.dropped is false ` for table _timescaledb_catalog.chunk to
skip dropped chunks in the size calculation.
2022-06-10 19:17:51 +02:00
Sven Klemm
f0556dc902 Skip 001_extension test on PG13.2 in CI
The extension test uses the background_psql function which is not
present in the 13.2 PostgresNode module. This function is only
available in PG 13.5+.

https://github.com/postgres/postgres/commit/a9d0a540
2022-05-25 13:55:57 +02:00
Sven Klemm
cf9b626794 Post-Release 2.7.0
Adjust version.config and add 2.7.0 to update/downgrade test.
2022-05-24 12:54:06 +02:00
Sven Klemm
4f58132d37 Fix PG13.2 isolation tests
The deadlock_recompress_chunk isolation test uses syntax not
supported by earlier versions of the isolation tester leading
to a parse failure when processing that file on PG13.2.
This patch skips that particular test on PG13.2.
2022-05-23 10:12:00 +02:00
Sven Klemm
94ca9c66f4 Ignore telemetry isolation test on PG13.2
Commit 7b9d8673 added an isolation test for telemetry but did not
add it to the ignore list for earlier postgres versions. PG14 changed
the output format for isolation tests which got backported to PG12
and PG13 which makes the output of earlier PG12 and PG13 different
from the latest one so we ignore isolation tests on those earlier
versions.
2022-05-20 21:37:01 +02:00
Sven Klemm
aa0b36d5ba Skip telemetry test on PG12.0
With recent refactorings the telemetry test seems to trigger the
same use-after-free bug that got triggered by tablespace test so
we skip that test on PG12.0 as well.
2022-05-20 20:31:19 +02:00
Sven Klemm
b845f9423b Skip tablespace test on PG12.0
The tablespace test causes a segfault on PG12.0 due to an upstream
bug in the event trigger handling.
2022-05-20 17:18:21 +02:00
Sven Klemm
a7c8641e04 Bump postgres versions used in CI
Bump postgres versions used in CI to 14.3, 13.7 and 12.11.
2022-05-17 15:24:38 +02:00
Fabrízio de Royes Mello
557023c3a7 Revert "Ignore flaky "dist_gapfill_pushdown" test"
This reverts commit cf83b3b9c2d899fa0156d5c94dc4848b7584e3c9.
2022-05-16 15:21:32 -03:00
Sven Klemm
bb241ffcd1 Add missing ignores for dist_gapfill_pushdown
The patch to ignore result of dist_gapfill_pushdown missed some
places that overwrite installcheck_args.
2022-05-09 10:24:46 +02:00
Konstantina Skovola
cf83b3b9c2 Ignore flaky "dist_gapfill_pushdown" test
This is a *temporary* change to our workflows to ignore the test
because it is flaky and requires many jobs to be restarted before a
commit can be merged.  Does not address the issue that causes the
flakiness, which needs to be investigated.
2022-05-03 10:33:19 +03:00