Skip to content
Open
Show file tree
Hide file tree
Changes from 33 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
338659f
Use setup action in cli.yml
thomasqueirozb Jan 9, 2026
409a1c0
Re-add review trigger functionality
thomasqueirozb Jan 9, 2026
6227753
Add review-wrapper
thomasqueirozb Jan 9, 2026
8bc3708
Add contents: read to MMQ
thomasqueirozb Jan 9, 2026
0e8d862
Remove invalid review-wrapper and add set-commit-status-*
thomasqueirozb Jan 9, 2026
c8a21be
Add contents: read to ci-review-trigger
thomasqueirozb Jan 9, 2026
f277578
Add protoc: true to cli.yml
thomasqueirozb Jan 9, 2026
f4522d6
Remove review trigger custom status
thomasqueirozb Jan 9, 2026
87d8ee2
Use setup in msrv
thomasqueirozb Jan 9, 2026
103bbdb
Use setup action in unit_mac
thomasqueirozb Jan 9, 2026
f466d4f
Re-add /ci-run-cli if check
thomasqueirozb Jan 9, 2026
f0e43bd
Use /usr/local/bin for macos
thomasqueirozb Jan 9, 2026
9ed41ba
Add missing ref in /ci-run-unit-mac trigger
thomasqueirozb Jan 9, 2026
b5b3e3e
Use setup action in cross
thomasqueirozb Jan 9, 2026
bb6ae59
Use setup action in test-make-command
thomasqueirozb Jan 9, 2026
9d0e9ff
Remove unused issue_comment triggers in install-sh.yml
thomasqueirozb Jan 9, 2026
d330b1d
Add libsasl2 to setup action
thomasqueirozb Jan 9, 2026
d2bdbb5
Disable mold in cross
thomasqueirozb Jan 9, 2026
49d2037
Install libsasl2 in test-make-command
thomasqueirozb Jan 9, 2026
49640d4
Revert "Disable mold in cross"
thomasqueirozb Jan 9, 2026
9151b7f
Revert "Use setup action in cross"
thomasqueirozb Jan 9, 2026
4e3c3c6
Use setup action in k8s_e2e
thomasqueirozb Jan 12, 2026
644b5e3
Use correct ref in environment.yml
thomasqueirozb Jan 12, 2026
5a0f52e
Use correct ref in unit_windows.yml
thomasqueirozb Jan 12, 2026
c7b0c5b
Use setup action in component_features.yml
thomasqueirozb Jan 12, 2026
4a414f0
Use correct ref in deny.yml
thomasqueirozb Jan 12, 2026
481aaf1
Use correct ref in cross.yml
thomasqueirozb Jan 12, 2026
ad83296
Use setup action in cross
thomasqueirozb Jan 12, 2026
ba57336
Add ref to deny's workflow_call instead of only workflow_dispatch
thomasqueirozb Jan 12, 2026
2ea9c65
Revert "Add ref to deny's workflow_call instead of only workflow_disp…
thomasqueirozb Jan 12, 2026
d2f5b72
Replace statuses: write with contents: read in many workflows
thomasqueirozb Jan 12, 2026
0510a75
Reapply "Add ref to deny's workflow_call instead of only workflow_dis…
thomasqueirozb Jan 12, 2026
7de613d
Revert "Use setup action in cross"
thomasqueirozb Jan 12, 2026
d4dd5cf
Add mold false to k8s
thomasqueirozb Jan 12, 2026
0ad7da7
Free disk space before setup
thomasqueirozb Jan 12, 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
17 changes: 15 additions & 2 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ inputs:
required: false
default: false
description: "Install cue."
libsasl2:
required: false
default: false
description: "Install libsasl2." # Required to fully build Vector

# prepare.sh - rust
rust: # rustup module
Expand Down Expand Up @@ -155,7 +159,7 @@ runs:
${{ runner.os }}-cargo-

- name: Install mold
if: ${{ inputs.mold == 'true' || env.VDEV_NEEDS_COMPILE == 'true' }}
if: ${{ runner.os == 'Linux' && (inputs.mold == 'true' || env.VDEV_NEEDS_COMPILE == 'true') }}
shell: bash
run: |
echo "Installing mold"
Expand Down Expand Up @@ -206,7 +210,11 @@ runs:
shell: bash
run: |
echo "Installing protoc"
sudo bash ./scripts/environment/install-protoc.sh
if [[ "${{ runner.os }}" == "macOS" ]]; then
sudo bash ./scripts/environment/install-protoc.sh /usr/local/bin
else
sudo bash ./scripts/environment/install-protoc.sh
fi

- name: Install cue
if: ${{ inputs.cue == 'true' }}
Expand All @@ -223,6 +231,11 @@ runs:
sudo cp "${TEMP}/cue" /usr/bin/cue
rm -rf "$TEMP"

