| # 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. |
| |
| {% import 'macros.jinja' as macros with context %} |
| |
| {{ macros.github_header() }} |
| |
| jobs: |
| package: |
| name: Package |
| runs-on: ubuntu-18.04 |
| steps: |
| {{ macros.github_checkout_arrow()|indent }} |
| {{ macros.github_login_dockerhub()|indent }} |
| |
| - name: Set up Ruby |
| uses: actions/setup-ruby@v1 |
| - name: Free Up Disk Space |
| shell: bash |
| run: arrow/ci/scripts/util_cleanup.sh |
| - name: Cache ccache |
| uses: actions/cache@v2 |
| with: |
| path: arrow/dev/tasks/linux-packages/apache-arrow/{{ task_namespace }}/build/{{ target }}/ccache |
| key: linux-{{ task_namespace }}-ccache-{{ target }}-{{ "${{ hashFiles('arrow/cpp/**') }}" }} |
| restore-keys: linux-{{ task_namespace }}-ccache-{{ target }}- |
| - name: Build |
| run: | |
| set -e |
| pushd arrow/dev/tasks/linux-packages |
| rake version:update |
| rake docker:pull || : |
| rake --trace {{ task_namespace }}:build BUILD_DIR=build |
| sudo rm -rf */*/build |
| popd |
| env: |
| APT_TARGETS: {{ target }} |
| ARROW_VERSION: {{ arrow.version }} |
| REPO: {{ '${{ secrets.REPO }}' }} |
| YUM_TARGETS: {{ target }} |
| - name: Docker Push |
| continue-on-error: true |
| shell: bash |
| run: | |
| pushd arrow/dev/tasks/linux-packages |
| rake docker:push |
| popd |
| env: |
| APT_TARGETS: {{ target }} |
| REPO: {{ '${{ secrets.REPO }}' }} |
| YUM_TARGETS: {{ target }} |
| - name: Set up test |
| run: | |
| set -e |
| sudo apt update |
| sudo apt install -y \ |
| apt-utils \ |
| createrepo \ |
| devscripts \ |
| gpg \ |
| rpm |
| (echo "Key-Type: RSA"; \ |
| echo "Key-Length: 4096"; \ |
| echo "Name-Real: Test"; \ |
| echo "Name-Email: test@example.com"; \ |
| echo "%no-protection") | \ |
| gpg --full-generate-key --batch |
| GPG_KEY_ID=$(gpg --list-keys --with-colon test@example.com | grep fpr | cut -d: -f10) |
| echo "GPG_KEY_ID=${GPG_KEY_ID}" >> ${GITHUB_ENV} |
| gpg --export --armor test@example.com > arrow/dev/tasks/linux-packages/KEYS |
| - name: Test |
| run: | |
| set -e |
| pushd arrow/dev/tasks/linux-packages |
| rake --trace {{ task_namespace }}:test |
| rm -rf {{ task_namespace }}/repositories |
| popd |
| env: |
| APT_TARGETS: {{ target }} |
| ARROW_VERSION: {{ arrow.version }} |
| YUM_TARGETS: {{ target }} |
| |
| {% set patterns = upload_extensions | format_all("arrow/dev/tasks/linux-packages/**/*{}") %} |
| {{ macros.github_upload_releases(patterns)|indent }} |