Skip to content
Open
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
7 changes: 7 additions & 0 deletions .github/workflows/bcr-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ env:
jobs:
bcr-hermetic-test:
name: BCR Hermetic Build Test
# Stays on ubuntu-latest: docker run against vendor BCR image (gcr.io/bazel-public/ubuntu2204) untested on smithy podman shim.
runs-on: ubuntu-latest
timeout-minutes: 30

Expand Down Expand Up @@ -130,6 +131,7 @@ jobs:

bcr-toolchain-validation:
name: BCR Toolchain Validation
# Stays on ubuntu-latest: docker run against vendor BCR image (gcr.io/bazel-public/ubuntu2204) untested on smithy podman shim.
runs-on: ubuntu-latest
timeout-minutes: 20

Expand Down Expand Up @@ -184,6 +186,7 @@ jobs:

bcr-multi-platform-test:
name: BCR Multi-Platform Test
# Stays on ${{ matrix.os }}: matrix is multi-OS (Linux/macOS/Windows) + Bazel; smithy fleet is Linux-only without Bazel.
runs-on: ${{ matrix.os }}
timeout-minutes: 25
# Run on all PRs and main branch to catch Windows issues early
Expand Down Expand Up @@ -241,6 +244,7 @@ jobs:

bcr-incompatible-flags-test:
name: BCR Incompatible Flags Test
# Stays on ubuntu-latest: Bazel not installed on smithy fleet.
runs-on: ubuntu-latest
timeout-minutes: 20
# Only run on main branch and manual dispatch
Expand Down Expand Up @@ -287,6 +291,7 @@ jobs:

bcr-metadata-validation:
name: BCR Metadata Validation
# Stays on ubuntu-latest: bundled with the BCR test suite; keeping co-located with related Bazel jobs.
runs-on: ubuntu-latest
timeout-minutes: 10

Expand Down Expand Up @@ -348,6 +353,7 @@ jobs:

bcr-test-module-validation:
name: BCR Test Module Validation
# Stays on ubuntu-latest: Bazel not installed on smithy fleet.
runs-on: ubuntu-latest
timeout-minutes: 15

Expand Down Expand Up @@ -393,6 +399,7 @@ jobs:

bcr-summary:
name: BCR Test Summary
# Stays on ubuntu-latest: bundled summary job for the BCR test suite, keeping co-located.
runs-on: ubuntu-latest
needs: [bcr-hermetic-test, bcr-toolchain-validation]
if: always()
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ env:
jobs:
lint:
name: Lint and Format Check
# Stays on ubuntu-latest: Bazel (buildifier) not installed on smithy fleet.
runs-on: ubuntu-latest

steps:
Expand All @@ -38,6 +39,7 @@ jobs:

hermiticity-check:
name: Hermiticity Check
# Stays on ubuntu-latest: Bazel not installed on smithy fleet.
runs-on: ubuntu-latest
needs: lint

Expand Down Expand Up @@ -80,6 +82,7 @@ jobs:

test-linux:
name: Test on ubuntu-latest
# Stays on ubuntu-latest: Bazel + service container (registry:2) not supported on smithy fleet.
runs-on: ubuntu-latest
needs: [lint, hermiticity-check]

Expand Down Expand Up @@ -194,6 +197,7 @@ jobs:

test-macos:
name: Test on macos-latest
# Stays on macos-latest: smithy fleet is Linux-only.
runs-on: macos-latest
needs: [lint, hermiticity-check]

Expand Down Expand Up @@ -307,6 +311,7 @@ jobs:

test-windows:
name: Test on windows-latest
# Stays on windows-latest: smithy fleet is Linux-only.
runs-on: windows-latest
needs: [lint]
# Windows CI is currently experimental - failures don't block merges
Expand Down Expand Up @@ -363,6 +368,7 @@ jobs:

bcr-docker-test:
name: BCR Docker Environment Test
# Stays on ubuntu-latest: docker run against vendor BCR image (gcr.io/bazel-public/ubuntu2204) untested on smithy podman shim.
runs-on: ubuntu-latest
needs: [lint, hermiticity-check]

Expand Down Expand Up @@ -443,6 +449,7 @@ jobs:

integration:
name: Integration Tests
# Stays on ubuntu-latest: Bazel + sudo apt-get install not supported on smithy fleet.
runs-on: ubuntu-latest
needs: [test-linux, test-macos]

Expand Down Expand Up @@ -535,7 +542,7 @@ jobs:

release:
name: Release
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, light]
needs: [test-linux, test-macos, integration, bcr-docker-test, hermiticity-check]
if: github.ref == 'refs/heads/main'

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/docs-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ on:

jobs:
bazel-build-and-deploy:
# Stays on ubuntu-latest: Bazel not installed on smithy fleet.
runs-on: ubuntu-latest
# Only run on main branch to prevent accidental deployments
if: github.ref == 'refs/heads/main'
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/integration-examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ env:
jobs:
trigger-integration:
name: Trigger Integration Tests
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, light]

# This job requires a PAT with repo scope stored as INTEGRATION_TEST_TOKEN
# If the secret is not configured, the job will be skipped gracefully
Expand Down Expand Up @@ -97,6 +97,7 @@ jobs:
# This doesn't require cross-repo dispatch but duplicates the test logic
direct-integration-test:
name: Direct Integration Test
# Stays on ubuntu-latest: Bazel + sudo mv install steps not supported on smithy fleet.
runs-on: ubuntu-latest
# Only run if we don't have the dispatch token
# This provides a fallback for forks and repos without the secret
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/production-readiness.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
jobs:
smoke-tests:
name: Smoke Tests
# Stays on ${{ matrix.os }}: Bazel matrix (Linux + macOS); smithy fleet is Linux-only without Bazel.
runs-on: ${{ matrix.os }}
strategy:
matrix:
Expand Down Expand Up @@ -40,7 +41,7 @@ jobs:

security-validation:
name: Security Validation
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, light]

steps:
- uses: actions/checkout@v6
Expand Down Expand Up @@ -72,6 +73,7 @@ jobs:

performance-benchmark:
name: Performance Benchmark
# Stays on ubuntu-latest: Bazel not installed on smithy fleet.
runs-on: ubuntu-latest

steps:
Expand Down Expand Up @@ -114,6 +116,7 @@ jobs:

compatibility-matrix:
name: Compatibility Tests
# Stays on ${{ matrix.os }}: Bazel matrix (Linux + macOS); smithy fleet is Linux-only without Bazel.
runs-on: ${{ matrix.os }}
strategy:
matrix:
Expand All @@ -132,7 +135,7 @@ jobs:

production-readiness:
name: Production Ready ✅
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, light]
needs:
[
smoke-tests,
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ permissions:
jobs:
create_release:
name: Create Release
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, light]
outputs:
tag_name: ${{ steps.get_tag.outputs.tag_name }}
release_archive: ${{ steps.create_archive.outputs.archive_name }}
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/weekly-checksum-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ env:

jobs:
checksum-update:
# Stays on ubuntu-latest: Bazel + sudo apt-get install not supported on smithy fleet.
runs-on: ubuntu-latest
timeout-minutes: 45

Expand Down Expand Up @@ -430,7 +431,7 @@ jobs:
# Separate job for notification and cleanup
notify:
needs: checksum-update
runs-on: ubuntu-latest
runs-on: [self-hosted, linux, x64, light]
if: always()

steps:
Expand Down
Loading