@@ -92,73 +92,35 @@ jobs:
9292 run : |
9393 nix build '.#x86_64-eif' -L || true
9494
95- echo "=== Finding EIF in nix store ==="
96- ls -la /nix/store/*batcher* 2>/dev/null || echo "No batcher found"
95+ EIF_DIR=$(ls -d /nix/store/*batcher-x86_64 2>/dev/null | grep -v '\.drv' | head -1)
9796
98- EIF=$(ls -d /nix/store/*batcher-x86_64 2>/dev/null | head -1)
99- echo "Found: $EIF"
100-
101- if [ -z "$EIF" ]; then
102- echo "ERROR: No EIF found in store"
97+ if [ -z "$EIF_DIR" ] || [ ! -d "$EIF_DIR" ]; then
98+ echo "ERROR: EIF directory not found"
10399 exit 1
104100 fi
105101
106- echo "=== EIF details ==="
107- ls -la "$EIF"
108- file "$EIF" || true
109-
110- echo "=== Copying EIF ==="
111- if [ -f "$EIF" ]; then
112- echo "EIF is a file"
113- cp -v "$EIF" ./enclave.eif
114- elif [ -d "$EIF" ]; then
115- echo "EIF is a directory, contents:"
116- ls -la "$EIF"/
117- cp -v "$EIF"/* ./enclave.eif 2>/dev/null || cp -rv "$EIF" ./enclave-dir
118- else
119- echo "EIF is neither file nor directory, trying direct copy"
120- cp -Lv "$EIF" ./enclave.eif
121- fi
102+ echo "EIF directory: $EIF_DIR"
103+ ls -la "$EIF_DIR"/
122104
123- echo "=== Result ==="
124- ls -la ./enclave* || echo "No enclave files found!"
105+ cp "$EIF_DIR/batcher.eif" ./enclave.eif
106+ cp "$EIF_DIR/pcr.json" ./pcr.json
107+
108+ echo "Copied files:"
109+ ls -la ./enclave.eif ./pcr.json
125110
126111 - name : Get PCR0
127112 run : |
128- echo "=== Approach 1: strings on EIF ==="
129- PCR0_STRINGS=$(strings ./enclave.eif | grep -E '^[a-f0-9]{96}$' | head -1 || true)
130- echo "Result: ${PCR0_STRINGS:-not found}"
131-
132- echo ""
133- echo "=== Approach 2: enclaver describe-eif (no args) ==="
134- ENCLAVER=$(nix build '.#enclaver' --print-out-paths --no-link)
135- cd "$(dirname ./enclave.eif)" && "${ENCLAVER}/bin/enclaver" describe-eif 2>&1 | head -20 || true
136- PCR0_ENCLAVER=$("${ENCLAVER}/bin/enclaver" describe-eif 2>&1 | grep -oP '"PCR0":\s*"\K[a-f0-9]+' || true)
137- echo "Result: ${PCR0_ENCLAVER:-not found}"
138- cd -
139-
140- echo ""
141- echo "=== Approach 3: file info ==="
142- file ./enclave.eif
143- ls -la ./enclave.eif
144- echo "First 200 bytes (hex):"
145- xxd ./enclave.eif | head -20
146-
147- echo ""
148- echo "=== Using first successful result ==="
149- PCR0="${PCR0_STRINGS:-${PCR0_ENCLAVER}}"
150-
151- if [ -n "$PCR0" ]; then
152- PCR0_KECCAK=$(cast keccak "0x${PCR0}")
153- echo "PCR0: $PCR0"
154- echo "Enclave Hash: $PCR0_KECCAK"
155- echo "PCR0_RAW=0x${PCR0}" >> $GITHUB_ENV
156- echo "ENCLAVE_HASH=${PCR0_KECCAK}" >> $GITHUB_ENV
157- else
158- echo "PCR0 not extracted - get it on EC2 with: nitro-cli describe-eif --eif-path <file>"
159- echo "PCR0_RAW=pending" >> $GITHUB_ENV
160- echo "ENCLAVE_HASH=pending" >> $GITHUB_ENV
161- fi
113+ echo "=== PCR values from pcr.json ==="
114+ cat ./pcr.json
115+
116+ PCR0=$(jq -r '.PCR0' ./pcr.json)
117+ echo "PCR0: $PCR0"
118+
119+ PCR0_KECCAK=$(cast keccak "0x${PCR0}")
120+ echo "Enclave Hash: $PCR0_KECCAK"
121+
122+ echo "PCR0_RAW=0x${PCR0}" >> $GITHUB_ENV
123+ echo "ENCLAVE_HASH=${PCR0_KECCAK}" >> $GITHUB_ENV
162124
163125 - name : Build Summary
164126 run : |
0 commit comments