Skip to content

Commit cf26a64

Browse files
committed
Merge branch 'main' into opamp-websocket-service
2 parents 950d7c3 + 65179dc commit cf26a64

File tree

30 files changed

+229
-91
lines changed

30 files changed

+229
-91
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Check link anchors
2+
include_fragments = true
3+
4+
# For relative links only, we exclude all external URLs
5+
exclude = [
6+
"^https?://.*",
7+
]

.github/scripts/.lychee.toml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
timeout = 30
2+
retry_wait_time = 5
3+
max_retries = 6
4+
max_concurrency = 4
5+
6+
# Check link anchors
7+
include_fragments = true
8+
9+
# excluding links to pull requests and issues is done for performance
10+
# sonatype snapshots are currrently unbrowseable
11+
exclude = [
12+
"^https://github.com/open-telemetry/opentelemetry-java-contrib/(issues|pull)/\\d+$",
13+
'^https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/io/opentelemetry/contrib/$',
14+
]
15+
16+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# this file exists so that Renovate can auto-update docker image versions that are then used elsewhere
2+
3+
FROM lycheeverse/lychee:sha-2aa22f8@sha256:2e3786630482c41f9f2dd081e06d7da1c36d66996e8cf6573409b8bc418d48c4 AS lychee

.github/scripts/link-check.sh

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
export MSYS_NO_PATHCONV=1 # for Git Bash on Windows
6+
7+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8+
ROOT_DIR="$SCRIPT_DIR/../.."
9+
DEPENDENCIES_DOCKERFILE="$SCRIPT_DIR/dependencies.dockerfile"
10+
11+
# Parse command line arguments
12+
RELATIVE_ONLY=false
13+
MODIFIED_FILES=""
14+
15+
while [[ $# -gt 0 ]]; do
16+
case $1 in
17+
--relative-only)
18+
RELATIVE_ONLY=true
19+
shift
20+
;;
21+
*)
22+
# Treat any other arguments as file paths
23+
MODIFIED_FILES="$MODIFIED_FILES $1"
24+
shift
25+
;;
26+
esac
27+
done
28+
29+
# Extract lychee version from dependencies.dockerfile
30+
LYCHEE_VERSION=$(grep "FROM lycheeverse/lychee:" "$DEPENDENCIES_DOCKERFILE" | sed 's/.*FROM lycheeverse\/lychee:\([^ ]*\).*/\1/')
31+
32+
# Determine target files/directories and config file
33+
TARGET="."
34+
LYCHEE_CONFIG=".github/scripts/.lychee.toml"
35+
36+
if [[ "$RELATIVE_ONLY" == "true" ]]; then
37+
LYCHEE_CONFIG=".github/scripts/.lychee-relative.toml"
38+
fi
39+
40+
if [[ -n "$MODIFIED_FILES" ]]; then
41+
TARGET="$MODIFIED_FILES"
42+
fi
43+
44+
# Build the lychee command with optional GitHub token
45+
CMD="lycheeverse/lychee:$LYCHEE_VERSION --verbose --config $LYCHEE_CONFIG"
46+
47+
# Add GitHub token if available
48+
if [[ -n "$GITHUB_TOKEN" ]]; then
49+
CMD="$CMD --github-token $GITHUB_TOKEN"
50+
fi
51+
52+
CMD="$CMD $TARGET"
53+
54+
# Determine if we should allocate a TTY
55+
DOCKER_FLAGS="--rm --init"
56+
if [[ -t 0 ]]; then
57+
DOCKER_FLAGS="$DOCKER_FLAGS -it"
58+
else
59+
DOCKER_FLAGS="$DOCKER_FLAGS -i"
60+
fi
61+
62+
# Run lychee with proper signal handling
63+
# shellcheck disable=SC2086
64+
exec docker run $DOCKER_FLAGS -v "$ROOT_DIR":/data -w /data $CMD

.github/workflows/build.yml

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ on:
88
pull_request:
99
merge_group:
1010
workflow_dispatch:
11+
schedule:
12+
# Run daily at 7:30 AM UTC
13+
- cron: '30 7 * * *'
1114

1215
permissions:
1316
contents: read
@@ -118,8 +121,12 @@ jobs:
118121
name: integration-test-results
119122
path: jmx-metrics/build/reports/tests/integrationTest
120123

121-
markdown-link-check:
122-
uses: ./.github/workflows/reusable-markdown-link-check.yml
124+
link-check:
125+
# release branches are excluded to avoid unnecessary maintenance if external links break
126+
# (and also because the README.md might need update on release branches before the release
127+
# download has been published)
128+
if: "!startsWith(github.ref_name, 'release/')"
129+
uses: ./.github/workflows/reusable-link-check.yml
123130

