chore: bump xet-core to c805591 (cas_object->xorb_object, Ulid tracki… #110
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| branches: [main] | |
| push: | |
| branches: [main] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| lint-test: | |
| name: Lint & Unit Tests | |
| runs-on: | |
| group: hf-mount-ci | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: rustfmt | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install system deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y fuse3 libfuse3-dev | |
| - name: Format check | |
| run: cargo +nightly fmt --check | |
| - name: Clippy | |
| run: cargo clippy -- -D warnings | |
| - name: Unit tests | |
| run: cargo test --lib | |
| smoke-test: | |
| name: Smoke Tests (FUSE + NFS) | |
| runs-on: | |
| group: hf-mount-ci | |
| needs: lint-test | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN_HUB_CI }} | |
| HF_ENDPOINT: https://hub-ci.huggingface.co | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install system deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y fuse3 libfuse3-dev nfs-common | |
| echo 'user_allow_other' | sudo tee -a /etc/fuse.conf | |
| - name: Build release binaries | |
| run: cargo build --release | |
| - name: Integration tests (buckets) | |
| run: cargo test --release --test fuse_ops --test nfs_ops -- --test-threads=1 --nocapture | |
| - name: Integration tests (repo mount) | |
| env: | |
| HF_ENDPOINT: https://huggingface.co | |
| run: unset HF_TOKEN && cargo test --release --test repo_ops -- --test-threads=1 --nocapture | |
| pjdfstest: | |
| name: POSIX Compliance (pjdfstest) | |
| runs-on: | |
| group: hf-mount-ci | |
| needs: lint-test | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN_HUB_CI }} | |
| HF_ENDPOINT: https://hub-ci.huggingface.co | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install system deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y fuse3 libfuse3-dev autoconf automake gcc make perl | |
| echo 'user_allow_other' | sudo tee -a /etc/fuse.conf | |
| - name: Build release binaries | |
| run: cargo build --release | |
| - name: Run pjdfstest | |
| timeout-minutes: 10 | |
| run: | | |
| set -o pipefail | |
| cargo test --release --test pjdfstest -- --nocapture 2>&1 | tee pjdfstest_output.txt | |
| - name: Post pjdfstest results | |
| if: github.event_name == 'pull_request' | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| CLEAN=$(sed 's/\x1b\[[0-9;]*m//g' pjdfstest_output.txt) | |
| TABLES=$(echo "$CLEAN" | awk ' | |
| /^=====*$/ { inside=!inside; print; next } | |
| inside { print } | |
| ') | |
| if [ -z "$TABLES" ]; then | |
| echo "No pjdfstest table found in output" | |
| exit 0 | |
| fi | |
| PR="${{ github.event.pull_request.number }}" | |
| MARKER="<!-- pjdfstest-results -->" | |
| BODY="${MARKER} | |
| ## POSIX Compliance (pjdfstest) | |
| \`\`\` | |
| ${TABLES} | |
| \`\`\`" | |
| COMMENT_ID=$(gh api "repos/${{ github.repository }}/issues/${PR}/comments" \ | |
| --jq ".[] | select(.body | startswith(\"${MARKER}\")) | .id" | head -1) | |
| if [ -n "$COMMENT_ID" ]; then | |
| gh api "repos/${{ github.repository }}/issues/comments/${COMMENT_ID}" \ | |
| -X PATCH -f body="$BODY" | |
| echo "Updated existing comment $COMMENT_ID" | |
| else | |
| gh pr comment "$PR" --body "$BODY" | |
| echo "Created new comment" | |
| fi | |
| bench: | |
| name: Benchmarks | |
| runs-on: | |
| group: hf-mount-ci | |
| needs: lint-test | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN_HUB_CI }} | |
| HF_ENDPOINT: https://hub-ci.huggingface.co | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install system deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y fuse3 libfuse3-dev nfs-common | |
| echo 'user_allow_other' | sudo tee -a /etc/fuse.conf | |
| - name: Build release binaries | |
| run: cargo build --release | |
| - name: Install fio | |
| run: sudo apt-get install -y fio | |
| - name: Run benchmarks | |
| timeout-minutes: 10 | |
| run: cargo test --release --test bench --test fio_bench -- --nocapture 2>&1 | tee bench_output.txt | |
| - name: Post benchmark results | |
| if: github.event_name == 'pull_request' | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| # Strip ANSI codes, then extract only ==== delimited blocks | |
| CLEAN=$(sed 's/\x1b\[[0-9;]*m//g' bench_output.txt) | |
| TABLES=$(echo "$CLEAN" | awk ' | |
| /^=====*$/ { inside=!inside; print; next } | |
| inside { print } | |
| ') | |
| if [ -z "$TABLES" ]; then | |
| echo "No benchmark table found in output" | |
| exit 0 | |
| fi | |
| PR="${{ github.event.pull_request.number }}" | |
| MARKER="<!-- bench-results -->" | |
| BODY="${MARKER} | |
| ## Benchmark Results | |
| \`\`\` | |
| ${TABLES} | |
| \`\`\`" | |
| # Find existing comment with our marker | |
| COMMENT_ID=$(gh api "repos/${{ github.repository }}/issues/${PR}/comments" \ | |
| --jq ".[] | select(.body | startswith(\"${MARKER}\")) | .id" | head -1) | |
| if [ -n "$COMMENT_ID" ]; then | |
| gh api "repos/${{ github.repository }}/issues/comments/${COMMENT_ID}" \ | |
| -X PATCH -f body="$BODY" | |
| echo "Updated existing comment $COMMENT_ID" | |
| else | |
| gh pr comment "$PR" --body "$BODY" | |
| echo "Created new comment" | |
| fi |