Skip to content

Commit

Permalink
DuckDB v0.10.1
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexR2D2 committed Apr 1, 2024
1 parent a2371c3 commit badee45
Show file tree
Hide file tree
Showing 7 changed files with 34,070 additions and 29,662 deletions.
71 changes: 35 additions & 36 deletions .github/workflows/precompile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,58 +10,57 @@ permissions:

jobs:
precompile:
runs-on: ${{ matrix.os }}
runs-on: ${{ matrix.job.os }}
env:
MIX_ENV: "prod"
OTP_VERSION: ${{ matrix.otp }}
ELIXIR_VERSION: ${{ matrix.elixir }}
ImageOS: ${{ matrix.os }}

name: Precompile for Elixir ${{ matrix.elixir }}, OTP ${{ matrix.otp }}, OS ${{ matrix.os }}
name: Precompile for Elixir ${{ matrix.job.elixir }}, OTP ${{ matrix.job.otp }}, OS ${{ matrix.job.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu18", "ubuntu20", "windows-2019", "macos-11"]
elixir: ["1.14"]
otp: ["25", "23"]
exclude:
- os: "windows-2019"
otp: "23"
job:
- { os: "ubuntu-20.04", otp: "23", elixir: "1.14" }
- { os: "macos-11", otp: "24.3.4.16", elixir: "1.14.3"}
- { os: "windows-2019", otp: "25", elixir: "1.14"}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
if: matrix.os != 'macos-11'
if: matrix.job.os != 'macos-11'
with:
otp-version: ${{ matrix.otp }}
elixir-version: ${{ matrix.elixir }}

otp-version: ${{ matrix.job.otp }}
elixir-version: ${{ matrix.job.elixir }}
- name: Install erlang and elixir
if: matrix.os == 'macos-11'
if: matrix.job.os == 'macos-11'
run: |
if [ "${{ matrix.otp }}" = "23" ]; then
brew install "erlang@${{ matrix.otp }}"
brew link --overwrite "erlang@${{ matrix.otp }}"
export ROOT_DIR=$(pwd)
mkdir -p ./cache/otp
curl -fSL https://github.com/cocoa-xu/otp-build/releases/download/v${{ matrix.job.otp }}/otp-x86_64-apple-darwin.tar.gz -o ./cache/otp/otp-v${{ matrix.job.otp }}-x86_64-apple-darwin.tar.gz
cd ./cache/otp
tar -xzf otp-v${{ matrix.job.otp }}-x86_64-apple-darwin.tar.gz
cd ${ROOT_DIR}
export PATH=$(pwd)/cache/otp/usr/local/bin:$(pwd)/./cache/elixir/elixir-${{ matrix.job.elixir }}/bin:${PATH}
export ERL_ROOTDIR=$(pwd)/cache/otp/usr/local/lib/erlang
mkdir -p ./cache/elixir
curl -fSL https://github.com/elixir-lang/elixir/archive/refs/tags/v${{ matrix.job.elixir }}.tar.gz -o ./cache/elixir/elixir-${{ matrix.job.elixir }}.tar.gz
cd ./cache/elixir
tar -xzf elixir-${{ matrix.job.elixir }}.tar.gz
cd elixir-${{ matrix.job.elixir }}
make compile
make -j$(sysctl -n hw.ncpu) install
export ELIXIR_VER=1.14.3
mkdir -p "${HOME}/.elixir/v${ELIXIR_VER}"
cd "${HOME}/.elixir/v${ELIXIR_VER}"
wget "https://github.com/elixir-lang/elixir/releases/download/v${ELIXIR_VER}/elixir-otp-${{ matrix.otp }}.zip" -O "elixir-${ELIXIR_VER}.zip"
unzip "elixir-${ELIXIR_VER}.zip"
rm -f "elixir-${ELIXIR_VER}.zip"
export PATH="${HOME}/.elixir/v${ELIXIR_VER}/bin:${PATH}"
else
brew install erlang elixir
fi
mix local.hex --force
mix local.rebar --force
- uses: ilammy/msvc-dev-cmd@v1
if: matrix.os == 'windows-2019'
if: matrix.job.os == 'windows-2019'
with:
arch: x64

- name: Install system dependencies
if: matrix.os == 'ubuntu20'
if: matrix.job.os == 'ubuntu-20.04'
run: |
sudo apt-get update
sudo apt-get install -y build-essential automake autoconf pkg-config bc m4 unzip zip wget \
Expand All @@ -74,7 +73,7 @@ jobs:
gcc-s390x-linux-gnu g++-s390x-linux-gnu
- name: Get musl cross-compilers
if: matrix.os == 'ubuntu20'
if: matrix.job.os == 'ubuntu-20.04'
run: |
for musl_arch in x86_64 aarch64 riscv64
do
Expand All @@ -85,10 +84,10 @@ jobs:
- name: Create precompiled library
shell: bash
run: |
if [ "${{ matrix.os }}" = "macos-11" ]; then
export ELIXIR_VER=1.14.3
export PATH="${HOME}/.elixir/v${ELIXIR_VER}/bin:${PATH}"
elif [ "${{ matrix.os }}" = "ubuntu20" ]; then
if [ "${{ matrix.job.os }}" = "macos-11" ]; then
export PATH=$(pwd)/cache/otp/usr/local/bin:$(pwd)/./cache/elixir/elixir-${{ matrix.job.elixir }}/bin:${PATH}
export ERL_ROOTDIR=$(pwd)/cache/otp/usr/local/lib/erlang
elif [ "${{ matrix.job.os }}" = "ubuntu-20.04" ]; then
for musl_arch in x86_64 aarch64 riscv64
do
export PATH="$(pwd)/${musl_arch}-linux-musl-cross/bin:${PATH}"
Expand Down
Loading

0 comments on commit badee45

Please sign in to comment.