- name: Install libsasl2
if: ${{ inputs.libsasl2 == 'true' }}
shell: bash
run: sudo apt-get update && sudo apt-get install -y libsasl2-dev

- name: Install vdev
if: ${{ inputs.vdev == 'true' }}
uses: ./.github/actions/install-vdev
Expand Down
22 changes: 20 additions & 2 deletions .github/workflows/ci-review-trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ on:
types: [submitted]

permissions:
statuses: write
contents: read

env:
DD_ENV: "ci"
Expand Down Expand Up @@ -85,16 +85,18 @@ jobs:
run: exit 1

cli:
needs: validate
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-cli')
uses: ./.github/workflows/cli.yml
with:
ref: ${{ github.event.review.commit_id }}
secrets: inherit

make-test-behavior:
needs: validate
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-test-behavior')
uses: ./.github/workflows/test-make-command.yml
with:
ref: ${{ github.event.review.commit_id }}
command: test-behavior
job_name: make test-behavior
secrets: inherit
Expand All @@ -104,6 +106,7 @@ jobs:
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-check-examples')
uses: ./.github/workflows/test-make-command.yml
with:
ref: ${{ github.event.review.commit_id }}
command: check-examples
job_name: make check-examples
secrets: inherit
Expand All @@ -113,6 +116,7 @@ jobs:
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-test-docs')
uses: ./.github/workflows/test-make-command.yml
with:
ref: ${{ github.event.review.commit_id }}
command: test-docs
job_name: make test-docs
secrets: inherit
Expand All @@ -121,40 +125,54 @@ jobs:
needs: validate
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-deny')
uses: ./.github/workflows/deny.yml
with:
ref: ${{ github.event.review.commit_id }}
secrets: inherit

component-features:
needs: validate
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-component-features')
uses: ./.github/workflows/component_features.yml
with:
ref: ${{ github.event.review.commit_id }}
secrets: inherit

cross:
needs: validate
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-cross')
uses: ./.github/workflows/cross.yml
with:
ref: ${{ github.event.review.commit_id }}
secrets: inherit

unit-mac:
needs: validate
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-unit-mac')
uses: ./.github/workflows/unit_mac.yml
with:
ref: ${{ github.event.review.commit_id }}
secrets: inherit

unit-windows:
needs: validate
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-unit-windows')
uses: ./.github/workflows/unit_windows.yml
with:
ref: ${{ github.event.review.commit_id }}
secrets: inherit

environment:
needs: validate
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-environment')
uses: ./.github/workflows/environment.yml
with:
ref: ${{ github.event.review.commit_id }}
secrets: inherit

k8s:
needs: validate
if: startsWith(github.event.review.body, '/ci-run-all') || contains(github.event.review.body, '/ci-run-k8s')
uses: ./.github/workflows/k8s_e2e.yml
with:
ref: ${{ github.event.review.commit_id }}
secrets: inherit
57 changes: 13 additions & 44 deletions .github/workflows/cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,61 +2,30 @@ name: CLI - Linux

on:
workflow_call:
inputs:
ref:
description: 'Git ref to checkout'
required: false
type: string

permissions:
statuses: write
contents: read

jobs:
test-cli:
runs-on: ubuntu-24.04
timeout-minutes: 30
env:
CARGO_INCREMENTAL: 0
steps:
- name: (PR review) Set latest commit status as pending
if: ${{ github.event_name == 'pull_request_review' }}
uses: myrotvorets/set-commit-status-action@3730c0a348a2ace3c110851bed53331bc6406e9f # v2.0.1
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
sha: ${{ github.event.review.commit_id }}
token: ${{ secrets.GITHUB_TOKEN }}
context: CLI - Linux
status: pending

- name: (PR review) Checkout review SHA
if: ${{ github.event_name == 'pull_request_review' }}
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
ref: ${{ github.event.review.commit_id }}

- name: Checkout branch
if: ${{ github.event_name != 'pull_request_review' }}
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Cache Cargo registry + index
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
ref: ${{ inputs.ref }}
- uses: ./.github/actions/setup
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-

- run: sudo -E bash scripts/environment/bootstrap-ubuntu-24.04.sh
- run: bash scripts/environment/prepare.sh --modules=cargo-nextest,datadog-ci
- run: echo "::add-matcher::.github/matchers/rust.json"
rust: true
cargo-nextest: true
protoc: true
datadog-ci: true
- run: make test-cli
- name: Upload test results
run: scripts/upload-test-results.sh
if: always()

