# 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*