Skip to content

[WIP] mocks

[WIP] mocks #4

Workflow file for this run

name: release
on:
push:
tags:
- 'v*'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: write
jobs:
release:
name: ${{ matrix.job.name }}
runs-on: ${{ matrix.job.os }}
strategy:
matrix:
job:
- {os: "macos-12", goos: "darwin", goarch: "x64", name: "x86_64-apple-darwin", suffix: "dylib"}
- {os: "macos-14", goos: "darwin", goarch: "arm64", name: "aarch64-apple-darwin", suffix: "dylib"}
- {os: "ubuntu-latest", goos: "linux", goarch: "x64", name: "x86_64-linux-gnu", suffix: "so"}
- {os: "ubuntu-latest", goos: "linux", goarch: "arm64", name: "aarch64-linux-gnu", suffix: "so"}
- {os: "windows-latest", goos: "windows", goarch: "x64", name: "x86_64-windows-msvc", suffix: "dll"}
fail-fast: false
env:
CGO_ENABLED: "1"
# set GO_VERSION according to
# https://github.com/cocoa-xu/arrow-adbc/blob/feat-mocks/.env
GO_VERSION: "1.21.8"
steps:
- name: fetch feat-mocks branch
run: |
git clone --branch feat-mocks --depth 1 https://github.com/cocoa-xu/arrow-adbc.git
- uses: actions/setup-go@v5
with:
go-version: "${{ env.GO_VERSION }}"
check-latest: true
cache: true
cache-dependency-path: arrow-adbc/go/adbc/go.sum
- name: Go Build
shell: bash -l {0}
run: |
export PATH=$RUNNER_TOOL_CACHE/go/${GO_VERSION}/${{ matrix.job.goarch }}/bin:$PATH
export GOOS=${{ matrix.job.goos }} GOARCH=${{ matrix.job.goarch }}
cd arrow-adbc/go/adbc/pkg
go run gen/main.go -prefix Mocks -o ./mocks/ -driver ../driver/mocks
make "libadbc_driver_mocks.${{ matrix.job.suffix }}"
mv "libadbc_driver_mocks.${{ matrix.job.suffix }}" "../../../../libadbc_driver_mocks-${{ matrix.job.name }}.${{ matrix.job.suffix }}"
- uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
libadbc_driver_mocks-${{ matrix.job.name }}.${{ matrix.job.suffix }}