Skip to content

Commit b972823

Browse files
authored
Merge branch 'main' into problame/remove-read-num-layers-visited-metric
2 parents 8f330a1 + 9b43204 commit b972823

File tree

300 files changed

+8655
-3332
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

300 files changed

+8655
-3332
lines changed

.cargo/config.toml

+10
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@
33
# by the RUSTDOCFLAGS env var in CI.
44
rustdocflags = ["-Arustdoc::private_intra_doc_links"]
55

6+
# Enable frame pointers. This may have a minor performance overhead, but makes it easier and more
7+
# efficient to obtain stack traces (and thus CPU/heap profiles). It may also avoid seg faults that
8+
# we've seen with libunwind-based profiling. See also:
9+
#
10+
# * <https://www.brendangregg.com/blog/2024-03-17/the-return-of-the-frame-pointers.html>
11+
# * <https://github.com/rust-lang/rust/pull/122646>
12+
#
13+
# NB: the RUSTFLAGS envvar will replace this. Make sure to update e.g. Dockerfile as well.
14+
rustflags = ["-Cforce-frame-pointers=yes"]
15+
616
[alias]
717
build_testing = ["build", "--features", "testing"]
818
neon = ["run", "--bin", "neon_local"]

.github/actions/allure-report-generate/action.yml

+6-8
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ inputs:
77
type: boolean
88
required: false
99
default: false
10-
aws_oicd_role_arn:
11-
description: 'the OIDC role arn to (re-)acquire for allure report upload - if not set call must acquire OIDC role'
12-
required: false
13-
default: ''
10+
aws-oicd-role-arn:
11+
description: 'OIDC role arn to interract with S3'
12+
required: true
1413

1514
outputs:
1615
base-url:
@@ -84,12 +83,11 @@ runs:
8483
ALLURE_VERSION: 2.27.0
8584
ALLURE_ZIP_SHA256: b071858fb2fa542c65d8f152c5c40d26267b2dfb74df1f1608a589ecca38e777
8685

87-
- name: (Re-)configure AWS credentials # necessary to upload reports to S3 after a long-running test
88-
if: ${{ !cancelled() && (inputs.aws_oicd_role_arn != '') }}
89-
uses: aws-actions/configure-aws-credentials@v4
86+
- uses: aws-actions/configure-aws-credentials@v4
87+
if: ${{ !cancelled() }}
9088
with:
9189
aws-region: eu-central-1
92-
role-to-assume: ${{ inputs.aws_oicd_role_arn }}
90+
role-to-assume: ${{ inputs.aws-oicd-role-arn }}
9391
role-duration-seconds: 3600 # 1 hour should be more than enough to upload report
9492

9593
# Potentially we could have several running build for the same key (for example, for the main branch), so we use improvised lock for this

.github/actions/allure-report-store/action.yml

+6-8
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ inputs:
88
unique-key:
99
description: 'string to distinguish different results in the same run'
1010
required: true
11-
aws_oicd_role_arn:
12-
description: 'the OIDC role arn to (re-)acquire for allure report upload - if not set call must acquire OIDC role'
13-
required: false
14-
default: ''
11+
aws-oicd-role-arn:
12+
description: 'OIDC role arn to interract with S3'
13+
required: true
1514

1615
runs:
1716
using: "composite"
@@ -36,12 +35,11 @@ runs:
3635
env:
3736
REPORT_DIR: ${{ inputs.report-dir }}
3837

39-
- name: (Re-)configure AWS credentials # necessary to upload reports to S3 after a long-running test
40-
if: ${{ !cancelled() && (inputs.aws_oicd_role_arn != '') }}
41-
uses: aws-actions/configure-aws-credentials@v4
38+
- uses: aws-actions/configure-aws-credentials@v4
39+
if: ${{ !cancelled() }}
4240
with:
4341
aws-region: eu-central-1
44-
role-to-assume: ${{ inputs.aws_oicd_role_arn }}
42+
role-to-assume: ${{ inputs.aws-oicd-role-arn }}
4543
role-duration-seconds: 3600 # 1 hour should be more than enough to upload report
4644

4745
- name: Upload test results

.github/actions/download/action.yml

+5-7
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,17 @@ inputs:
1515
prefix:
1616
description: "S3 prefix. Default is '${GITHUB_RUN_ID}/${GITHUB_RUN_ATTEMPT}'"
1717
required: false
18-
aws_oicd_role_arn:
19-
description: "the OIDC role arn for aws auth"
20-
required: false
21-
default: ""
18+
aws-oicd-role-arn:
19+
description: 'OIDC role arn to interract with S3'
20+
required: true
2221

