summaryrefslogtreecommitdiffstats
path: root/src/arrow/.github/workflows/dev.yml
diff options
context:
space:
mode:
Diffstat (limited to 'src/arrow/.github/workflows/dev.yml')
-rw-r--r--src/arrow/.github/workflows/dev.yml100
1 files changed, 100 insertions, 0 deletions
diff --git a/src/arrow/.github/workflows/dev.yml b/src/arrow/.github/workflows/dev.yml
new file mode 100644
index 000000000..9ef46c31f
--- /dev/null
+++ b/src/arrow/.github/workflows/dev.yml
@@ -0,0 +1,100 @@
+# 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: Dev
+
+on:
+ # always trigger
+ push:
+ pull_request:
+
+concurrency:
+ group: ${{ github.repository }}-${{ github.ref }}-${{ github.workflow }}
+ cancel-in-progress: true
+
+env:
+ ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
+ ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
+
+jobs:
+
+ lint:
+ name: Lint C++, Python, R, Docker, RAT
+ runs-on: ubuntu-latest
+ if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - name: Fetch Submodules and Tags
+ run: ci/scripts/util_checkout.sh
+ - name: Free Up Disk Space
+ run: ci/scripts/util_cleanup.sh
+ - 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 -e GITHUB_ACTIONS=true ubuntu-lint
+ - name: Docker Push
+ if: success() && github.event_name == 'push' && github.repository == 'apache/arrow'
+ continue-on-error: true
+ run: archery docker push ubuntu-lint
+
+ release:
+ name: Source Release and Merge Script
+ runs-on: ubuntu-20.04
+ if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
+ env:
+ GIT_AUTHOR_NAME: Github Actions
+ GIT_AUTHOR_EMAIL: github@actions
+ GIT_COMMITTER_NAME: Github Actions
+ GIT_COMMITTER_EMAIL: github@actions
+ 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 Python
+ uses: actions/setup-python@v1
+ with:
+ python-version: '3.6'
+ - name: Install Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: '2.6'
+ - name: Install Dependencies
+ shell: bash
+ run: |
+ pip install cython setuptools six pytest jira
+ - name: Run Release Test
+ shell: bash
+ run: |
+ ci/scripts/release_test.sh $(pwd)
+ - name: Run Merge Script Test
+ shell: bash
+ run: |
+ pytest -v dev/test_merge_arrow_pr.py