Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
feba857
chore(deps): bump actions/upload-artifact from 4.6.2 to 7.0.1 (#14)
dependabot[bot] May 18, 2026
9f7b560
chore(deps): bump actions/download-artifact from 4.3.0 to 8.0.1 (#15)
dependabot[bot] May 18, 2026
8bf2c99
chore(deps): bump sha2 from 0.10.9 to 0.11.0 in /lynx (#16)
dependabot[bot] May 18, 2026
c9f801a
chore(deps): bump x509-parser from 0.16.0 to 0.18.1 in /lynx (#17)
dependabot[bot] May 18, 2026
6bcc0dd
chore(deps): bump tower-http from 0.6.10 to 0.6.11 in /lynx (#18)
dependabot[bot] May 18, 2026
3449261
chore(deps): bump notify from 6.1.1 to 8.2.0 in /lynx (#19)
dependabot[bot] May 18, 2026
dc49870
chore(deps): bump nix from 0.29.0 to 0.31.3 in /lynx (#21)
dependabot[bot] May 18, 2026
4326251
chore(deps): bump redis from 0.27.6 to 1.2.1 in /lynx (#20)
dependabot[bot] May 18, 2026
99942c8
chore(deps): bump tokio-tungstenite from 0.24.0 to 0.29.0 in /lynx (#22)
dependabot[bot] May 18, 2026
47e25c8
chore(deps): bump rand from 0.8.6 to 0.10.1 in /lynx (#25)
dependabot[bot] May 18, 2026
47dedb5
chore(deps): bump rcgen from 0.13.2 to 0.14.8 in /lynx (#24)
dependabot[bot] May 18, 2026
517e510
chore(deps): bump bollard from 0.17.1 to 0.21.0 in /lynx (#23)
dependabot[bot] May 18, 2026
d381ce2
chore(deps): update Cargo.lock for bollard 0.21.0
Jaro-c May 18, 2026
6cd1f73
chore: update dependencies in Cargo.lock
Jaro-c May 18, 2026
16d877e
ci: add CI gates to release workflows
Jaro-c May 18, 2026
0d6e153
fix: update code for rand 0.10, rcgen 0.14, and tungstenite 0.29 API …
Jaro-c May 18, 2026
aa4f457
style: apply rustfmt to config.rs and pki.rs
Jaro-c May 18, 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
115 changes: 113 additions & 2 deletions .github/workflows/release-agent.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,119 @@ permissions:
contents: write

jobs:
prepare:
name: Verify sqlx cache
runs-on: ubuntu-latest

services:
postgres:
image: postgres:18-alpine
env:
POSTGRES_USER: lynx_ci
POSTGRES_PASSWORD: lynx_ci
POSTGRES_DB: lynx_ci
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 5s
--health-timeout 5s
--health-retries 10

defaults:
run:
working-directory: lynx

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # stable
with:
toolchain: stable

- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
workspaces: lynx

- name: Install sqlx-cli
run: cargo install sqlx-cli --no-default-features --features postgres --locked

- name: Run migrations
env:
DATABASE_URL: postgres://lynx_ci:lynx_ci@localhost:5432/lynx_ci
run: |
sqlx migrate run --source agent/migrations
sqlx migrate run --source dashboard/server/migrations

- name: Verify sqlx cache is up-to-date
env:
DATABASE_URL: postgres://lynx_ci:lynx_ci@localhost:5432/lynx_ci
run: cargo sqlx prepare --check --workspace

ci:
name: CI checks
runs-on: ubuntu-latest

services:
postgres:
image: postgres:18-alpine
env:
POSTGRES_USER: lynx_ci
POSTGRES_PASSWORD: lynx_ci
POSTGRES_DB: lynx_ci
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 5s
--health-timeout 5s
--health-retries 10

defaults:
run:
working-directory: lynx

env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
DATABASE_URL: postgres://lynx_ci:lynx_ci@localhost:5432/lynx_ci

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # stable
with:
toolchain: stable
components: rustfmt, clippy

- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
workspaces: lynx

- name: Install sqlx-cli
run: cargo install sqlx-cli --no-default-features --features postgres --locked

- name: Install cargo-audit
run: cargo install cargo-audit --locked

- name: Run agent migrations
run: sqlx migrate run --source agent/migrations

- name: fmt
run: cargo fmt --package lynx-agent -- --check

- name: clippy
run: cargo clippy --package lynx-agent -- -D warnings

- name: test
run: cargo test --package lynx-agent --bin lynx-agent

- name: audit
run: cargo audit --ignore RUSTSEC-2023-0071

build:
name: Build ${{ matrix.arch }}
needs: [prepare, ci]
runs-on: ubuntu-latest

strategy:
Expand Down Expand Up @@ -79,7 +190,7 @@ jobs:
cp "$BINARY" "$ARTIFACT"
python3 .github/scripts/sign.py "$RELEASE_SIGN_KEY" "$ARTIFACT"

- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: agent-${{ matrix.arch }}
path: |
Expand All @@ -95,7 +206,7 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
merge-multiple: true

Expand Down
122 changes: 111 additions & 11 deletions .github/workflows/release-dashboard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@ jobs:

services:
postgres:
image: postgres:18
image: postgres:18-alpine
env:
POSTGRES_DB: lynx_dashboard
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ci_test
POSTGRES_USER: lynx_ci
POSTGRES_PASSWORD: lynx_ci
POSTGRES_DB: lynx_ci
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 5s
--health-timeout 3s
--health-timeout 5s
--health-retries 10

defaults:
Expand All @@ -53,17 +53,117 @@ jobs:

- name: Run migrations
env:
DATABASE_URL: postgresql://postgres:ci_test@localhost:5432/lynx_dashboard
run: sqlx migrate run --source dashboard/server/migrations
DATABASE_URL: postgres://lynx_ci:lynx_ci@localhost:5432/lynx_ci
run: |
sqlx migrate run --source dashboard/server/migrations
sqlx migrate run --source agent/migrations

- name: Verify sqlx cache is up-to-date
env:
DATABASE_URL: postgresql://postgres:ci_test@localhost:5432/lynx_dashboard
DATABASE_URL: postgres://lynx_ci:lynx_ci@localhost:5432/lynx_ci
run: cargo sqlx prepare --check --workspace

ci-server:
name: CI server (Rust)
runs-on: ubuntu-latest

services:
postgres:
image: postgres:18-alpine
env:
POSTGRES_USER: lynx_ci
POSTGRES_PASSWORD: lynx_ci
POSTGRES_DB: lynx_ci
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 5s
--health-timeout 5s
--health-retries 10
redis:
image: redis:8-alpine
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 5s
--health-timeout 5s
--health-retries 10

defaults:
run:
working-directory: lynx

env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
DATABASE_URL: postgres://lynx_ci:lynx_ci@localhost:5432/lynx_ci
REDIS_URL: redis://localhost:6379

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # stable
with:
toolchain: stable
components: rustfmt, clippy

- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
workspaces: lynx

- name: Install sqlx-cli
run: cargo install sqlx-cli --no-default-features --features postgres --locked

- name: Install cargo-audit
run: cargo install cargo-audit --locked

- name: Run migrations
run: sqlx migrate run --source dashboard/server/migrations

- name: fmt
run: cargo fmt --package lynx-dashboard-server -- --check

- name: clippy
run: cargo clippy --package lynx-dashboard-server -- -D warnings

- name: test
run: cargo test --package lynx-dashboard-server -- --test-threads=1

- name: audit
run: cargo audit --ignore RUSTSEC-2023-0071

ci-ui:
name: CI UI (frontend)
runs-on: ubuntu-latest

defaults:
run:
working-directory: lynx/dashboard/ui

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
with:
bun-version: latest

- name: Install dependencies
run: bun install --frozen-lockfile

- name: typecheck
run: bun run typecheck

- name: test
run: bun run test

- name: audit
run: bun audit --audit-level high

build:
name: Build ${{ matrix.arch }}
needs: prepare
needs: [prepare, ci-server, ci-ui]
runs-on: ubuntu-latest

strategy:
Expand Down Expand Up @@ -187,7 +287,7 @@ jobs:
# --- Upload artifacts ---------------------------------------------------

- name: Upload release artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: dashboard-${{ matrix.arch }}
path: |
Expand All @@ -207,7 +307,7 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
merge-multiple: true

Expand Down
Loading