diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 1e9336e09fba8..79ce100271885 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -32,12 +32,13 @@ env: jobs: complete: - name: AMD64 Debian 12 Complete Documentation + name: AMD64 Ubuntu 24.04 Complete Documentation runs-on: ubuntu-latest if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 150 env: JDK: 21 + UBUNTU: 24.04 steps: - name: Checkout Arrow uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 @@ -50,8 +51,8 @@ jobs: uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 with: path: .docker - key: debian-docs-${{ hashFiles('cpp/**') }} - restore-keys: debian-docs- + key: ubuntu-docs-${{ hashFiles('cpp/**') }} + restore-keys: ubuntu-docs- - name: Setup Python uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 with: @@ -63,7 +64,7 @@ jobs: ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }} ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} JDK: 21 - run: archery docker run debian-docs + run: archery docker run ubuntu-docs - name: Docker Push if: >- success() && @@ -74,4 +75,4 @@ jobs: ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }} ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} continue-on-error: true - run: archery docker push debian-docs + run: archery docker push ubuntu-docs diff --git a/ci/docker/linux-apt-docs.dockerfile b/ci/docker/linux-apt-docs.dockerfile index 1c916840e071b..5bd4e2c8d0214 100644 --- a/ci/docker/linux-apt-docs.dockerfile +++ b/ci/docker/linux-apt-docs.dockerfile @@ -23,21 +23,18 @@ ARG jdk=8 ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium -# See R install instructions at https://cloud.r-project.org/bin/linux/ +# See R install instructions at https://cloud.r-project.org/bin/linux/ubuntu RUN apt-get update -y && \ apt-get install -y \ apt-transport-https \ + software-properties-common \ dirmngr \ gpg \ lsb-release && \ - gpg --keyserver keyserver.ubuntu.com \ - --recv-key 95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7 && \ - gpg --export 95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7 | \ - gpg --no-default-keyring \ - --keyring /usr/share/keyrings/cran.gpg \ - --import - && \ - echo "deb [signed-by=/usr/share/keyrings/cran.gpg] https://cloud.r-project.org/bin/linux/$(lsb_release -is | tr 'A-Z' 'a-z') $(lsb_release -cs)-cran40/" | \ - tee /etc/apt/sources.list.d/cran.list && \ + wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | \ + tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc && \ + # NOTE: Only R >= 4.0 is available in this repo + add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu '$(lsb_release -cs)'-cran40/' && \ if [ -f /etc/apt/sources.list.d/debian.sources ]; then \ sed -i \ -e 's/main$/main contrib non-free non-free-firmware/g' \ @@ -47,8 +44,7 @@ RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ autoconf-archive \ automake \ - chromium \ - chromium-sandbox \ + chromium-browser \ curl \ doxygen \ gi-docgen \ diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 2d84751d0f363..18408b7135d63 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -65,7 +65,7 @@ groups: - r-binary-packages - ubuntu-* - wheel-* - - test-debian-*-docs + - test-ubuntu-*-docs {############################# Testing tasks #################################} @@ -1446,15 +1446,16 @@ tasks: {% endfor %} # be sure to update binary-task.rb when upgrading ubuntu - test-debian-12-docs: + test-ubuntu-24.04-docs: ci: github template: docs/github.linux.yml params: env: - JDK: 17 + JDK: 21 + UBUNTU: 24.04 pr_number: Unset flags: "-v $PWD/build/:/build/" - image: debian-docs + image: ubuntu-docs publish: false artifacts: - docs.tar.gz @@ -1582,8 +1583,9 @@ tasks: template: docs/github.linux.yml params: env: - JDK: 17 + JDK: 21 + UBUNTU: 24.04 pr_number: Unset flags: "-v $PWD/build/:/build/" - image: debian-docs + image: ubuntu-docs publish: true diff --git a/docker-compose.yml b/docker-compose.yml index 8e3896345dca5..583d7a91528b0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -131,8 +131,7 @@ x-hierarchy: - debian-cpp: - debian-c-glib: - debian-ruby - - debian-python: - - debian-docs + - debian-python - debian-go: - debian-go-cgo - debian-go-cgo-python @@ -146,7 +145,8 @@ x-hierarchy: - ubuntu-c-glib: - ubuntu-ruby - ubuntu-lint - - ubuntu-python + - ubuntu-python: + - ubuntu-docs - ubuntu-python-sdist-test - ubuntu-r - ubuntu-r-only-r @@ -1762,24 +1762,24 @@ services: ################################ Docs ####################################### - debian-docs: + ubuntu-docs: # Usage: - # docker-compose build debian-cpp - # docker-compose build debian-python - # docker-compose build debian-docs - # docker-compose run --rm debian-docs - image: ${REPO}:${ARCH}-debian-${DEBIAN}-docs + # docker-compose build ubuntu-cpp + # docker-compose build ubuntu-python + # docker-compose build ubuntu-docs + # docker-compose run --rm ubuntu-docs + image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-docs build: context: . dockerfile: ci/docker/linux-apt-docs.dockerfile cache_from: - - ${REPO}:${ARCH}-debian-${DEBIAN}-docs + - ${REPO}:${ARCH}-ubuntu-${UBUNTU}-docs args: r: ${R} jdk: ${JDK} maven: ${MAVEN} node: ${NODE} - base: ${REPO}:${ARCH}-debian-${DEBIAN}-python-3 + base: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-python-3 # This is for Chromium used by Mermaid. Chromium uses namespace # isolation for security by default. cap_add: @@ -1798,7 +1798,7 @@ services: BUILD_DOCS_JS: "ON" BUILD_DOCS_PYTHON: "ON" BUILD_DOCS_R: "ON" - volumes: *debian-volumes + volumes: *ubuntu-volumes command: > /bin/bash -c " sudo mkdir -p /build /ccache && diff --git a/docs/source/python/getstarted.rst b/docs/source/python/getstarted.rst index 42e415c40b835..db13fd12aa415 100644 --- a/docs/source/python/getstarted.rst +++ b/docs/source/python/getstarted.rst @@ -141,7 +141,7 @@ and will lazily load chunks of data only when iterating over them import datetime - current_year = datetime.datetime.utcnow().year + current_year = datetime.datetime.now(datetime.UTC).year for table_chunk in birthdays_dataset.to_batches(): print("AGES", pc.subtract(current_year, table_chunk["years"]))