2322
runs:
2423
using: "composite"
2524
steps:
26-
- name: Configure AWS credentials
27-
uses: aws-actions/configure-aws-credentials@v4
25+
- uses: aws-actions/configure-aws-credentials@v4
2826
with:
2927
aws-region: eu-central-1
30-
role-to-assume: ${{ inputs.aws_oicd_role_arn }}
28+
role-to-assume: ${{ inputs.aws-oicd-role-arn }}
3129
role-duration-seconds: 3600
3230

3331
- name: Download artifact

.github/actions/run-python-test-set/action.yml

+12-13
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,9 @@ inputs:
4848
description: 'benchmark durations JSON'
4949
required: false
5050
default: '{}'
51-
aws_oicd_role_arn:
52-
description: 'the OIDC role arn to (re-)acquire for allure report upload - if not set call must acquire OIDC role'
53-
required: false
54-
default: ''
51+
aws-oicd-role-arn:
52+
description: 'OIDC role arn to interract with S3'
53+
required: true
5554

5655
runs:
5756
using: "composite"
@@ -62,7 +61,7 @@ runs:
6261
with:
6362
name: neon-${{ runner.os }}-${{ runner.arch }}-${{ inputs.build_type }}-artifact
6463
path: /tmp/neon
65-
aws_oicd_role_arn: ${{ inputs.aws_oicd_role_arn }}
64+
aws-oicd-role-arn: ${{ inputs.aws-oicd-role-arn }}
6665

6766
- name: Download Neon binaries for the previous release
6867
if: inputs.build_type != 'remote'
@@ -71,7 +70,7 @@ runs:
7170
name: neon-${{ runner.os }}-${{ runner.arch }}-${{ inputs.build_type }}-artifact
7271
path: /tmp/neon-previous
7372
prefix: latest
74-
aws_oicd_role_arn: ${{ inputs.aws_oicd_role_arn }}
73+
aws-oicd-role-arn: ${{ inputs.aws-oicd-role-arn }}
7574

7675
- name: Download compatibility snapshot
7776
if: inputs.build_type != 'remote'
@@ -83,7 +82,7 @@ runs:
8382
# The lack of compatibility snapshot (for example, for the new Postgres version)
8483
# shouldn't fail the whole job. Only relevant test should fail.
8584
skip-if-does-not-exist: true
86-
aws_oicd_role_arn: ${{ inputs.aws_oicd_role_arn }}
85+
aws-oicd-role-arn: ${{ inputs.aws-oicd-role-arn }}
8786

8887
- name: Checkout
8988
if: inputs.needs_postgres_source == 'true'
@@ -221,19 +220,19 @@ runs:
221220
# The lack of compatibility snapshot shouldn't fail the job
222221
# (for example if we didn't run the test for non build-and-test workflow)
223222
skip-if-does-not-exist: true
224-
aws_oicd_role_arn: ${{ inputs.aws_oicd_role_arn }}
223+
aws-oicd-role-arn: ${{ inputs.aws-oicd-role-arn }}
225224

226-
- name: (Re-)configure AWS credentials # necessary to upload reports to S3 after a long-running test
227-
if: ${{ !cancelled() && (inputs.aws_oicd_role_arn != '') }}
228-
uses: aws-actions/configure-aws-credentials@v4
225+
- uses: aws-actions/configure-aws-credentials@v4
226+
if: ${{ !cancelled() }}
229227
with:
230228
aws-region: eu-central-1
231-
role-to-assume: ${{ inputs.aws_oicd_role_arn }}
229+
role-to-assume: ${{ inputs.aws-oicd-role-arn }}
232230
role-duration-seconds: 3600 # 1 hour should be more than enough to upload report
231+
233232
- name: Upload test results
234233
if: ${{ !cancelled() }}
235234
uses: ./.github/actions/allure-report-store
236235
with:
237236
report-dir: /tmp/test_output/allure/results
238237
unique-key: ${{ inputs.build_type }}-${{ inputs.pg_version }}
239-
aws_oicd_role_arn: ${{ inputs.aws_oicd_role_arn }}
238+
aws-oicd-role-arn: ${{ inputs.aws-oicd-role-arn }}