124131
markdown-lint-check:
125132
uses: ./.github/workflows/reusable-markdown-lint.yml
@@ -142,7 +149,7 @@ jobs:
142149
# and so would not short-circuit if used in the second-last position
143150
name: publish-snapshots${{ (github.ref_name != 'main' || github.repository != 'open-telemetry/opentelemetry-java-contrib') && ' (skipped)' || '' }}
144151
needs:
145-
# intentionally not blocking snapshot publishing on markdown-link-check or misspell-check
152+
# intentionally not blocking snapshot publishing on link-check or misspell-check
146153
- build
147154
- integration-test
148155
runs-on: ubuntu-latest
@@ -195,3 +202,31 @@ jobs:
195202
)
196203
)
197204
run: exit 1 # fail
205+
206+
workflow-notification:
207+
permissions:
208+
contents: read
209+
issues: write
210+
if: (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && always()
211+
needs:
212+
- build
213+
- test
214+
- integration-test
215+
- link-check
216+
- markdown-lint-check
217+
- misspell-check
218+
- shell-script-check
219+
- publish-snapshots
220+
uses: ./.github/workflows/reusable-workflow-notification.yml
221+
with:
222+
success: >-
223+
${{
224+
needs.build.result == 'success' &&
225+
needs.test.result == 'success' &&
226+
needs.integration-test.result == 'success' &&
227+
needs.link-check.result == 'success' &&
228+
needs.markdown-lint-check.result == 'success' &&
229+
needs.misspell-check.result == 'success' &&
230+
needs.shell-script-check.result == 'success' &&
231+
needs.publish-snapshots.result == 'success'
232+
}}

.github/workflows/codeql.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
5151

5252
- name: Initialize CodeQL
53-
uses: github/codeql-action/init@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1
53+
uses: github/codeql-action/init@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
5454
with:
5555
languages: ${{ matrix.language }}
5656
# using "latest" helps to keep up with the latest Kotlin support
@@ -65,6 +65,6 @@ jobs:
6565
run: ./gradlew assemble --no-build-cache --no-daemon
6666

6767
- name: Perform CodeQL analysis
68-
uses: github/codeql-action/analyze@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1
68+
uses: github/codeql-action/analyze@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
6969
with:
7070
category: "/language:${{matrix.language}}"

.github/workflows/ossf-scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@ jobs:
4242
# Upload the results to GitHub's code scanning dashboard (optional).
4343
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
4444
- name: "Upload to code-scanning"
45-
uses: github/codeql-action/upload-sarif@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1
45+
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
4646
with:
4747
sarif_file: results.sarif
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Reusable - Link check
2+
3+
on:
4+
workflow_call:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
link-check:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
14+
with:
15+
fetch-depth: 0 # needed for merge-base below
16+
17+
- name: Link check - relative links (all files)
18+
if: github.event_name == 'pull_request'
19+
env:
20+
GITHUB_TOKEN: ${{ github.token }}
21+
run: ./.github/scripts/link-check.sh --relative-only
22+
23+
- name: Get modified files
24+
if: github.event_name == 'pull_request'
25+
id: modified-files
26+
run: |
27+
merge_base=$(git merge-base origin/${{ github.base_ref }} HEAD)
28+
# Using lychee's default extension filter here to match when it runs against all files
29+
modified_files=$(git diff --name-only $merge_base...${{ github.event.pull_request.head.sha }} \
30+
| grep -E '\.(md|mkd|mdx|mdown|mdwn|mkdn|mkdown|markdown|html|htm|txt)$' \
31+
| tr '\n' ' ' || true)
32+
echo "files=$modified_files" >> $GITHUB_OUTPUT
33+
echo "Modified files: $modified_files"
34+
35+
- name: Link check - all links (modified files only)
36+
if: github.event_name == 'pull_request' && steps.modified-files.outputs.files != ''
37+
env:
38+
GITHUB_TOKEN: ${{ github.token }}
39+
run: ./.github/scripts/link-check.sh ${{ steps.modified-files.outputs.files }}
40+
41+
- name: Link check - all links (all files)
42+
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
43+
env:
44+
GITHUB_TOKEN: ${{ github.token }}
45+
run: ./.github/scripts/link-check.sh

.github/workflows/reusable-markdown-link-check.yml

Lines changed: 0 additions & 23 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,26 @@
22

33
## Unreleased
44

5+
## Version 1.47.0 (2025-07-04)
6+
7+
### Disk buffering
8+
9+
- Shared storage
10+
([#1912](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1912))
11+
- Implementing ExtendedLogRecordData
12+
([#1918](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1918))
13+
- Add missing EventName to disk-buffering LogRecordDataMapper
14+
([#1950](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1950))
15+
516
### GCP authentication extension
617

718
- Update the internal implementation such that the required headers are retrieved
819
from the Google Auth Library instead of manually constructing and passing them.
920
([#1860](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1860))
21+
- Add metrics support to auth extension
22+
([#1891](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1891))
23+
- Update ConfigurableOptions to read from ConfigProperties
24+
([#1904](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1904))
1025

1126
### Inferred spans
1227

0 commit comments

Comments
 (0)