- name: (PR review) Set latest commit status as ${{ job.status }}
uses: myrotvorets/set-commit-status-action@3730c0a348a2ace3c110851bed53331bc6406e9f # v2.0.1
if: always() && github.event_name == 'pull_request_review'
with:
sha: ${{ github.event.review.commit_id }}
token: ${{ secrets.GITHUB_TOKEN }}
context: CLI - Linux
status: ${{ job.status }}
48 changes: 19 additions & 29 deletions .github/workflows/component_features.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,49 +11,39 @@ name: Component Features - Linux

on:
workflow_call:
inputs:
ref:
description: 'Git ref to checkout'
required: false
type: string
workflow_dispatch:
inputs:
ref:
description: 'Git ref to checkout'
required: false
type: string
schedule:
- cron: '0 10 * * 1' # 10:00 UTC Monday (6 AM EST NYC)

permissions:
statuses: write
contents: read

jobs:
check-component-features:
# use free tier on schedule and 8 core to expedite results on demand invocation
runs-on: ${{ github.event_name == 'schedule' && 'ubuntu-24.04' || 'ubuntu-24.04-8core' }}
timeout-minutes: 180 # Usually takes 2h but this prevents it from hanging for an indefinite time
if: github.event_name == 'pull_request_review' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
steps:
- name: (PR review) Set latest commit status as pending
if: github.event_name == 'pull_request_review'
uses: myrotvorets/set-commit-status-action@3730c0a348a2ace3c110851bed53331bc6406e9f # v2.0.1
with:
sha: ${{ github.event.review.commit_id }}
token: ${{ secrets.GITHUB_TOKEN }}
context: Component Features - Linux
status: pending

- name: (PR review) Checkout PR branch
if: github.event_name == 'pull_request_review'
- name: Checkout branch
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
ref: ${{ github.event.review.commit_id }}
ref: ${{ inputs.ref }}

- name: Checkout branch
if: github.event_name != 'pull_request_review'
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: ./.github/actions/setup
with:
rust: true
cargo-nextest: true
protoc: true
libsasl2: true

- run: sudo -E bash scripts/environment/bootstrap-ubuntu-24.04.sh
- run: bash scripts/environment/prepare.sh --modules=rustup
- run: echo "::add-matcher::.github/matchers/rust.json"
- run: make check-component-features

- name: (PR review) Set latest commit status as ${{ job.status }}
if: always() && github.event_name == 'pull_request_review'
uses: myrotvorets/set-commit-status-action@3730c0a348a2ace3c110851bed53331bc6406e9f # v2.0.1
with:
sha: ${{ github.event.review.commit_id }}
token: ${{ secrets.GITHUB_TOKEN }}
context: Component Features - Linux
status: ${{ job.status }}
49 changes: 8 additions & 41 deletions .github/workflows/cross.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,14 @@ name: Cross

on:
workflow_call:
inputs:
ref:
description: 'Git ref to checkout'
required: false
type: string

permissions:
statuses: write
contents: read

jobs:
cross-linux:
Expand All @@ -25,24 +30,10 @@ jobs:
- arm-unknown-linux-gnueabi
- arm-unknown-linux-musleabi
steps:
- name: (PR review) Set latest commit status as pending
if: ${{ github.event_name == 'pull_request_review' }}
uses: myrotvorets/set-commit-status-action@3730c0a348a2ace3c110851bed53331bc6406e9f # v2.0.1
with:
sha: ${{ github.event.review.commit_id }}
token: ${{ secrets.GITHUB_TOKEN }}
context: Cross
status: pending

- name: (PR review) Checkout PR branch
if: ${{ github.event_name == 'pull_request_review' }}
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
ref: ${{ github.event.review.commit_id }}

- name: Checkout branch
if: ${{ github.event_name != 'pull_request_review' }}
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
ref: ${{ inputs.ref }}

- uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
name: Cache Cargo registry + index
Expand All @@ -68,27 +59,3 @@ jobs:
with:
name: "vector-debug-${{ matrix.target }}"
path: "./target/${{ matrix.target }}/debug/vector"

- name: (PR review) Set latest commit status as failed
uses: myrotvorets/set-commit-status-action@3730c0a348a2ace3c110851bed53331bc6406e9f # v2.0.1
if: failure() && github.event_name == 'pull_request_review'
with:
sha: ${{ steps.comment-branch.outputs.head_sha }}
token: ${{ secrets.GITHUB_TOKEN }}
context: Cross
status: 'failure'

update-pr-status:
name: (PR review) Signal result to PR
runs-on: ubuntu-24.04
timeout-minutes: 5
needs: cross-linux
if: needs.cross-linux.result == 'success' && github.event_name == 'pull_request_review'
steps:
- name: (PR review) Submit PR result as success
uses: myrotvorets/set-commit-status-action@3730c0a348a2ace3c110851bed53331bc6406e9f # v2.0.1
with:
sha: ${{ github.event.review.commit_id }}
token: ${{ secrets.GITHUB_TOKEN }}
context: Cross
status: 'success'
Loading
Loading