.github/actions/save-coverage-data/action.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ runs:
1414
name: coverage-data-artifact
1515
path: /tmp/coverage
1616
skip-if-does-not-exist: true # skip if there's no previous coverage to download
17-
aws_oicd_role_arn: ${{ inputs.aws_oicd_role_arn }}
17+
aws-oicd-role-arn: ${{ inputs.aws-oicd-role-arn }}
1818

1919
- name: Upload coverage data
2020
uses: ./.github/actions/upload
2121
with:
2222
name: coverage-data-artifact
2323
path: /tmp/coverage
24-
aws_oicd_role_arn: ${{ inputs.aws_oicd_role_arn }}
24+
aws-oicd-role-arn: ${{ inputs.aws-oicd-role-arn }}

.github/actions/upload/action.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ inputs:
1414
prefix:
1515
description: "S3 prefix. Default is '${GITHUB_SHA}/${GITHUB_RUN_ID}/${GITHUB_RUN_ATTEMPT}'"
1616
required: false
17-
aws_oicd_role_arn:
17+
aws-oicd-role-arn:
1818
description: "the OIDC role arn for aws auth"
1919
required: false
2020
default: ""
@@ -61,7 +61,7 @@ runs:
6161
uses: aws-actions/configure-aws-credentials@v4
6262
with:
6363
aws-region: eu-central-1
64-
role-to-assume: ${{ inputs.aws_oicd_role_arn }}
64+
role-to-assume: ${{ inputs.aws-oicd-role-arn }}
6565
role-duration-seconds: 3600
6666

6767
- name: Upload artifact

.github/file-filters.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
rust_code: ['**/*.rs', '**/Cargo.toml', '**/Cargo.lock']
2+
3+
v14: ['vendor/postgres-v14/**', 'Makefile', 'pgxn/**']
4+
v15: ['vendor/postgres-v15/**', 'Makefile', 'pgxn/**']
5+
v16: ['vendor/postgres-v16/**', 'Makefile', 'pgxn/**']
6+
v17: ['vendor/postgres-v17/**', 'Makefile', 'pgxn/**']
7+
8+
rebuild_neon_extra:
9+
- .github/workflows/neon_extra_builds.yml
10+
11+
rebuild_macos:
12+
- .github/workflows/build-macos.yml

.github/workflows/_benchmarking_preparation.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
name: neon-${{ runner.os }}-${{ runner.arch }}-release-artifact
7171
path: /tmp/neon/
7272
prefix: latest
73-
aws_oicd_role_arn: ${{ vars.DEV_AWS_OIDC_ROLE_ARN }}
73+
aws-oicd-role-arn: ${{ vars.DEV_AWS_OIDC_ROLE_ARN }}
7474

7575
# we create a table that has one row for each database that we want to restore with the status whether the restore is done
7676
- name: Create benchmark_restore_status table if it does not exist

.github/workflows/_build-and-test-locally.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ jobs:
264264
with:
265265
name: neon-${{ runner.os }}-${{ runner.arch }}-${{ inputs.build-type }}-artifact
266266
path: /tmp/neon
267-
aws_oicd_role_arn: ${{ vars.DEV_AWS_OIDC_ROLE_ARN }}
267+
aws-oicd-role-arn: ${{ vars.DEV_AWS_OIDC_ROLE_ARN }}
268268

269269
# XXX: keep this after the binaries.list is formed, so the coverage can properly work later
270270
- name: Merge and upload coverage data
@@ -308,7 +308,7 @@ jobs:
308308
real_s3_region: eu-central-1
309309
rerun_failed: true
310310
pg_version: ${{ matrix.pg_version }}
311-
aws_oicd_role_arn: ${{ vars.DEV_AWS_OIDC_ROLE_ARN }}
311+
aws-oicd-role-arn: ${{ vars.DEV_AWS_OIDC_ROLE_ARN }}
312312
env:
313313
TEST_RESULT_CONNSTR: ${{ secrets.REGRESS_TEST_RESULT_CONNSTR_NEW }}
314314
CHECK_ONDISK_DATA_COMPATIBILITY: nonempty

.github/workflows/actionlint.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
# SC2086 - Double quote to prevent globbing and word splitting. - https://www.shellcheck.net/wiki/SC2086
3434
SHELLCHECK_OPTS: --exclude=SC2046,SC2086
3535
with:
36-
fail_on_error: true
36+
fail_level: error
3737
filter_mode: nofilter
3838
level: error
3939

0 commit comments

Comments
 (0)