diff --git a/.github/actions/setup-submodules/action.yaml b/.github/actions/setup-submodules/action.yaml new file mode 100644 index 000000000000..28f3c08052b8 --- /dev/null +++ b/.github/actions/setup-submodules/action.yaml @@ -0,0 +1,15 @@ +name: "Setup Submodules" +description: "Initialize and update git submodules for testing" +runs: + using: "composite" + steps: + - name: Initialize and update submodules + shell: bash + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE + git submodule init + # Override update=none setting for CI + git config submodule.testing.update checkout + git config submodule.parquet-testing.update checkout + git config submodule.datafusion-testing.update checkout + git submodule update --depth 1 diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index 3b2cc243d496..0693b14b55d3 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -46,8 +46,9 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: diff --git a/.github/workflows/docs_pr.yaml b/.github/workflows/docs_pr.yaml index 63b87c2e6dd9..8378714c2263 100644 --- a/.github/workflows/docs_pr.yaml +++ b/.github/workflows/docs_pr.yaml @@ -42,8 +42,9 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup uv uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0 - name: Install doc dependencies diff --git a/.github/workflows/extended.yml b/.github/workflows/extended.yml index 8f8597554b98..88b06ecc26c3 100644 --- a/.github/workflows/extended.yml +++ b/.github/workflows/extended.yml @@ -73,8 +73,9 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Install Rust run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y @@ -101,8 +102,9 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - name: Install Rust @@ -148,8 +150,9 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -171,8 +174,9 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.pr_head_sha }} # will be empty if triggered by push - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules # Don't use setup-builder to avoid configuring RUST_BACKTRACE which is expensive - name: Install protobuf compiler run: | diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 6194262e40f3..2c73af8b37f2 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -280,8 +280,9 @@ jobs: - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -327,8 +328,9 @@ jobs: - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain run: rustup toolchain install stable - name: Rust Dependency Cache @@ -359,8 +361,9 @@ jobs: - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -390,8 +393,9 @@ jobs: - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -453,8 +457,9 @@ jobs: - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -501,8 +506,9 @@ jobs: - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -526,8 +532,9 @@ jobs: - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -564,8 +571,9 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-macos-aarch64-builder - name: Run tests (excluding doctests) @@ -657,8 +665,9 @@ jobs: - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -682,8 +691,9 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -704,8 +714,9 @@ jobs: - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Setup Rust toolchain uses: ./.github/actions/setup-builder with: @@ -739,8 +750,9 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: - submodules: true fetch-depth: 1 + - name: Setup Submodules + uses: ./.github/actions/setup-submodules - name: Mark repository as safe for git # Required for git commands inside container (avoids "dubious ownership" error) diff --git a/.gitmodules b/.gitmodules index 037accdbe424..14f7ce2ec08d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,10 +1,13 @@ [submodule "parquet-testing"] path = parquet-testing url = https://github.com/apache/parquet-testing.git + update = none [submodule "testing"] path = testing url = https://github.com/apache/arrow-testing + update = none [submodule "datafusion-testing"] path = datafusion-testing url = https://github.com/apache/datafusion-testing.git branch = main + update = none