Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
2ac49e0
fix(libdatadog): bound active agentless request buffers (#238)
BridgeAR Sep 1, 2026
44a0299
chore(deps): bump the patch-updates group across 1 directory with 2 u…
dependabot[bot] Sep 2, 2026
a2e47f8
chore(deps-dev): bump eslint-plugin-n from 17.24.0 to 18.2.2 (#175)
dependabot[bot] Sep 2, 2026
9e1aa41
chore(deps-dev): bump the minor-updates group across 1 directory with…
dependabot[bot] Sep 2, 2026
4af3770
chore(deps): bump body-parser from 1.20.4 to 2.3.0 in /test/crashtrac…
dependabot[bot] Sep 2, 2026
4a94257
perf(capabilities): remove redundant HTTP buffer copies (#242)
BridgeAR Sep 2, 2026
de1be88
chore(deps-dev): bump eslint-plugin-unicorn to 74 (#240)
BridgeAR Sep 2, 2026
f3c69dc
refactor(libdatadog): use callbacks for agentless transport (#239)
BridgeAR Sep 2, 2026
9b97b66
ci: reuse release proposal artifacts (#237)
BridgeAR Sep 2, 2026
bb43d2f
chore(deps): upgrade napi-rs to v3 (#244)
BridgeAR Sep 2, 2026
702a0e1
fix(ci): resolve release artifacts by candidate tree (#246)
BridgeAR Sep 2, 2026
1b3f8be
fix(crashtracker): preserve cross-context exception metadata (#257)
BridgeAR Sep 3, 2026
228ddb8
chore: remove obsolete repository residue (#247)
BridgeAR Sep 3, 2026
78023a8
refactor(process-discovery): accept metadata objects (#248)
BridgeAR Sep 3, 2026
cb0ffc8
bench(agentless): add end-to-end pipeline workloads (#250)
BridgeAR Sep 3, 2026
4964901
perf(wasm): rebuild std with immediate-abort panics (#255)
BridgeAR Sep 3, 2026
7140364
fix(capabilities): reject incomplete HTTP responses (#249)
BridgeAR Sep 3, 2026
f3cc3a3
feat(libdatadog): accept a borrowed transport agent (#259)
BridgeAR Sep 4, 2026
971f3c8
v0.21.0
BridgeAR Sep 2, 2026
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
6 changes: 1 addition & 5 deletions .github/actions/build-test-wasm/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,11 @@ inputs:
runs:
using: 'composite'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- name: Setup Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
- uses: ./.github/actions/setup-wasm
- run: yarn install
shell: bash
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
shell: bash
- name: Build WASM
run: |
mkdir -p ./prebuilds/${{ inputs.crate }}
Expand Down
13 changes: 9 additions & 4 deletions .github/actions/setup-wasm/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@ description: Restore the Cargo cache and install the pinned WASM toolchain
runs:
using: composite
steps:
- name: Add WASM target
run: rustup target add wasm32-unknown-unknown
- name: Install WASM Rust toolchain
run: |
rustup toolchain install "$(cat wasm-rust-toolchain)" \
--profile minimal \
--component rust-src \
--target wasm32-unknown-unknown
shell: bash
- name: Restore Cargo build cache
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
Expand All @@ -16,11 +20,12 @@ runs:
~/.cargo/registry/index
target
key: >-
wasm-${{ runner.os }}-${{ hashFiles('Cargo.lock', 'rust-toolchain.toml', '.cargo/config.toml') }}-${{
wasm-${{ runner.os }}-${{
hashFiles('Cargo.lock', '*rust-toolchain*', '.cargo/config.toml', 'scripts/build-wasm.js') }}-${{
hashFiles('Cargo.toml', 'crates/**/Cargo.toml', 'crates/**/*.rs') }}
restore-keys: >-
wasm-${{ runner.os }}-${{
hashFiles('Cargo.lock', 'rust-toolchain.toml', '.cargo/config.toml') }}-
hashFiles('Cargo.lock', '*rust-toolchain*', '.cargo/config.toml', 'scripts/build-wasm.js') }}-
- name: Install wasm-pack
env:
WASM_PACK_SHA256: 278a8d668085821f4d1a637bd864f1713f872b0ae3a118c77562a308c0abfe8d
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,37 @@ jobs:
uses: qard/heaviest-objects-in-the-universe@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

release-candidate:
if: github.event_name == 'pull_request' && github.base_ref == 'v0.x'
needs:
- lint
- package-size
- test-libdatadog
- test-libdatadog-windows
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: prebuilds
path: prebuilds
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: libdatadog-wasm
path: packages/libdatadog/wasm/dist
- id: candidate
run: |
TREE=$(git rev-parse 'HEAD^{tree}')
echo "$TREE" > release-candidate
echo "artifact-name=release-candidate-$TREE" >> "$GITHUB_OUTPUT"
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: ${{ steps.candidate.outputs.artifact-name }}
path: |
prebuilds
packages/libdatadog/wasm/dist
release-candidate
if-no-files-found: error
81 changes: 81 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ jobs:
runs-on: ubuntu-latest
outputs:
npm-tag: ${{ steps.versions.outputs.npm-tag }}
tree: ${{ steps.versions.outputs.tree }}
version: ${{ steps.versions.outputs.version }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand All @@ -34,10 +35,65 @@ jobs:

{
echo "npm-tag=$NPM_TAG"
echo "tree=$(git rev-parse 'HEAD^{tree}')"
echo "version=$VERSION"
} >> "$GITHUB_OUTPUT"

resolve-release-candidate:
if: github.event_name == 'push'
needs: versions
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
pull-requests: read
outputs:
run-id: ${{ steps.candidate.outputs.run-id }}
steps:
- id: candidate
env:
ARTIFACT_NAME: release-candidate-${{ needs.versions.outputs.tree }}
GH_TOKEN: ${{ github.token }}
run: |
PULL=$(
gh api "repos/$GITHUB_REPOSITORY/commits/$GITHUB_SHA/pulls" --jq '
[ .[] | select(
.state == "closed" and
.merged_at != null and
.base.ref == "v0.x"
)
]
| if length == 1 then .[0] else error("expected one merged v0.x pull request") end
| [.merge_commit_sha, .head.repo.full_name]
| @tsv
'
)
IFS=$'\t' read -r MERGE_SHA HEAD_REPOSITORY <<< "$PULL"

test "$MERGE_SHA" = "$GITHUB_SHA"
test "$HEAD_REPOSITORY" = "$GITHUB_REPOSITORY"

for attempt in {1..90}; do
RUN_ID=$(
gh api "repos/$GITHUB_REPOSITORY/actions/artifacts?name=$ARTIFACT_NAME" --jq "
[
.artifacts[]
| select(.expired == false)
]
| max_by(.created_at).workflow_run.id // empty
"
)
test -z "$RUN_ID" || break
if test "$attempt" -lt 90; then
sleep 10
fi
done
test -n "$RUN_ID"

echo "run-id=$RUN_ID" >> "$GITHUB_OUTPUT"

build-test-wasm:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
strategy:
matrix:
Expand All @@ -53,6 +109,7 @@ jobs:
crate: '${{ matrix.crate }}'

build-libdatadog-extras:
if: github.event_name == 'workflow_dispatch'
uses: Datadog/action-prebuildify/.github/workflows/build.yml@main
needs: build-test-wasm
with:
Expand All @@ -68,6 +125,7 @@ jobs:
apt-get install -y autoconf automake libtool) || true

build-libdatadog-wasm:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
needs: versions
steps:
Expand All @@ -87,6 +145,7 @@ jobs:
path: packages/libdatadog/wasm/dist

test-libdatadog-wasm:
if: github.event_name == 'workflow_dispatch'
needs: build-libdatadog-wasm
runs-on: ubuntu-latest
strategy:
Expand All @@ -107,6 +166,7 @@ jobs:

test-libdatadog-windows:
name: Test libdatadog WASM (Windows, Node ${{ matrix.node }})
if: github.event_name == 'workflow_dispatch'
needs: build-libdatadog-wasm
runs-on: windows-latest
strategy:
Expand All @@ -127,17 +187,29 @@ jobs:
- run: npm test --prefix packages/libdatadog

publish:
if: >-
!cancelled() &&
needs.versions.result == 'success' &&
((github.event_name == 'push' &&
needs.resolve-release-candidate.result == 'success') ||
(github.event_name == 'workflow_dispatch' &&
needs.build-libdatadog-extras.result == 'success' &&
needs.build-libdatadog-wasm.result == 'success' &&
needs.test-libdatadog-wasm.result == 'success' &&
needs.test-libdatadog-windows.result == 'success'))
runs-on: ubuntu-latest
needs:
- build-libdatadog-extras
- build-libdatadog-wasm
- resolve-release-candidate
- test-libdatadog-wasm
- test-libdatadog-windows
- versions
environment:
name: npm
url: https://npmjs.com/package/@datadog/libdatadog
permissions:
actions: read
id-token: write # Required for OIDC
contents: read
steps:
Expand All @@ -156,10 +228,19 @@ jobs:
node-version: '24'
registry-url: https://registry.npmjs.org
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
if: github.event_name == 'push'
with:
name: release-candidate-${{ needs.versions.outputs.tree }}
path: .
github-token: ${{ github.token }}
run-id: ${{ needs.resolve-release-candidate.outputs.run-id }}
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
if: github.event_name == 'workflow_dispatch'
with:
name: prebuilds
path: prebuilds
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
if: github.event_name == 'workflow_dispatch'
with:
name: libdatadog-wasm
path: packages/libdatadog/wasm/dist
Expand Down
Loading
Loading