-
Notifications
You must be signed in to change notification settings - Fork 32
179 lines (173 loc) · 6.41 KB
/
assets.yml
File metadata and controls
179 lines (173 loc) · 6.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
name: Assets
on:
release:
types:
- created
pull_request:
push:
branches:
- develop
- staging
- trying
env:
ARROW_VERSION: "17.0.0"
jobs:
archive:
name: AlmaLinux
runs-on: ubuntu-latest
strategy:
matrix:
version:
- 8
- 9
source:
- runtime/cpp
container: almalinux:${{ matrix.version }}
steps:
- name: Install dependencies
run: |
yum install -y epel-release
yum install -y make gcc-c++ rpm-build git cmake
- name: Enable powertools for Almalinux 8
if: matrix.version == '8'
run: dnf config-manager --set-enabled powertools
- name: Enable crb for Almalinux 9
if: matrix.version == '9'
run: dnf config-manager --set-enabled crb
- name: Install Apache Arrow
run: |
yum install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe)/apache-arrow-release-latest.rpm
yum install -y arrow-devel-$ARROW_VERSION-1.el${{ matrix.version }}
- uses: actions/checkout@v4
- name: Configure
run: cmake ${{ matrix.source }} -DCMAKE_BUILD_TYPE=Release
- name: Package
run: make -j package
- id: tarball
run: echo "##[set-output name=name;]$(ls fletch*.tar.gz)"
- name: Install tarball
run: tar xvfz ./${{ steps.tarball.outputs.name }} -C /usr
- name: Upload tarball
uses: actions/upload-release-asset@v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ steps.tarball.outputs.name }}
asset_name: ${{ steps.tarball.outputs.name }}
asset_content_type: application/octet-stream
- id: rpm
run: echo "##[set-output name=name;]$(ls fletch*.rpm)"
- name: Install RPM
run: |
yum remove -y arrow-devel
yum autoremove -y
yum localinstall -y ./${{ steps.rpm.outputs.name }}
- name: Upload rpm
uses: actions/upload-release-asset@v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ steps.rpm.outputs.name }}
asset_name: ${{ steps.rpm.outputs.name }}
asset_content_type: application/octet-stream
ubuntu:
name: Ubuntu
strategy:
matrix:
version:
- 22.04
- 24.04
source:
- runtime/cpp
- codegen/cpp/fletchgen
runs-on: ubuntu-${{ matrix.version }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Apache Arrow
run: |
sudo apt update
sudo apt install -y -V ca-certificates lsb-release wget
wget https://packages.apache.org/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt update
sudo apt install -y -V libarrow-dev=${ARROW_VERSION}-1
- name: Configure
run: cmake ${{ matrix.source }} -DCMAKE_BUILD_TYPE=Release
- name: Package
run: make -j package
- id: deb
run: echo "##[set-output name=name;]$(ls fletch*.deb)"
- name: Install
run: |
sudo apt -y --purge autoremove libarrow-dev
sudo apt install -y ./${{ steps.deb.outputs.name }} libarrow-dev=${ARROW_VERSION}-1
- name: Upload deb
uses: actions/upload-release-asset@v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ steps.deb.outputs.name }}
asset_name: ${{ steps.deb.outputs.name }}
asset_content_type: application/octet-stream
python:
name: Python
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
source:
- codegen/python
- runtime/python
manylinux:
- 2_28
cpython_version:
- "cp310-cp310"
- "cp312-cp312"
container: quay.io/pypa/manylinux_${{ matrix.manylinux }}_x86_64:latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
yum install -y epel-release
yum install -y make gcc-c++ rpm-build git cmake
- name: Enable powertools for Almalinux 8
run: dnf config-manager --set-enabled powertools
- name: Install Apache Arrow
run: |
yum install -y https://apache.jfrog.io/artifactory/arrow/almalinux/$(cut -d: -f5 /etc/system-release-cpe)/apache-arrow-release-latest.rpm
yum install -y arrow-devel-$ARROW_VERSION-1.el8 arrow$(echo $ARROW_VERSION | cut -d . -f 1)00-dataset-libs
- name: Install dependencies
run: /opt/python/${{ matrix.cpython_version }}/bin/python -m pip install --upgrade pip setuptools wheel pyarrow==$ARROW_VERSION
- name: Build wheel
working-directory: ${{ matrix.source }}
run: |
/opt/python/${{ matrix.cpython_version }}/bin/python -m build --wheel
- name: Wheel path
id: wheel
working-directory: ${{ matrix.source }}/dist
run: echo "##[set-output name=wheel;]$(ls *.whl)"
- uses: actions/upload-release-asset@v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ matrix.source }}/wheelhouse/${{ steps.wheel.outputs.wheel }}
asset_name: ${{ steps.wheel.outputs.wheel }}
asset_content_type: application/zip
- uses: pypa/gh-action-pypi-publish@release/v1
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
packages_dir: ${{ matrix.source }}/wheelhouse