Rust implementation of OCI Distribution Spec with granular access control

fix: fallback to git rev-parse if TANGLED_COMMIT_SHA is missing

+10 -1
+10 -1
.tangled/workflows/build.yml
··· 27 27 steps: 28 28 - name: "Build Rust binary" 29 29 command: | 30 + echo "Available environment variables:" 31 + env | grep -i tangled || echo "No TANGLED_ vars found" 30 32 cargo build --release 31 33 ls -lh target/release/grain target/release/grainctl 32 34 ··· 79 81 echo "Logging in to Docker Hub..." 80 82 skopeo login --username "$DOCKER_USER" --password "$DOCKER_PASS" docker.io 81 83 84 + # Determine commit SHA (fallback to git if env var is missing) 85 + COMMIT_SHA="${TANGLED_COMMIT_SHA}" 86 + if [ -z "$COMMIT_SHA" ]; then 87 + COMMIT_SHA=$(git rev-parse HEAD) 88 + fi 89 + echo "Using commit SHA: $COMMIT_SHA" 90 + 82 91 echo "Pushing to Docker Hub..." 83 92 skopeo copy oci:base:grain docker://docker.io/pierrelf/grain:latest 84 - skopeo copy oci:base:grain docker://docker.io/pierrelf/grain:$TANGLED_COMMIT_SHA 93 + skopeo copy oci:base:grain "docker://docker.io/pierrelf/grain:${COMMIT_SHA}" 85 94 86 95 echo "Build and push completed successfully!"