Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
34 changes: 17 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
# Job 0: Generate CI matrix (selective execution - RFC-045)
generate-matrix:
name: Generate CI Matrix
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 5
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
Expand Down Expand Up @@ -136,7 +136,7 @@ jobs:
# Job 1: Generate protobuf code once (new)
generate-proto:
name: Generate Protobuf Code
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 10

steps:
Expand Down Expand Up @@ -203,7 +203,7 @@ jobs:
# Job 1: Lint Rust code
lint-rust:
name: Lint Rust
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 10

steps:
Expand Down Expand Up @@ -242,7 +242,7 @@ jobs:
# Job 2: Lint Python code
lint-python:
name: Lint Python
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 5

steps:
Expand All @@ -268,7 +268,7 @@ jobs:
# Job 2b: Lint Protobuf files
lint-proto:
name: Lint Protobuf
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 5

steps:
Expand Down Expand Up @@ -297,7 +297,7 @@ jobs:
# Job 2c: Lint GitHub Actions workflows
lint-github-actions:
name: Lint GitHub Actions
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 5

steps:
Expand All @@ -314,7 +314,7 @@ jobs:
# Job 3: Lint Go code (parallel by category)
lint-go:
name: Lint Go (${{ matrix.category }})
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 15
needs: generate-proto

Expand Down Expand Up @@ -393,7 +393,7 @@ jobs:
# Build Jobs (run early in parallel after linting passes)
build-rust:
name: Build Rust Components
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 10
needs: lint-rust

Expand Down Expand Up @@ -439,7 +439,7 @@ jobs:

build-go:
name: Build Go Components
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 15
needs: [generate-proto, lint-go]

Expand Down Expand Up @@ -505,7 +505,7 @@ jobs:
# Job 2: Test Rust proxy
test-proxy:
name: Test Rust Proxy
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 15

steps:
Expand Down Expand Up @@ -561,7 +561,7 @@ jobs:
# Job 3: Test Go drivers and patterns (including acceptance tests)
test-patterns:
name: Test ${{ matrix.name }}
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 15
needs: [generate-matrix, generate-proto]
if: needs.generate-matrix.outputs.run_full == 'true' || needs.generate-matrix.outputs.has_test == 'true'
Expand Down Expand Up @@ -684,7 +684,7 @@ jobs:
# Job 4: Integration tests
test-integration:
name: Integration Tests
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 10
needs: [generate-matrix, generate-proto]
if: needs.generate-matrix.outputs.run_full == 'true' || needs.generate-matrix.outputs.has_test == 'true'
Expand Down Expand Up @@ -732,7 +732,7 @@ jobs:
# Job 6: Validate documentation
validate-docs:
name: Validate Documentation
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 10

steps:
Expand Down Expand Up @@ -767,7 +767,7 @@ jobs:
# Unified build status (skipped, parallel builds above replace this)
build:
name: Build All Components
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 5
needs: [build-rust, build-go, test-proxy, test-patterns, test-integration]
if: always()
Expand All @@ -788,7 +788,7 @@ jobs:
# Job 8: Coverage summary
coverage-summary:
name: Coverage Summary
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 5
needs: [test-proxy, test-patterns, test-integration]
if: always()
Expand Down Expand Up @@ -820,7 +820,7 @@ jobs:
# Job 9: Upload to Codecov
codecov-upload:
name: Upload Coverage to Codecov
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 10
needs: [test-proxy, test-patterns, test-integration]
if: always()
Expand Down Expand Up @@ -861,7 +861,7 @@ jobs:
# Job 10: CI status check (required for merge)
ci-status:
name: CI Status Check
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 5
needs:
[
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
# ============================================================================
generate-proto:
name: Generate Protobuf Code
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 10

steps:
Expand Down Expand Up @@ -99,7 +99,7 @@
os: [linux, darwin, windows]
arch: [amd64, arm64]
runner:
- ubuntu-latest
- self-hosted
exclude:
# Windows arm64 cross-compilation is tricky
- os: windows
Expand Down Expand Up @@ -247,11 +247,11 @@
matrix:
include:
- target: x86_64-unknown-linux-gnu
runner: ubuntu-latest
runner: self-hosted
os: linux
arch: amd64
- target: aarch64-unknown-linux-gnu
runner: ubuntu-latest
runner: self-hosted
os: linux
arch: arm64
- target: x86_64-apple-darwin
Expand Down Expand Up @@ -379,7 +379,7 @@
# ============================================================================
build-python-client:
name: Build Python Client Package
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 15

steps:
Expand Down Expand Up @@ -466,7 +466,7 @@

- name: Generate checksums
working-directory: clients/python/dist
run: |

Check warning on line 469 in .github/workflows/release.yml

View workflow job for this annotation

GitHub Actions / Lint GitHub Actions

[actionlint] reported by reviewdog 🐶 shellcheck reported issue in this script: SC2035:info:1:11: Use ./*glob* or -- *glob* so names with dashes won't become options [shellcheck] Raw Output: i:.github/workflows/release.yml:469:9: shellcheck reported issue in this script: SC2035:info:1:11: Use ./*glob* or -- *glob* so names with dashes won't become options [shellcheck]
sha256sum * > SHA256SUMS
cat SHA256SUMS

Expand Down Expand Up @@ -504,7 +504,7 @@
# ============================================================================
build-images:
name: Build Docker Image (${{ matrix.service }}-${{ matrix.variant }})
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 30
needs: [generate-proto, build-binaries]

Expand Down Expand Up @@ -679,7 +679,7 @@
# ============================================================================
create-release:
name: Create GitHub Release
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 10
needs: [build-binaries, build-proxy, build-python-client, build-images]
if: (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')) || inputs.publish_artifacts
Expand Down Expand Up @@ -797,7 +797,7 @@
# ============================================================================
release-status:
name: Release Status
runs-on: ubuntu-latest
runs-on: self-hosted
timeout-minutes: 5
needs: [create-release]
if: always()
Expand Down
39 changes: 39 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# docs/.gitignore - GitHub Pages Build Output Directory
#
# CRITICAL: This directory contains BUILD OUTPUT ONLY (except img/)
#
# - Build output is generated by CI (docusaurus build --out-dir ../docs)
# - NEVER manually commit HTML/JS/CSS files from this directory
# - Source documentation is in docusaurus/docs/ and docs-cms/
#
# What IS allowed (tracked in git):
# - .nojekyll (required by GitHub Pages to bypass Jekyll processing)
# - CNAME (custom domain configuration, if used)
# - .gitattributes (git attributes for docs/, if needed)
# - This .gitignore file itself
# - img/ directory and all images (logos, icons, etc.)

# Ignore HTML pages (all generated)
*.html

# Ignore generated search index and sitemap
search-index.json
sitemap.xml

# Ignore generated directories (docusaurus output)
/adr/
/rfc/
/memos/
/user-guide/
/search/
/netflix/
/prds/
/docs/

# Ignore generated JS/CSS in assets/
/assets/css/
/assets/js/

# Allow img/ directory and all images
!/img/
!/img/**
Empty file removed docs/.nojekyll
Empty file.
Loading