Skip to content

Commit 7e40e49

Browse files
committed
Merge remote-tracking branch 'origin/vector-simd' into guardiann-poc
# Conflicts: # docs/sphinx/source/ReleaseNotes.md # fdb-extensions/fdb-extensions.gradle # fdb-extensions/src/main/java/com/apple/foundationdb/async/common/RandomHelpers.java # fdb-extensions/src/main/java/com/apple/foundationdb/async/hnsw/Delete.java # fdb-extensions/src/main/java/com/apple/foundationdb/async/hnsw/Insert.java # fdb-extensions/src/main/java/com/apple/foundationdb/async/hnsw/OutwardTraversalIterator.java # fdb-extensions/src/main/java/com/apple/foundationdb/async/hnsw/Primitives.java # fdb-extensions/src/main/java/com/apple/foundationdb/async/hnsw/Search.java # fdb-extensions/src/main/java/com/apple/foundationdb/kmeans/KMeans.java # fdb-extensions/src/main/java/com/apple/foundationdb/linear/Backend.java # fdb-extensions/src/main/java/com/apple/foundationdb/linear/RealVectorPrimitives.java # fdb-extensions/src/main/java/com/apple/foundationdb/linear/ScalarBackend.java # fdb-extensions/src/main/java/com/apple/foundationdb/linear/simd/SimdBackend.java # fdb-extensions/src/main/java/com/apple/foundationdb/rabitq/EncodedRealVector.java # fdb-extensions/src/test/java/com/apple/foundationdb/kmeans/KMeansTest.java # fdb-extensions/src/test/java/com/apple/foundationdb/kmeans/PartitionEvaluatorTest.java # fdb-extensions/src/test/java/com/apple/foundationdb/linear/BackendSelectionTest.java # fdb-extensions/src/test/java/com/apple/foundationdb/linear/RealVectorPrimitivesParityTest.java # gradle.properties # gradle/libs.versions.toml
2 parents eee15a8 + 889f155 commit 7e40e49

88 files changed

Lines changed: 3543 additions & 866 deletions

File tree

Some content is hidden

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

.github/dependabot.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: gradle
5+
directory: "/"
6+
cooldown:
7+
default-days: 14
8+
ignore:
9+
# Auto-service is handled in a special way to avoid adding a run-time dependency
10+
- dependency-name: "com.google.auto.service:auto-service"
11+
# Guava has historically made backwards incompatible changes, and we want to be more intentional about these updates
12+
- dependency-name: "com.google.guava:guava"
13+
# Protobuf is effectively part of our public API, and we want to be more considerate about when we update it
14+
- dependency-name: "com.google.protobuf:*"
15+
# Lucene classes are sometimes overridden internally, and so updating it requires more care and attention
16+
- dependency-name: "org.apache.lucene:*"
17+
# FDB dependency version has implications for which server and client versions can be used
18+
- dependency-name: "org.foundationdb:fdb-java"
19+
# slf4j is generally safe to update, but due to its ubiquity, it can lead to conflicts in downstream dependencies if we are too aggressive
20+
- dependency-name: "org.slf4j:*"
21+
schedule:
22+
interval: "weekly"
23+
day: "thursday"
24+
25+
- package-ecosystem: "pip"
26+
directory: "/docs/sphinx"
27+
cooldown:
28+
default-days: 14
29+
schedule:
30+
interval: "weekly"
31+
day: "thursday"
32+
33+
- package-ecosystem: "github-actions"
34+
cooldown:
35+
default-days: 14
36+
schedule:
37+
interval: "weekly"
38+
day: "thursday"
39+

.github/workflows/create_branch.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ on:
77
description: 'Base version to build off of (format: x.y.z)'
88
required: true
99

10+
permissions:
11+
contents: read
1012

1113
jobs:
1214
# Simple workflow that creates a release branch off of a given tag.
@@ -21,14 +23,17 @@ jobs:
2123
steps:
2224
# Checkout the tag corresponding to patch 0 for the given version
2325
- name: Checkout sources
24-
uses: actions/checkout@v6.0.2
26+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2527
with:
2628
ssh-key: ${{ secrets.DEPLOY_KEY }}
2729
fetch-tags: true
2830
ref: ${{ inputs.version }}.0
2931

