summaryrefslogtreecommitdiffstats
path: root/src/arrow/dev/tasks/linux-packages/github.linux.amd64.yml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
commite6918187568dbd01842d8d1d2c808ce16a894239 (patch)
tree64f88b554b444a49f656b6c656111a145cbbaa28 /src/arrow/dev/tasks/linux-packages/github.linux.amd64.yml
parentInitial commit. (diff)
downloadceph-upstream/18.2.2.tar.xz
ceph-upstream/18.2.2.zip
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/arrow/dev/tasks/linux-packages/github.linux.amd64.yml')
-rw-r--r--src/arrow/dev/tasks/linux-packages/github.linux.amd64.yml138
1 files changed, 138 insertions, 0 deletions
diff --git a/src/arrow/dev/tasks/linux-packages/github.linux.amd64.yml b/src/arrow/dev/tasks/linux-packages/github.linux.amd64.yml
new file mode 100644
index 000000000..557c4ab41
--- /dev/null
+++ b/src/arrow/dev/tasks/linux-packages/github.linux.amd64.yml
@@ -0,0 +1,138 @@
+# 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-20.04
+ steps:
+ {{ macros.github_checkout_arrow()|indent }}
+ {{ macros.github_login_dockerhub()|indent }}
+
+ - name: Set up Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: '3.0'
+ - 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 }}
+ - uses: actions/upload-artifact@v2
+ with:
+ name: packages
+ path: packages/*/{{ task_namespace }}/repositories/
+ - 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
+ # We can install createrepo_c by package with Ubuntu 22.04.
+ # createrepo_c \
+ sudo apt install -y \
+ apt-utils \
+ devscripts \
+ gpg \
+ rpm
+ gem install apt-dists-merge
+ (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
+ # We can install createrepo_c by package with Ubuntu 22.04.
+ # This is workaround:
+ - name: Install createrepo_c
+ run: |
+ sudo apt install -y \
+ cmake \
+ libbz2-dev \
+ libcurl4-openssl-dev \
+ libglib2.0-dev \
+ liblzma-dev \
+ libmagic-dev \
+ librpm-dev \
+ libsqlite3-dev \
+ libssl-dev \
+ libxml2-dev \
+ libzstd-dev \
+ pkg-config \
+ zlib1g-dev
+ git clone --depth 1 https://github.com/rpm-software-management/createrepo_c.git
+ pushd createrepo_c
+ /usr/bin/cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DENABLE_BASHCOMP=OFF \
+ -DENABLE_DRPM=OFF \
+ -DENABLE_PYTHON=OFF \
+ -DWITH_LIBMODULEMD=OFF \
+ -DWITH_ZCHUNK=OFF \
+ .
+ make -j$(nproc)
+ sudo make install
+ popd
+ rm -rf createrepo_c
+ - 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 }}