1 # Licensed to the Apache Software Foundation (ASF) under one
2 # or more contributor license agreements. See the NOTICE file
3 # distributed with this work for additional information
4 # regarding copyright ownership. The ASF licenses this file
5 # to you under the Apache License, Version 2.0 (the
6 # "License"); you may not use this file except in compliance
7 # with the License. You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing,
12 # software distributed under the License is distributed on an
13 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 # KIND, either express or implied. See the License for the
15 # specific language governing permissions and limitations
18 {% import 'macros.jinja' as macros with context %}
20 {{ macros.github_header() }}
27 {{ macros.github_checkout_arrow()|indent }}
28 {{ macros.github_login_dockerhub()|indent }}
31 uses: ruby/setup-ruby@v1
34 - name: Free Up Disk Space
36 run: arrow/ci/scripts/util_cleanup.sh
38 uses: actions/cache@v2
40 path: arrow/dev/tasks/linux-packages/apache-arrow/{{ task_namespace }}/build/{{ target }}/ccache
41 key: linux-{{ task_namespace }}-ccache-{{ target }}-{{ "${{ hashFiles('arrow/cpp/**') }}" }}
42 restore-keys: linux-{{ task_namespace }}-ccache-{{ target }}-
46 pushd arrow/dev/tasks/linux-packages
49 rake --trace {{ task_namespace }}:build BUILD_DIR=build
53 APT_TARGETS: {{ target }}
54 ARROW_VERSION: {{ arrow.version }}
55 REPO: {{ '${{ secrets.REPO }}' }}
56 YUM_TARGETS: {{ target }}
57 - uses: actions/upload-artifact@v2
60 path: packages/*/{{ task_namespace }}/repositories/
62 continue-on-error: true
65 pushd arrow/dev/tasks/linux-packages
69 APT_TARGETS: {{ target }}
70 REPO: {{ '${{ secrets.REPO }}' }}
71 YUM_TARGETS: {{ target }}
76 # We can install createrepo_c by package with Ubuntu 22.04.
83 gem install apt-dists-merge
84 (echo "Key-Type: RSA"; \
85 echo "Key-Length: 4096"; \
86 echo "Name-Real: Test"; \
87 echo "Name-Email: test@example.com"; \
88 echo "%no-protection") | \
89 gpg --full-generate-key --batch
90 GPG_KEY_ID=$(gpg --list-keys --with-colon test@example.com | grep fpr | cut -d: -f10)
91 echo "GPG_KEY_ID=${GPG_KEY_ID}" >> ${GITHUB_ENV}
92 gpg --export --armor test@example.com > arrow/dev/tasks/linux-packages/KEYS
93 # We can install createrepo_c by package with Ubuntu 22.04.
95 - name: Install createrepo_c
100 libcurl4-openssl-dev \
111 git clone --depth 1 https://github.com/rpm-software-management/createrepo_c.git
114 -DCMAKE_INSTALL_PREFIX=/usr \
115 -DENABLE_BASHCOMP=OFF \
117 -DENABLE_PYTHON=OFF \
118 -DWITH_LIBMODULEMD=OFF \
128 pushd arrow/dev/tasks/linux-packages
129 rake --trace {{ task_namespace }}:test
130 rm -rf {{ task_namespace }}/repositories
133 APT_TARGETS: {{ target }}
134 ARROW_VERSION: {{ arrow.version }}
135 YUM_TARGETS: {{ target }}
137 {% set patterns = upload_extensions | format_all("arrow/dev/tasks/linux-packages/**/*{}") %}
138 {{ macros.github_upload_releases(patterns)|indent }}