blob: bcd0607d02d2a9df6e261abd9cb17c5367d6804f [file] [log] [blame]
# 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.
name: C++ Cron
on:
push:
paths:
- '.github/workflows/cpp_cron.yml'
pull_request:
paths:
- '.github/workflows/cpp_cron.yml'
schedule:
- cron: |
0 */12 * * *
env:
DOCKER_BUILDKIT: 0
COMPOSE_DOCKER_CLI_BUILD: 1
ARROW_ENABLE_TIMING_TESTS: OFF
jobs:
debian:
name: AMD64 Debian ${{ matrix.debian }} C++
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
strategy:
fail-fast: false
matrix:
debian: [10]
env:
DEBIAN: ${{ matrix.debian }}
steps:
- name: Checkout Arrow
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Fetch Submodules and Tags
shell: bash
run: ci/scripts/util_checkout.sh
- name: Docker Pull
shell: bash
run: docker-compose pull --ignore-pull-failures debian-cpp
- name: Docker Build
shell: bash
run: docker-compose build debian-cpp
- name: Docker Run
shell: bash
run: |
sudo sysctl -w kernel.core_pattern="core.%e.%p"
ulimit -c unlimited
docker-compose run debian-cpp
- name: Docker Push
if: success() && github.repository == 'apache/arrow'
continue-on-error: true
shell: bash
run: |
docker login -u ${{ secrets.DOCKERHUB_USER }} \
-p ${{ secrets.DOCKERHUB_TOKEN }}
docker-compose push debian-cpp
fedora:
name: AMD64 Fedora ${{ matrix.fedora }} C++
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
strategy:
fail-fast: false
matrix:
fedora: [30]
env:
FEDORA: ${{ matrix.fedora }}
steps:
- name: Checkout Arrow
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Fetch Submodules and Tags
shell: bash
run: ci/scripts/util_checkout.sh
- name: Docker Pull
shell: bash
run: docker-compose pull --ignore-pull-failures fedora-cpp
- name: Docker Build
shell: bash
run: docker-compose build fedora-cpp
- name: Docker Run
shell: bash
run: |
sudo sysctl -w kernel.core_pattern="core.%e.%p"
ulimit -c unlimited
docker-compose run fedora-cpp
- name: Docker Push
if: success() && github.repository == 'apache/arrow'
continue-on-error: true
shell: bash
run: |
docker login -u ${{ secrets.DOCKERHUB_USER }} \
-p ${{ secrets.DOCKERHUB_TOKEN }}
docker-compose push fedora-cpp
ubuntu:
name: AMD64 Ubuntu ${{ matrix.ubuntu }} C++
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
strategy:
fail-fast: false
matrix:
ubuntu: [16.04, 18.04]
env:
UBUNTU: ${{ matrix.ubuntu }}
steps:
- name: Checkout Arrow
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Fetch Submodules and Tags
shell: bash
run: ci/scripts/util_checkout.sh
- name: Docker Pull
shell: bash
run: docker-compose pull --ignore-pull-failures ubuntu-cpp
- name: Docker Build
shell: bash
run: docker-compose build ubuntu-cpp
- name: Docker Run
shell: bash
run: |
sudo sysctl -w kernel.core_pattern="core.%e.%p"
ulimit -c unlimited
docker-compose run ubuntu-cpp
# No push step, it's the same image as ubuntu-cpp-sanitizer
ubuntu-cmake32:
name: AMD64 Ubuntu 18.04 C++ CMake 3.2
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
strategy:
fail-fast: false
matrix:
ubuntu: [18.04]
env:
UBUNTU: ${{ matrix.ubuntu }}
steps:
- name: Checkout Arrow
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Fetch Submodules and Tags
shell: bash
run: ci/scripts/util_checkout.sh
- name: Docker Pull
shell: bash
run: |
docker-compose pull --ignore-pull-failures ubuntu-cpp
docker-compose pull --ignore-pull-failures ubuntu-cpp-cmake32
- name: Docker Build
shell: bash
run: |
docker-compose build ubuntu-cpp
docker-compose build ubuntu-cpp-cmake32
- name: Docker Run
shell: bash
run: |
sudo sysctl -w kernel.core_pattern="core.%e.%p"
ulimit -c unlimited
docker-compose run ubuntu-cpp-cmake32
- name: Docker Push
if: success() && github.repository == 'apache/arrow'
continue-on-error: true
shell: bash
run: |
docker login -u ${{ secrets.DOCKERHUB_USER }} \
-p ${{ secrets.DOCKERHUB_TOKEN }}
docker-compose push ubuntu-cpp-cmake32
oss-fuzz:
name: OSS-Fuzz build check
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
strategy:
fail-fast: false
matrix:
ubuntu: [18.04]
steps:
- name: Checkout Arrow
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Fetch Submodules and Tags
shell: bash
run: ci/scripts/util_checkout.sh
- name: Checkout OSS-Fuzz
uses: actions/checkout@v1
with:
path: oss-fuzz
repository: google/oss-fuzz
ref: master
- name: Install dependencies
shell: bash
working-directory: ../oss-fuzz
run: |
python3 -m pip install setuptools
python3 -m pip install -r infra/travis/requirements.txt
- name: Build image
shell: bash
working-directory: ../oss-fuzz
run: |
python3 infra/helper.py build_image --pull arrow
- name: Build fuzzers
shell: bash
working-directory: ../oss-fuzz
run: |
python3 infra/helper.py build_fuzzers arrow `pwd`/../arrow
- name: Check build
shell: bash
working-directory: ../oss-fuzz
run: |
python3 infra/helper.py check_build arrow