# 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 GLib & Ruby

on:
  push:
    paths:
      - '.github/workflows/ruby.yml'
      - 'ci/docker/**'
      - 'ci/scripts/c_glib_*'
      - 'ci/scripts/cpp_*'
      - 'ci/scripts/msys2_*'
      - 'ci/scripts/ruby_*'
      - 'ci/scripts/util_*'
      - 'c_glib/**'
      - 'cpp/**'
      - 'ruby/**'
  pull_request:
    paths:
      - '.github/workflows/ruby.yml'
      - 'ci/docker/**'
      - 'ci/scripts/c_glib_*'
      - 'ci/scripts/cpp_*'
      - 'ci/scripts/msys2_*'
      - 'ci/scripts/ruby_*'
      - 'ci/scripts/util_*'
      - 'c_glib/**'
      - 'cpp/**'
      - 'ruby/**'

env:
  DOCKER_VOLUME_PREFIX: ".docker/"
  ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
  ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}

jobs:

  ubuntu:
    name: AMD64 Ubuntu ${{ matrix.ubuntu }} GLib & Ruby
    runs-on: ubuntu-latest
    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
    strategy:
      fail-fast: false
      matrix:
        ubuntu:
          - 18.04
          - 20.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: Free Up Disk Space
        shell: bash
        run: ci/scripts/util_cleanup.sh
      - name: Cache Docker Volumes
        uses: actions/cache@v2
        with:
          path: .docker
          key: ubuntu-${{ matrix.ubuntu }}-ruby-${{ hashFiles('cpp/**') }}
          restore-keys: ubuntu-${{ matrix.ubuntu }}-ruby-
      - name: Setup Python
        uses: actions/setup-python@v1
        with:
          python-version: 3.8
      - name: Setup Archery
        run: pip install -e dev/archery[docker]
      - name: Execute Docker Build
        run: |
          sudo sysctl -w kernel.core_pattern="core.%e.%p"
          ulimit -c unlimited
          archery docker run ubuntu-ruby
      - name: Docker Push
        if: success() && github.event_name == 'push' && github.repository == 'apache/arrow'
        continue-on-error: true
        shell: bash
        run: archery docker push ubuntu-ruby

  macos:
    name: AMD64 MacOS 10.15 GLib & Ruby
    runs-on: macos-latest
    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
    strategy:
      fail-fast: false
    env:
      ARROW_BUILD_TESTS: OFF
      ARROW_GANDIVA: ON
      ARROW_GLIB_DEVELOPMENT_MODE: true
      ARROW_GLIB_GTK_DOC: true
      ARROW_HOME: /usr/local
      ARROW_JEMALLOC: OFF
      ARROW_ORC: OFF
      ARROW_PARQUET: ON
      ARROW_WITH_BROTLI: ON
      ARROW_WITH_LZ4: ON
      ARROW_WITH_SNAPPY: ON
      ARROW_WITH_ZLIB: ON
      ARROW_WITH_ZSTD: ON
      XML_CATALOG_FILES: /usr/local/etc/xml/catalog
    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: Install Homebrew Dependencies
        shell: bash
        run: |
          rm -f /usr/local/bin/2to3
          brew update --preinstall
          brew unlink gcc@8 gcc@9
          brew bundle --file=cpp/Brewfile
          brew bundle --file=c_glib/Brewfile
      - name: Install Ruby Dependencies
        run: |
          export MAKEFLAGS="-j$(sysctl -n hw.ncpu)"
          bundle install --gemfile c_glib/Gemfile
          bundle install --gemfile ruby/Gemfile
          for ruby_package_gemfile in ruby/*/Gemfile; do \
            bundle install --gemfile ${ruby_package_gemfile}
          done
      - name: Setup ccache
        run: |
          ci/scripts/ccache_setup.sh
      - name: ccache info
        id: ccache-info
        run: |
          echo "::set-output name=cache-dir::$(ccache --get-config cache_dir)"
      - name: Cache ccache
        uses: actions/cache@v2
        with:
          path: ${{ steps.ccache-info.outputs.cache-dir }}
          key: ruby-ccache-macos-${{ hashFiles('cpp/**') }}
          restore-keys: ruby-ccache-macos-
      - name: Build C++
        run: |
          ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
      - name: Build GLib
        run: |
          ci/scripts/c_glib_build.sh $(pwd) $(pwd)/build
      - name: Test GLib
        shell: bash
        run: ci/scripts/c_glib_test.sh $(pwd) $(pwd)/build
      - name: Test Ruby
        shell: bash
        run: ci/scripts/ruby_test.sh $(pwd) $(pwd)/build

  windows:
    name: AMD64 Windows MinGW ${{ matrix.mingw-n-bits }} GLib & Ruby
    runs-on: windows-latest
    if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
    strategy:
      fail-fast: false
      matrix:
        mingw-n-bits:
          - 64
        ruby-version:
          - 2.6
    env:
      ARROW_BUILD_SHARED: ON
      ARROW_BUILD_STATIC: OFF
      ARROW_BUILD_TESTS: OFF
      ARROW_BUILD_TYPE: release
      ARROW_DATASET: ON
      ARROW_FLIGHT: ON
      ARROW_GANDIVA: ON
      ARROW_HDFS: OFF
      ARROW_HOME: /mingw${{ matrix.mingw-n-bits }}
      ARROW_JEMALLOC: OFF
      ARROW_PARQUET: ON
      ARROW_PYTHON: OFF
      ARROW_S3: ON
      ARROW_USE_GLOG: OFF
      ARROW_WITH_BROTLI: ON
      ARROW_WITH_BZ2: ON
      ARROW_WITH_LZ4: ON
      ARROW_WITH_SNAPPY: ON
      ARROW_WITH_ZLIB: ON
      ARROW_WITH_ZSTD: ON
      # Don't use preinstalled Boost by empty BOOST_ROOT and
      # -DBoost_NO_BOOST_CMAKE=ON
      BOOST_ROOT: ""
      CMAKE_ARGS: >-
        -DARROW_PACKAGE_PREFIX=/mingw${{ matrix.mingw-n-bits }}
        -DBoost_NO_BOOST_CMAKE=ON
      CMAKE_UNITY_BUILD: ON
    steps:
      - name: Disable Crash Dialogs
        run: |
          reg add `
            "HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
            /v DontShowUI `
            /t REG_DWORD `
            /d 1 `
            /f
      - 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: Setup Ruby
        uses: actions/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby-version }}
      - name: Upgrade MSYS2
        run: |
          ridk exec bash ci\scripts\msys2_system_upgrade.sh
          taskkill /F /FI "MODULES eq msys-2.0.dll"
      - name: Clean MSYS2
        run: |
          ridk exec bash ci\scripts\msys2_system_clean.sh
      - name: Setup MSYS2
        run: |
          ridk exec bash ci\scripts\msys2_setup.sh ruby
      - name: Cache ccache
        uses: actions/cache@v2
        with:
          path: ccache
          key: ruby-ccache-mingw${{ matrix.mingw-n-bits }}-${{ hashFiles('cpp/**') }}
          restore-keys: ruby-ccache-mingw${{ matrix.mingw-n-bits }}-
      - name: Build C++
        run: |
          $Env:CMAKE_BUILD_PARALLEL_LEVEL = $Env:NUMBER_OF_PROCESSORS
          $source_dir = "$(ridk exec cygpath --unix "$(Get-Location)")"
          $build_dir = "$(ridk exec cygpath --unix "$(Get-Location)\build")"
          $ErrorActionPreference = "Continue"
          ridk exec bash ci\scripts\cpp_build.sh "${source_dir}" "${build_dir}"
      - name: Build GLib
        run: |
          $Env:CMAKE_BUILD_PARALLEL_LEVEL = $Env:NUMBER_OF_PROCESSORS
          $source_dir = "$(ridk exec cygpath --unix "$(Get-Location)")"
          $build_dir = "$(ridk exec cygpath --unix "$(Get-Location)\build")"
          $ErrorActionPreference = "Continue"
          ridk exec bash ci\scripts\c_glib_build.sh "${source_dir}" "${build_dir}"
      - name: RubyGems info
        id: rubygems-info
        run: |
          Write-Output "::set-output name=gem-dir::$(ridk exec gem env gemdir)"
      - name: Cache RubyGems
        uses: actions/cache@v2
        with:
          path: ${{ steps.rubygems-info.outputs.gem-dir }}
          key: ruby-rubygems-mingw${{ matrix.mingw-n-bits }}-${{ hashFiles('**/Gemfile', 'ruby/*/*.gemspec') }}
          restore-keys: ruby-rubygems-mingw${{ matrix.mingw-n-bits }}-
      - name: Install test dependencies
        run: |
          bundle install --gemfile c_glib\Gemfile
          bundle install --gemfile ruby\Gemfile
          Get-ChildItem ruby\*\Gemfile | `
            ForEach-Object {bundle install --gemfile $_}
      - name: Test GLib
        run: |
          $source_dir = "$(ridk exec cygpath --unix "$(Get-Location)")"
          $build_dir = "$(ridk exec cygpath --unix "$(Get-Location)\build")"
          $ErrorActionPreference = "Continue"
          ridk exec bash ci\scripts\c_glib_test.sh "${source_dir}" "${build_dir}"
      - name: Test Ruby
        run: |
          $Env:PKG_CONFIG_PATH = `
            "$(ridk exec cygpath --absolute --windows "${Env:ARROW_HOME}/lib/pkgconfig")"
          $Env:GI_TYPELIB_PATH = `
            "$(ridk exec cygpath --absolute --windows "${Env:ARROW_HOME}/lib/girepository-1.0")"
          $Env:RUBYOPTS = "-rdevkit"
          $Env:MAKE = "ridk exec make"
          $ErrorActionPreference = "Continue"
          rake -f ruby\Rakefile