30-
# Create and push the branch
3132
- name: Create Branch
32-
run: git checkout -b ${{ inputs.version }}-release
33+
env:
34+
INPUTS_VERSION: ${{ inputs.version }}
35+
run: git checkout -b "${INPUTS_VERSION}-release"
3336
- name: Push
34-
run: git push -u origin ${{ inputs.version }}-release
37+
env:
38+
INPUTS_VERSION: ${{ inputs.version }}
39+
run: git push -u origin "${INPUTS_VERSION}-release"

.github/workflows/metrics_analysis.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ on:
55
paths:
66
- '**/*.metrics.yaml'
77

8+
permissions:
9+
contents: read
10+
811
jobs:
912
metrics-analysis:
1013
runs-on: ubuntu-latest
@@ -15,7 +18,7 @@ jobs:
1518

1619
steps:
1720
- name: Checkout code
18-
uses: actions/checkout@v6.0.2
21+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1922
with:
2023
fetch-depth: 0 # Need full history for git diff
2124

@@ -24,19 +27,25 @@ jobs:
2427

2528
- name: Run metrics diff analysis
2629
id: metrics-diff
30+
env:
31+
PR_NUMBER: ${{ github.event.number }}
32+
BASE_SHA: ${{ github.sha }}
33+
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
34+
SERVER_URL: ${{ github.server_url }}
35+
REPOSITORY: ${{ github.repository }}
2736
run: |
2837
# Make sure we have the PR head fetched. Note that we only download the code for comparison,
2938
# we do not run any code from the pull request's version
30-
git fetch origin pull/${{ github.event.number }}/head
39+
git fetch origin pull/${PR_NUMBER}/head
3140
3241
# Run the analysis. Compare against the base hash of this PR
3342
./gradlew :yaml-tests:analyzeMetrics \
34-
-PmetricsAnalysis.baseRef="${{ github.sha }}" \
35-
-PmetricsAnalysis.headRef="${{ github.event.pull_request.head.sha }}" \
36-
-PmetricsAnalysis.urlBase="${{ github.server_url }}/${{ github.repository }}/blob" \
37-
-PmetricsAnalysis.repositoryRoot="${{ github.workspace }}" \
38-
-PmetricsAnalysis.output="${{ github.workspace }}/metrics-analysis-output.txt" \
39-
-PmetricsAnalysis.outlierQueries="${{ github.workspace }}/outlier-queries.txt"
43+
-PmetricsAnalysis.baseRef="${BASE_SHA}" \
44+
-PmetricsAnalysis.headRef="${HEAD_SHA}" \
45+
-PmetricsAnalysis.urlBase="${SERVER_URL}/${REPOSITORY}/blob" \
46+
-PmetricsAnalysis.repositoryRoot="${GITHUB_WORKSPACE}" \
47+
-PmetricsAnalysis.output="${GITHUB_WORKSPACE}/metrics-analysis-output.txt" \
48+
-PmetricsAnalysis.outlierQueries="${GITHUB_WORKSPACE}/outlier-queries.txt"
4049
4150
- name: Add Report To Summary
4251
run: cat metrics-analysis-output.txt > $GITHUB_STEP_SUMMARY
@@ -51,7 +60,7 @@ jobs:
5160
fi
5261
5362
- name: Comment on PR
54-
uses: actions/github-script@v9.0.0
63+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
5564
continue-on-error: true
5665
with:
5766
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -88,7 +97,7 @@ jobs:
8897
});
8998
9099
- name: Add inline comments for outliers
91-
uses: actions/github-script@v9.0.0
100+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
92101
if: steps.check-changes.outputs.SIGNIFICANT_CHANGES == 'true'
93102
continue-on-error: true
94103
with:

.github/workflows/nightly.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ on:
55
- cron: "0 7 * * 1-5"
66
workflow_dispatch:
77

