Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
96e1b87
feat: make wasm_tools_component use hermetic wasm-tools binary
avrabe Oct 12, 2025
e2e7132
docs: add hermiticity analysis and remove cc_configure extension
avrabe Oct 12, 2025
a478059
docs: add RFC and solutions for rules_cc hermiticity issue
avrabe Oct 12, 2025
1e8bbc8
fix: resolve Rust hermiticity issue with rules_cc fork (Issue #163)
avrabe Oct 13, 2025
a1abc54
chore: add hermiticity CI check and finalize hermetic builds
avrabe Oct 13, 2025
adaed20
chore: ignore Python cache directories
avrabe Oct 13, 2025
46c4292
fix: remove broken cc_configure lines and add hermetic testing suite
avrabe Oct 17, 2025
e759e6b
chore: update MODULE.bazel.lock after removing rules_cc override
avrabe Oct 17, 2025
459ffaf
chore: add hermiticity CI check and finalize hermetic builds
avrabe Oct 20, 2025
86305d1
fix: use working target in hermetic test script
avrabe Oct 21, 2025
a23ddb2
fix: update all tests to use working hello_component_release target
avrabe Oct 21, 2025
3b88efb
fix: dynamically detect WASM output path in reproducibility test
avrabe Oct 21, 2025
e08af5e
feat(file-ops): add Phase 1 integration for external component
avrabe Oct 24, 2025
2d1c7d3
docs(file-ops): add version tracking in checksum registry
avrabe Oct 24, 2025
7659d63
fix(file-ops): resolve WASI sandboxing and test path issues
avrabe Oct 24, 2025
f6ef5bb
feat(file-ops): upgrade to v0.1.0-rc.3 with AOT variant support
avrabe Oct 24, 2025
b5383a6
feat(file-ops): implement Phase 2 with AOT extraction and external de…
avrabe Oct 24, 2025
e0fa75a
feat(file-ops): add debug logging to verify AOT usage
avrabe Oct 24, 2025
23d0dea
feat(file-ops): Phase 3 - deprecate embedded component
avrabe Oct 24, 2025
3f0c061
refactor(file-ops): use local AOT compilation for guaranteed compatib…
avrabe Oct 24, 2025
02c3a5a
fix(rust): resolve executable rule error in rust_wasm_binary
avrabe Oct 25, 2025
06d8d71
feat(wasm): add Go wrapper for wasmsign2 to resolve Bazel sandbox + W…
avrabe Oct 25, 2025
449b4b8
feat(security): limit WASI filesystem access in file-ops to necessary…
avrabe Oct 25, 2025
ac4f3dd
fix(wkg): enable network access for OCI registry operations in CI
avrabe Oct 25, 2025
e990085
fix(wasm): add backward compatibility for openssh_format attribute in…
avrabe Oct 25, 2025
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
58 changes: 54 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,52 @@ jobs:
# Show warnings but don't fail the CI
bazel run //:buildifier -- --lint=warn --mode=check -r . || true

hermiticity-check:
name: Hermiticity Check
runs-on: ubuntu-latest
needs: lint

steps:
- uses: actions/checkout@v5

- name: Install Bazelisk
run: |
curl -LO https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64
chmod +x bazelisk-linux-amd64
sudo mv bazelisk-linux-amd64 /usr/local/bin/bazel

- name: Install Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Build with Execution Log
run: |
echo "🔍 Building with execution logging to analyze hermiticity..."
bazel build --execution_log_json_file=/tmp/exec.json //examples/go_component:calculator_component

- name: Analyze Hermiticity
run: |
echo "📊 Analyzing build hermiticity..."
python3 tools/hermetic_test/analyze_exec_log.py /tmp/exec.json

- name: Run Comprehensive Hermetic Test Suite
run: |
echo "🧪 Running comprehensive hermetic test suite..."
chmod +x .hermetic_test.sh
./.hermetic_test.sh

- name: Upload Execution Log (on failure)
if: failure()
uses: actions/upload-artifact@v4
with:
name: hermiticity-execution-log
path: /tmp/exec.json

test-linux:
name: Test on ubuntu-latest
runs-on: ubuntu-latest
needs: lint # Run tests only after lint passes
needs: [lint, hermiticity-check]

services:
registry:
Expand Down Expand Up @@ -111,6 +153,10 @@ jobs:
//examples/js_component:simple_js_component \
//examples/js_component:hello_js_component \
//examples/js_component:calc_js_component \
//examples/wasm_signing:compact_keys \
//examples/wasm_signing:signed_component_embedded \
//examples/wasm_signing:signed_raw_wasm \
//examples/wasm_signing:verify_embedded \
//rust/... \
//go/... \
//cpp/... \
Expand Down Expand Up @@ -148,7 +194,7 @@ jobs:
test-macos:
name: Test on macos-latest
runs-on: macos-latest
needs: lint # Run tests only after lint passes
needs: [lint, hermiticity-check]

steps:
- uses: actions/checkout@v5
Expand Down Expand Up @@ -205,6 +251,10 @@ jobs:
//examples/js_component:simple_js_component \
//examples/js_component:hello_js_component \
//examples/js_component:calc_js_component \
//examples/wasm_signing:compact_keys \
//examples/wasm_signing:signed_component_embedded \
//examples/wasm_signing:signed_raw_wasm \
//examples/wasm_signing:verify_embedded \
//rust/... \
//go/... \
//cpp/... \
Expand Down Expand Up @@ -261,7 +311,7 @@ jobs:
bcr-docker-test:
name: BCR Docker Environment Test
runs-on: ubuntu-latest
needs: lint # Run in parallel with regular tests
needs: [lint, hermiticity-check]

steps:
- uses: actions/checkout@v5
Expand Down Expand Up @@ -433,7 +483,7 @@ jobs:
release:
name: Release
runs-on: ubuntu-latest
needs: [test-linux, test-macos, integration, bcr-docker-test]
needs: [test-linux, test-macos, integration, bcr-docker-test, hermiticity-check]
if: github.ref == 'refs/heads/main'

steps:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,4 @@ coverage/
# Profiling output
perf.data
flamegraph.svg
__pycache__/
Loading