Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2024-06-10 #7999

Merged
merged 33 commits into from
Jun 10, 2024
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
34f450c
test: allow no vectored gets happening (#7939)
koivunej Jun 3, 2024
c1f55c1
feat(pageserver): collect aux file tombstones (#7900)
skyzh Jun 3, 2024
acf0a11
Move keyspace utils to inherent impls (#7929)
arpad-m Jun 3, 2024
69d18d6
s3_scrubber: add `pageserver-physical-gc` (#7925)
jcsp Jun 3, 2024
7006caf
Store logical replication origin in KV storage (#7099)
knizhnik Jun 3, 2024
69026a9
storcon_cli: add 'drop' and eviction interval utilities (#7938)
jcsp Jun 3, 2024
11bb265
pageserver: don't squash all image layer generation errors into anyho…
jcsp Jun 3, 2024
00032c9
[proxy] Fix dynamic rate limiter (#7950)
khanova Jun 4, 2024
387a368
Set page LSN when reconstructing VM in page server (#7935)
knizhnik Jun 4, 2024
0acb604
test: no missed wakeups, cancellation and timeout flow to downloads (…
koivunej Jun 4, 2024
9d4c113
build(Dockerfile.compute-node): do not log tar contents (#7953)
koivunej Jun 4, 2024
0112097
feat(rtc): maintain dirty and uploaded IndexPart (#7833)
koivunej Jun 4, 2024
fd22fc5
pageserver: include heatmap in tenant deletion (#7928)
jcsp Jun 4, 2024
17116f2
fix(pageserver): abort on duplicate layers, before doing damage (#7799)
problame Jun 4, 2024
3d6e389
feat: support changing IndexPart::metadata_bytes to json in future re…
koivunej Jun 4, 2024
1a8d53a
feat(pageserver): compute aux file size on initial logical size calcu…
skyzh Jun 4, 2024
85ef6b1
upgrade pgvector from 0.7.0 to 0.7.1 (#7954)
Bodobolero Jun 5, 2024
83ab14e
chore!: remove walredo_process_kind config option & kind type (#7756)
problame Jun 5, 2024
91dd990
pageserver/controller: enable tenant deletion without attachment (#7957)
jcsp Jun 5, 2024
0a65333
chore(walredo): avoid duplicate tenant_id and shard_slug fields (#7977)
problame Jun 6, 2024
630cfbe
refactor(pageserver): designated api error type for cancelled request…
yliang412 Jun 6, 2024
a8be077
fix: do TimelineMetrics::shutdown only once (#7983)
koivunej Jun 6, 2024
75bca9b
Perform retries on azure bulk deletion (#7964)
arpad-m Jun 6, 2024
0145099
fix(pageserver): more flexible layer size test (#7945)
skyzh Jun 6, 2024
5d05013
fix(pageserver): skip metadata compaction is LSN is not accumulated e…
skyzh Jun 6, 2024
d46d194
raise the warning for oversized L0 to 2*target (#7985)
koivunej Jun 6, 2024
e4e444f
Remove random sleep in partial backup (#7982)
petuhovskiy Jun 6, 2024
66c6b27
Downgrade No response from reading prefetch entry WARNING to LOG
lubennikovaav Jun 6, 2024
8ee191c
test_local_only_layers_after_crash: various fixes (#7986)
koivunej Jun 7, 2024
2078dc8
CI: copy run-* labels from external contributors' PRs (#7915)
a-masterov Jun 7, 2024
26c68f9
Move SQL migrations out of line
tristan957 Jun 6, 2024
3b647cd
Include openssl and ICU statically linked (#7956)
rahulinux Jun 7, 2024
0384267
Revert "Include openssl and ICU statically linked" (#8003)
problame Jun 10, 2024
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
53 changes: 48 additions & 5 deletions .github/workflows/approved-for-ci-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,15 +69,41 @@ jobs:
with:
ref: main
token: ${{ secrets.CI_ACCESS_TOKEN }}

- name: Look for existing PR
id: get-pr
env:
GH_TOKEN: ${{ secrets.CI_ACCESS_TOKEN }}
run: |
ALREADY_CREATED="$(gh pr --repo ${GITHUB_REPOSITORY} list --head ${BRANCH} --base main --json number --jq '.[].number')"
echo "ALREADY_CREATED=${ALREADY_CREATED}" >> ${GITHUB_OUTPUT}

- name: Get changed labels
id: get-labels
if: steps.get-pr.outputs.ALREADY_CREATED != ''
env:
ALREADY_CREATED: ${{ steps.get-pr.outputs.ALREADY_CREATED }}
GH_TOKEN: ${{ secrets.CI_ACCESS_TOKEN }}
run: |
LABELS_TO_REMOVE=$(comm -23 <(gh pr --repo ${GITHUB_REPOSITORY} view ${ALREADY_CREATED} --json labels --jq '.labels.[].name'| ( grep -E '^run' || true ) | sort) \
<(gh pr --repo ${GITHUB_REPOSITORY} view ${PR_NUMBER} --json labels --jq '.labels.[].name' | ( grep -E '^run' || true ) | sort ) |\
( grep -v run-e2e-tests-in-draft || true ) | paste -sd , -)
LABELS_TO_ADD=$(comm -13 <(gh pr --repo ${GITHUB_REPOSITORY} view ${ALREADY_CREATED} --json labels --jq '.labels.[].name'| ( grep -E '^run' || true ) |sort) \
<(gh pr --repo ${GITHUB_REPOSITORY} view ${PR_NUMBER} --json labels --jq '.labels.[].name' | ( grep -E '^run' || true ) | sort ) |\
paste -sd , -)
echo "LABELS_TO_ADD=${LABELS_TO_ADD}" >> ${GITHUB_OUTPUT}
echo "LABELS_TO_REMOVE=${LABELS_TO_REMOVE}" >> ${GITHUB_OUTPUT}

- run: gh pr checkout "${PR_NUMBER}"

- run: git checkout -b "${BRANCH}"

- run: git push --force origin "${BRANCH}"
if: steps.get-pr.outputs.ALREADY_CREATED == ''

- name: Create a Pull Request for CI run (if required)
env:
if: steps.get-pr.outputs.ALREADY_CREATED == ''
env:
GH_TOKEN: ${{ secrets.CI_ACCESS_TOKEN }}
run: |
cat << EOF > body.md
Expand All @@ -88,16 +114,33 @@ jobs:
Feel free to review/comment/discuss the original PR #${PR_NUMBER}.
EOF

ALREADY_CREATED="$(gh pr --repo ${GITHUB_REPOSITORY} list --head ${BRANCH} --base main --json number --jq '.[].number')"
if [ -z "${ALREADY_CREATED}" ]; then
gh pr --repo "${GITHUB_REPOSITORY}" create --title "CI run for PR #${PR_NUMBER}" \
LABELS=$( (gh pr --repo "${GITHUB_REPOSITORY}" view ${PR_NUMBER} --json labels --jq '.labels.[].name'; echo run-e2e-tests-in-draft )| \
grep -E '^run' | paste -sd , -)
gh pr --repo "${GITHUB_REPOSITORY}" create --title "CI run for PR #${PR_NUMBER}" \
--body-file "body.md" \
--head "${BRANCH}" \
--base "main" \
--label "run-e2e-tests-in-draft" \
--label ${LABELS} \
--draft
- name: Modify the existing pull request (if required)
if: steps.get-pr.outputs.ALREADY_CREATED != ''
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LABELS_TO_ADD: ${{ steps.get-labels.outputs.LABELS_TO_ADD }}
LABELS_TO_REMOVE: ${{ steps.get-labels.outputs.LABELS_TO_REMOVE }}
ALREADY_CREATED: ${{ steps.get-pr.outputs.ALREADY_CREATED }}
run: |
ADD_CMD=
REMOVE_CMD=
[ -z "${LABELS_TO_ADD}" ] || ADD_CMD="--add-label ${LABELS_TO_ADD}"
[ -z "${LABELS_TO_REMOVE}" ] || REMOVE_CMD="--remove-label ${LABELS_TO_REMOVE}"
if [ -n "${ADD_CMD}" ] || [ -n "${REMOVE_CMD}" ]; then
gh pr --repo "${GITHUB_REPOSITORY}" edit ${ALREADY_CREATED} ${ADD_CMD} ${REMOVE_CMD}
fi

- run: git push --force origin "${BRANCH}"
if: steps.get-pr.outputs.ALREADY_CREATED != ''

cleanup:
# Close PRs and delete branchs if the original PR is closed.

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -299,21 +299,21 @@ jobs:
uses: actions/cache@v4
with:
path: pg_install/v14
key: v1-${{ runner.os }}-${{ matrix.build_type }}-pg-${{ steps.pg_v14_rev.outputs.pg_rev }}-${{ hashFiles('Makefile') }}
key: v1-${{ runner.os }}-${{ matrix.build_type }}-pg-${{ steps.pg_v14_rev.outputs.pg_rev }}-${{ hashFiles('Makefile') }}-${{ hashFiles('Dockerfile.build-tools') }}

- name: Cache postgres v15 build
id: cache_pg_15
uses: actions/cache@v4
with:
path: pg_install/v15
key: v1-${{ runner.os }}-${{ matrix.build_type }}-pg-${{ steps.pg_v15_rev.outputs.pg_rev }}-${{ hashFiles('Makefile') }}
key: v1-${{ runner.os }}-${{ matrix.build_type }}-pg-${{ steps.pg_v15_rev.outputs.pg_rev }}-${{ hashFiles('Makefile') }}-${{ hashFiles('Dockerfile.build-tools') }}

- name: Cache postgres v16 build
id: cache_pg_16
uses: actions/cache@v4
with:
path: pg_install/v16
key: v1-${{ runner.os }}-${{ matrix.build_type }}-pg-${{ steps.pg_v16_rev.outputs.pg_rev }}-${{ hashFiles('Makefile') }}
key: v1-${{ runner.os }}-${{ matrix.build_type }}-pg-${{ steps.pg_v16_rev.outputs.pg_rev }}-${{ hashFiles('Makefile') }}-${{ hashFiles('Dockerfile.build-tools') }}

- name: Build postgres v14
if: steps.cache_pg_14.outputs.cache-hit != 'true'
Expand Down
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,6 @@ RUN set -e \
&& apt install -y \
libreadline-dev \
libseccomp-dev \
libicu67 \
openssl \
ca-certificates \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& useradd -d /data neon \
Expand Down
32 changes: 32 additions & 0 deletions Dockerfile.build-tools
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,35 @@ RUN for package in Capture::Tiny DateTime Devel::Cover Digest::MD5 File::Spec JS
&& make install \
&& rm -rf ../lcov.tar.gz

# Compile and install the static OpenSSL library
ENV OPENSSL_VERSION=3.2.2
ENV OPENSSL_PREFIX=/usr/local/openssl
RUN wget -O /tmp/openssl-${OPENSSL_VERSION}.tar.gz https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz && \
echo "197149c18d9e9f292c43f0400acaba12e5f52cacfe050f3d199277ea738ec2e7 /tmp/openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum --check && \
cd /tmp && \
tar xzvf /tmp/openssl-${OPENSSL_VERSION}.tar.gz && \
rm /tmp/openssl-${OPENSSL_VERSION}.tar.gz && \
cd /tmp/openssl-${OPENSSL_VERSION} && \
./config --prefix=${OPENSSL_PREFIX} -static --static no-shared -fPIC && \
make ${MAKE_ARGS} && \
make install && \
cd /tmp && \
rm -rf /tmp/openssl-${OPENSSL_VERSION}

# Set the ICU version
ENV ICU_VERSION=72.1
ENV ICU_PREFIX=/usr/local/icu

# Download and build static ICU
RUN wget https://github.com/unicode-org/icu/releases/download/release-${ICU_VERSION//./-}/icu4c-${ICU_VERSION//./_}-src.tgz && \
tar -xzf icu4c-${ICU_VERSION//./_}-src.tgz && \
cd icu/source && \
./configure --prefix=${ICU_PREFIX} --enable-static --enable-shared=no CXXFLAGS="-fPIC" CFLAGS="-fPIC" && \
make && \
make install && \
cd ../.. && \
rm -rf icu icu4c-${ICU_VERSION//./_}-src.tgz

# Switch to nonroot user
USER nonroot:nonroot
WORKDIR /home/nonroot
Expand Down Expand Up @@ -170,3 +199,6 @@ RUN whoami \
&& rustup --version --verbose \
&& rustc --version --verbose \
&& clang --version

# Set following flag to check in Makefile if its running in Docker
RUN touch /home/nonroot/.docker_build
Loading
Loading