8+
permissions:
9+
contents: read
10+
811
jobs:
912
# In parallel, we run:
1013
# a) all the tests
@@ -24,7 +27,7 @@ jobs:
2427
contents: read
2528
steps:
2629
- name: Checkout sources
27-
uses: actions/checkout@v6.0.2
30+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2831
- name: Setup Base Environment
2932
id: setup-base
3033
uses: ./actions/setup-base-env
@@ -56,7 +59,7 @@ jobs:
5659
contents: read
5760
steps:
5861
- name: Checkout sources
59-
uses: actions/checkout@v6.0.2
62+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6063
- name: Setup Base Environment
6164
uses: ./actions/setup-base-env
6265
- name: Calculate versions
@@ -79,7 +82,7 @@ jobs:
7982
timeout-minutes: 40
8083
steps:
8184
- name: Checkout sources
82-
uses: actions/checkout@v6.0.2
85+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
8386
- name: Setup Base Environment
8487
uses: ./actions/setup-base-env
8588
- name: Setup FDB
@@ -98,7 +101,7 @@ jobs:
98101
gradle_args: -PreleaseBuild=false -PpublishBuild=false -Ptests.mixedModeVersion=${{ matrix.version }}
99102
report_name: mixed-mode-${{ matrix.version }}-test-reports
100103
- name: Publish Coverage Data
101-
uses: actions/upload-artifact@v7.0.1
104+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
102105
with:
103106
name: mixed-mode-${{ matrix.version }}-coverage-data
104107
path: |
@@ -125,11 +128,11 @@ jobs:
125128
contents: read
126129
steps:
127130
- name: Checkout HEAD sources
128-
uses: actions/checkout@v6.0.2
131+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
129132
- name: Setup Base Environment
130133
uses: ./actions/setup-base-env
131134
- name: 'Download results'
132-
uses: actions/download-artifact@v8.0.0
135+
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
133136
with:
134137
pattern: 'mixed-mode-*-test-reports'
135138
- name: Generate mixed mode results
@@ -139,9 +142,11 @@ jobs:
139142
nightly_test:
140143
if: github.repository == 'FoundationDB/fdb-record-layer'
141144
runs-on: ubuntu-latest
145+
permissions:
146+
contents: read
142147
steps:
143148
- name: Checkout sources
144-
uses: actions/checkout@v6.0.2
149+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
145150
- name: Setup Base Environment
146151
uses: ./actions/setup-base-env
147152
- name: Setup FDB

.github/workflows/patch_release.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ on:
77
description: 'Branch to build off of'
88
required: true
99

10+
permissions:
11+
contents: read
12+
1013
jobs:
1114
no-op:
1215
runs-on: ubuntu-latest

.github/workflows/pr_labels.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
# but it's necessary to make sure that the check is applied to the final commit for a PR
77
types: [opened, reopened, labeled, unlabeled, synchronize]
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
labels:
1114
runs-on: ubuntu-latest
@@ -15,11 +18,11 @@ jobs:
1518
pull-requests: read
1619
steps:
1720
- name: Checkout sources
18-
uses: actions/checkout@v6.0.2
21+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1922
with:
2023
sparse-checkout: build/release-notes-config.json
2124
- name: Check Labels
22-
uses: actions/github-script@v9.0.0
25+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
2326
with:
2427
script: |
2528
// Gather required labels from release notes configuration

.github/workflows/pr_mixed_mode.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
pull_request:
55
types: [labeled, synchronize]
66

7+
permissions:
8+
contents: read
9+
710
jobs:
811
get-mixed-mode-versions:
912
# Run these jobs only when adding the label, or when updating HEAD when it already has the label
@@ -15,7 +18,7 @@ jobs:
1518
contents: read
1619
steps:
1720
- name: Checkout sources
18-
uses: actions/checkout@v6.0.2
21+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1922
- name: Setup Base Environment
2023
uses: ./actions/setup-base-env
2124
- name: Calculate versions
@@ -36,7 +39,7 @@ jobs:
3639
timeout-minutes: 40
3740
steps:
3841
- name: Checkout sources
39-
uses: actions/checkout@v6.0.2
42+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4043
- name: Setup Base Environment
4144
uses: ./actions/setup-base-env
4245
- name: Setup FDB
@@ -48,7 +51,7 @@ jobs:
4851
gradle_args: -PreleaseBuild=false -PpublishBuild=false -Ptests.mixedModeVersion=${{ matrix.version }}
4952
report_name: mixed-mode-${{ matrix.version }}-test-reports
5053
- name: Publish Coverage Data
51-
uses: actions/upload-artifact@v7.0.1
54+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
5255
with:
5356
name: mixed-mode-${{ matrix.version }}-coverage-data
5457
path: |
@@ -64,11 +67,11 @@ jobs:
6467
contents: read
6568
steps:
6669
- name: Checkout HEAD sources
67-
uses: actions/checkout@v6.0.2
70+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6871
- name: Setup Base Environment
6972
uses: ./actions/setup-base-env
7073
- name: 'Download results'
71-
uses: actions/download-artifact@v8.0.0
74+
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
7275
with:
7376
pattern: 'mixed-mode-*-test-reports'
7477
- name: Generate mixed mode results

0 commit comments

Comments
 (0)