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
23 - '.github/workflows/go.yml'
24 - 'ci/docker/*_go.dockerfile'
29 - '.github/workflows/go.yml'
30 - 'ci/docker/*_go.dockerfile'
36 group: ${{ github.repository }}-${{ github.ref }}-${{ github.workflow }}
37 cancel-in-progress: true
40 ARCHERY_DOCKER_USER: ${{ secrets.DOCKERHUB_USER }}
41 ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
46 name: AMD64 Debian 11 Go ${{ matrix.go }}
47 runs-on: ubuntu-latest
48 if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
57 - name: Checkout Arrow
58 uses: actions/checkout@v2
61 - name: Fetch Submodules and Tags
62 run: ci/scripts/util_checkout.sh
63 - name: Free Up Disk Space
64 run: ci/scripts/util_cleanup.sh
66 uses: actions/setup-python@v1
70 run: pip install -e dev/archery[docker]
71 - name: Execute Docker Build
72 run: archery docker run debian-go
74 if: success() && github.event_name == 'push' && github.repository == 'apache/arrow'
75 continue-on-error: true
76 run: archery docker push debian-go
79 name: AMD64 Debian 11 GO ${{ matrix.go }} - CGO
80 runs-on: ubuntu-latest
81 if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
90 - name: Checkout Arrow
91 uses: actions/checkout@v2
94 - name: Fetch Submodules and Tags
95 run: ci/scripts/util_checkout.sh
96 - name: Free Up Disk Space
97 run: ci/scripts/util_cleanup.sh
99 uses: actions/setup-python@v1
102 - name: Setup Archery
103 run: pip install -e dev/archery[docker]
104 - name: Execute Docker Build
105 run: archery docker run debian-go-cgo
107 if: success() && github.event_name == 'push' && github.repository == 'apache/arrow'
108 continue-on-error: true
109 run: archery docker push debian-go-cgo
113 name: AMD64 Debian 11 GO ${{ matrix.go }} - CGO Python
114 runs-on: ubuntu-latest
115 if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
124 - name: Checkout Arrow
125 uses: actions/checkout@v2
128 - name: Fetch Submodules and Tags
129 run: ci/scripts/util_checkout.sh
130 - name: Free Up Disk Space
131 run: ci/scripts/util_cleanup.sh
133 uses: actions/setup-python@v1
136 - name: Setup Archery
137 run: pip install -e dev/archery[docker]
138 - name: Execute Docker Build
139 run: archery docker run debian-go-cgo-python
141 if: success() && github.event_name == 'push' && github.repository == 'apache/arrow'
142 continue-on-error: true
143 run: archery docker push debian-go-cgo-python
146 name: AMD64 Windows 2019 Go ${{ matrix.go }}
147 runs-on: windows-latest
148 if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
156 uses: actions/setup-go@v1
158 go-version: ${{ matrix.go }}
159 - name: Checkout Arrow
160 uses: actions/checkout@v2
163 - name: Fetch Submodules and Tags
165 run: ci/scripts/util_checkout.sh
168 run: ci/scripts/go_build.sh .
171 run: ci/scripts/go_test.sh .
174 name: AMD64 MacOS 10.15 Go ${{ matrix.go }}
175 runs-on: macos-latest
176 if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
184 uses: actions/setup-go@v1
186 go-version: ${{ matrix.go }}
187 - name: Checkout Arrow
188 uses: actions/checkout@v2
191 - name: Fetch Submodules and Tags
193 run: ci/scripts/util_checkout.sh
196 run: ci/scripts/go_build.sh .
199 run: ci/scripts/go_test.sh .
202 name: AMD64 MacOS 10.15 Go ${{ matrix.go }} - CGO
203 runs-on: macos-latest
204 if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
211 ARROW_GO_TESTCGO: "1"
214 uses: actions/setup-go@v1
216 go-version: ${{ matrix.go }}
217 - name: Checkout Arrow
218 uses: actions/checkout@v2
221 - name: Fetch Submodules and Tags
223 run: ci/scripts/util_checkout.sh
224 - name: Brew Install Arrow
226 run: brew install apache-arrow
229 run: ci/scripts/go_build.sh .
232 run: ci/scripts/go_test.sh .
235 name: AMD64 Windows MinGW ${{ matrix.mingw-n-bits }} CGO
236 runs-on: windows-latest
237 if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
244 #- 32 runtime handling for CGO needs 64-bit currently
247 ARROW_GO_TESTCGO: "1"
249 - name: Disable Crash Dialogs
252 "HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
258 uses: actions/setup-go@v1
260 go-version: ${{ matrix.go }}
261 - name: Checkout Arrow
262 uses: actions/checkout@v2
265 - name: Fetch Submodules and Tags
267 run: ci/scripts/util_checkout.sh
268 - uses: msys2/setup-msys2@v2
270 msystem: MINGW${{ matrix.mingw-n-bits }}
275 ci/scripts/msys2_setup.sh cgo
276 - name: Update CGO Env vars
279 echo "CGO_CPPFLAGS=-I$(cygpath --windows ${MINGW_PREFIX}/include)" >> $GITHUB_ENV
280 echo "CGO_LDFLAGS=-g -O2 -L$(cygpath --windows ${MINGW_PREFIX}/lib) -L$(cygpath --windows ${MINGW_PREFIX}/bin)" >> $GITHUB_ENV
281 echo "$(cygpath --windows ${MINGW_PREFIX}/bin)" >> $GITHUB_PATH
284 run: ci/scripts/go_build.sh .
287 run: ci/scripts/go_test.sh .