Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
40157b9
build(deps-dev): bump ruff from 0.15.18 to 0.15.20
dependabot[bot] Jun 28, 2026
d0306db
Merge pull request #281 from blacklanternsecurity/dependabot/uv/dev/r…
liquidsec Jun 30, 2026
0a78636
build(deps-dev): bump ruff from 0.15.20 to 0.16.2 (#288)
dependabot[bot] Aug 20, 2026
e4c5814
build(deps-dev): bump maturin from 1.14.1 to 1.15.0
dependabot[bot] Aug 30, 2026
fd3818b
build(deps-dev): bump blasthttp from 0.9.0 to 0.10.0
dependabot[bot] Aug 30, 2026
84093c8
build(deps-dev): bump pydantic from 2.13.4 to 2.13.5
dependabot[bot] Sep 6, 2026
2f266f1
build(deps-dev): bump ruff from 0.16.2 to 0.16.8
dependabot[bot] Sep 20, 2026
9788201
build(deps): bump actions-rust-lang/setup-rust-toolchain
dependabot[bot] Sep 27, 2026
2550ab3
ci: pin the runner image and the branch-ref actions (#301)
singlerider Sep 29, 2026
f53fa3d
Merge pull request #292 from blacklanternsecurity/dependabot/uv/dev/b…
liquidsec Oct 1, 2026
81f0978
Merge pull request #300 from blacklanternsecurity/dependabot/uv/dev/r…
liquidsec Oct 1, 2026
277230d
Merge pull request #291 from blacklanternsecurity/dependabot/uv/dev/m…
liquidsec Oct 1, 2026
53b1e44
fix: attribute providers by containment, not ACL container
liquidsec Oct 1, 2026
01b9c7b
fix(lookup): attribute providers to the entries they declare
singlerider Oct 2, 2026
6f080b9
Merge pull request #296 from blacklanternsecurity/dependabot/uv/dev/p…
liquidsec Oct 2, 2026
f4dae8f
Merge pull request #299 from blacklanternsecurity/dependabot/github_a…
liquidsec Oct 2, 2026
2f52cb1
chore: bump version to 11.2.0
liquidsec Oct 2, 2026
1a5eaf8
docs: point signatures link at stable, not master
liquidsec Oct 2, 2026
47b5081
Merge fix/lookup-ancestor-attribution into fix/lookup-attribution
singlerider Oct 3, 2026
880617e
Merge remote-tracking branch 'upstream/dev' into fix/lookup-attribution
singlerider Oct 3, 2026
a5d1cdb
ci: publish on tag from Cargo.toml's version
singlerider Oct 3, 2026
3469dde
ci: no partial releases, and tests can't cancel publish
singlerider Oct 3, 2026
1cfad57
ci: tag-shape check, OIDC PyPI, release with SBOM, least privilege
singlerider Oct 3, 2026
03099b0
ci(publish): run PyPI upload in the pypi environment
singlerider Oct 3, 2026
16cffd1
refactor(lookup): drop unused ipnet and trim attribution comments
singlerider Oct 3, 2026
0ba01bc
ci: call the shared test, wheel, docker, and release workflows
singlerider Oct 3, 2026
a423ff2
docs: link the org release procedure
singlerider Oct 3, 2026
dca13b3
build(deps-dev): bump ruff from 0.16.8 to 0.16.9
dependabot[bot] Oct 4, 2026
826437f
build(deps): bump actions-rust-lang/setup-rust-toolchain
dependabot[bot] Oct 4, 2026
13939b1
Merge pull request #308 from blacklanternsecurity/dependabot/uv/dev/r…
liquidsec Oct 5, 2026
4e534f7
ci(dependabot): weekly grouped updates and shared auto-merge for mino…
singlerider Oct 6, 2026
cf6a310
test(lookup): replace insert-order test with inheritance chain test
singlerider Oct 6, 2026
285a601
Merge pull request #309 from blacklanternsecurity/dependabot/github_a…
liquidsec Oct 6, 2026
c827642
Merge pull request #304 from blacklanternsecurity/fix/lookup-attribution
liquidsec Oct 6, 2026
584c567
build(deps): bump pyo3 and pyo3-async-runtimes to 0.29 for Python 3.15
liquidsec Oct 6, 2026
397e398
Merge pull request #310 from blacklanternsecurity/fix/pyo3-python-3.15
liquidsec Oct 6, 2026
a100b1c
revert: restore pre-#304 CI and release setup
liquidsec Oct 19, 2026
81f7901
Merge pull request #316 from blacklanternsecurity/revert/pr-304-ci
liquidsec Oct 19, 2026
9404cb2
ci: open an issue when the daily signature update fails
liquidsec Oct 19, 2026
2d44f66
fix(zscaler): skip non-cloud keys in the CENR feed
liquidsec Oct 19, 2026
aa93136
ci: pin Python 3.14 where the dev group is installed
liquidsec Oct 19, 2026
2c0c323
Merge pull request #317 from blacklanternsecurity/feat/ci-failure-alerts
liquidsec Oct 19, 2026
80e4caf
build: require Python 3.11+, test on 3.15
liquidsec Oct 19, 2026
eb8b813
ci: re-pin shared dependabot auto-merge to CLA main
liquidsec Oct 20, 2026
e07573d
Merge pull request #318 from blacklanternsecurity/chore/python-3.11-3.15
liquidsec Oct 20, 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
88 changes: 77 additions & 11 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,87 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "cargo"
directory: "/"
target-branch: "dev"
schedule:
interval: "weekly"
groups:
cargo-minor-patch:
patterns:
- "*"
update-types:
- "minor"
- "patch"
cargo-major:
patterns:
- "*"
update-types:
- "major"
- package-ecosystem: "uv"
directory: "/"
target-branch: "dev"
schedule:
interval: "weekly"
groups:
uv-minor-patch:
patterns:
- "*"
update-types:
- "minor"
- "patch"
uv-major:
patterns:
- "*"
update-types:
- "major"
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "dev"
open-pull-requests-limit: 10
- package-ecosystem: github-actions
directory: /
schedule:
interval: "weekly"
groups:
github-actions:
github-actions-minor-patch:
patterns:
- "*" # Group all Actions updates into a single larger pull request
- "*"
update-types:
- "minor"
- "patch"
github-actions-major:
patterns:
- "*"
update-types:
- "major"
- package-ecosystem: "docker"
directory: "/"
target-branch: "dev"
schedule:
interval: weekly
interval: "weekly"
groups:
docker-minor-patch:
patterns:
- "*"
update-types:
- "minor"
- "patch"
docker-major:
patterns:
- "*"
update-types:
- "major"
- package-ecosystem: "helm"
directory: "/helm"
target-branch: "dev"
schedule:
interval: "weekly"
groups:
helm-minor-patch:
patterns:
- "*"
update-types:
- "minor"
- "patch"
helm-major:
patterns:
- "*"
update-types:
- "major"
2 changes: 1 addition & 1 deletion .github/workflows/cla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ permissions:

jobs:
CLAAssistant:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Generate token from GitHub App
id: app-token
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/daily-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ concurrency:

jobs:
update:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: write

Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/dependabot-auto-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Dependabot auto-merge
on: pull_request

permissions: {}

jobs:
auto-merge:
permissions:
contents: write
pull-requests: write
checks: read
uses: blacklanternsecurity/CLA/.github/workflows/dependabot-auto-merge.yml@ad6e7d77546f99f569e51085a0e7aad496e23b9c # 2026-10-20
8 changes: 4 additions & 4 deletions .github/workflows/docker-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ concurrency:

jobs:
docker-test:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v7
Expand All @@ -33,7 +33,7 @@ jobs:
python test_docker.py

docker-publish:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: docker-test
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/stable' }}

Expand Down Expand Up @@ -61,8 +61,8 @@ jobs:
type=sha,prefix=sha-
type=raw,value=latest,enable={{is_default_branch}}
type=raw,value=v11
type=raw,value=v11.1
type=raw,value=v11.1.0
type=raw,value=v11.2
type=raw,value=v11.2.0

- name: Build and push Docker image
uses: docker/build-push-action@v7
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pipeline-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ concurrency:

jobs:
test:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v7

- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: 3.x
python-version: "3.14"

- name: Set up uv
uses: astral-sh/setup-uv@v7
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/python-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ concurrency:

jobs:
test:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]

steps:
- uses: actions/checkout@v7
Expand All @@ -29,22 +29,22 @@ jobs:
uses: astral-sh/setup-uv@v7

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2

- name: Install dependencies
run: |
uv sync
uv sync --no-default-groups --group test

- name: Build Python bindings
run: |
uv run maturin develop --release
uv run --no-default-groups --group test maturin develop --release --group test

- name: Run Python tests
run: |
uv run pytest test_cloudcheck.py -v
uv run --no-default-groups --group test pytest test_cloudcheck.py -v

publish:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: test
if: github.event_name == 'push' && github.ref == 'refs/heads/stable'
permissions:
Expand All @@ -63,9 +63,9 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: "3.x"
python-version: "3.14"
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # 2026-09-03, no release tag
- name: Set up uv
uses: astral-sh/setup-uv@v7
- name: Get current version
Expand Down Expand Up @@ -254,7 +254,7 @@ jobs:
path: dist

sdist:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: publish
if: github.event_name == 'push' && github.ref == 'refs/heads/stable'
steps:
Expand All @@ -272,7 +272,7 @@ jobs:

release:
name: Release
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: [linux, musllinux, windows, macos, sdist]
if: github.event_name == 'push' && github.ref == 'refs/heads/stable'
permissions:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/rust-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ concurrency:

jobs:
test:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v7

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2

- name: Cache Rust dependencies
uses: actions/cache@v6
Expand All @@ -41,14 +41,14 @@ jobs:

publish:
needs: test
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
if: github.event_name == 'push' && github.ref == 'refs/heads/stable'

steps:
- uses: actions/checkout@v7

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2

- name: Publish to crates.io
run: |
Expand Down
74 changes: 74 additions & 0 deletions .github/workflows/signature-update-alerts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Signature Update Alerts

# Opens a GitHub issue when the daily signature update fails, comments on it if it keeps failing,
# and closes it when the update next succeeds.
# The name below must match `name:` in daily-update.yml exactly, or alerting silently stops.
# workflow_run only fires from this file on the default branch (stable).
on:
workflow_run:
workflows: [Daily Signature Update]
types: [completed]

permissions:
actions: read
issues: write

concurrency:
group: signature-update-alerts
cancel-in-progress: false

jobs:
alert:
runs-on: ubuntu-24.04
if: contains(fromJSON('["failure", "timed_out", "startup_failure", "success"]'), github.event.workflow_run.conclusion)
steps:
- name: Open, update, or close the alert issue
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
CONCLUSION: ${{ github.event.workflow_run.conclusion }}
RUN_ID: ${{ github.event.workflow_run.id }}
RUN_URL: ${{ github.event.workflow_run.html_url }}
RUN_EVENT: ${{ github.event.workflow_run.event }}
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
run: |
TITLE="Daily signature update failing"
LABEL="signature-update-failure"

ISSUE=$(gh issue list --repo "$REPO" --label "$LABEL" --state open --json number,title \
| jq -r --arg t "$TITLE" '[.[] | select(.title == $t)][0].number // empty')

if [ "$CONCLUSION" = "success" ]; then
if [ -n "$ISSUE" ]; then
gh issue comment "$ISSUE" --repo "$REPO" --body "Recovered in $RUN_URL"
gh issue close "$ISSUE" --repo "$REPO"
fi
exit 0
fi

FAILED=$(gh api "repos/$REPO/actions/runs/$RUN_ID/jobs" --paginate \
--jq '.jobs[] | select(.conclusion == "failure") | "- `\(.name)`: \([.steps[]? | select(.conclusion == "failure") | .name] | join(", "))"')
FAILED=${FAILED:-"- (no failed job details available)"}

BODY=$(cat <<EOF
The daily signature update did not succeed.

- Conclusion: \`$CONCLUSION\`
- Run: $RUN_URL
- Trigger: \`$RUN_EVENT\` on \`$HEAD_BRANCH\` @ \`${HEAD_SHA:0:7}\`

Failed jobs and steps:
$FAILED

The run's job summary lists the provider errors.
EOF
)

if [ -n "$ISSUE" ]; then
gh issue comment "$ISSUE" --repo "$REPO" --body "$BODY"
else
gh label create "$LABEL" --repo "$REPO" --color B60205 \
--description "Daily signature update is failing" --force
gh issue create --repo "$REPO" --title "$TITLE" --label "$LABEL" --body "$BODY"
fi
Loading
Loading