summaryrefslogtreecommitdiffstats
path: root/src/arrow/dev/tasks/r/github.macos.autobrew.yml
diff options
context:
space:
mode:
Diffstat (limited to 'src/arrow/dev/tasks/r/github.macos.autobrew.yml')
-rw-r--r--src/arrow/dev/tasks/r/github.macos.autobrew.yml78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/arrow/dev/tasks/r/github.macos.autobrew.yml b/src/arrow/dev/tasks/r/github.macos.autobrew.yml
new file mode 100644
index 000000000..1b8500f64
--- /dev/null
+++ b/src/arrow/dev/tasks/r/github.macos.autobrew.yml
@@ -0,0 +1,78 @@
+# 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*