| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| # NOTE: must set "Crossbow" as name to have the badge links working in the |
| # github comment reports! |
| name: Crossbow |
| |
| on: |
| push: |
| branches: |
| - "*-github-*" |
| |
| jobs: |
| autobrew: |
| name: "Autobrew" |
| runs-on: macOS-latest |
| steps: |
| - name: Checkout Arrow |
| run: | |
| git clone --no-checkout {{ arrow.remote }} arrow |
| git -C arrow fetch -t {{ arrow.remote }} {{ arrow.branch }} |
| git -C arrow checkout FETCH_HEAD |
| git -C arrow submodule update --init --recursive |
| - name: Configure autobrew script |
| run: | |
| cd arrow/r |
| # Put the formula inside r/ so that it's included in the package build |
| cp ../dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb tools/apache-arrow.rb |
| # Pin the current commit in the formula to test so that we're not always pulling from master |
| sed -i.bak -E -e 's@https://github.com/apache/arrow.git"$@{{ arrow.remote }}.git", :revision => "{{ arrow.head }}"@' tools/apache-arrow.rb && rm -f tools/apache-arrow.rb.bak |
| # Sometimes crossbow gives a remote URL with .git and sometimes not. Make sure there's only one |
| sed -i.bak -E -e 's@.git.git@.git@' tools/apache-arrow.rb && rm -f tools/apache-arrow.rb.bak |
| # Get minio for S3 testing |
| brew install minio |
| - uses: r-lib/actions/setup-r@v1 |
| - name: Install dependencies |
| run: | |
| install.packages("remotes") |
| remotes::install_deps("arrow/r", dependencies = TRUE) |
| remotes::install_cran(c("rcmdcheck", "sys", "sessioninfo")) |
| shell: Rscript {0} |
| - name: Session info |
| run: | |
| options(width = 100) |
| pkgs <- installed.packages()[, "Package"] |
| sessioninfo::session_info(pkgs, include_base = TRUE) |
| shell: Rscript {0} |
| - name: Check |
| env: |
| _R_CHECK_CRAN_INCOMING_: false |
| ARROW_USE_PKG_CONFIG: false |
| run: arrow/ci/scripts/r_test.sh arrow |
| - name: Dump install logs |
| run: cat arrow/r/check/arrow.Rcheck/00install.out |
| if: always() |
| - name: Dump test logs |
| run: cat arrow/r/check/arrow.Rcheck/tests/testthat.Rout* |
| if: always() |
| - name: Save the test output |
| if: always() |
| uses: actions/upload-artifact@v2 |
| with: |
| name: test-output |
| path: arrow/r/check/arrow.Rcheck/tests/testthat.Rout* |