-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from duckdb/cifight2
Re-adding CI
- Loading branch information
Showing
11 changed files
with
956 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
name: "Setup manylinux2014 image" | ||
description: "Installs/configures additional CI dependencies" | ||
inputs: | ||
aws-cli: | ||
description: 'Setup aws-cli' | ||
default: 0 | ||
ninja-build: | ||
description: 'Setup ninja-build' | ||
default: 0 | ||
vcpkg: | ||
description: 'Setup vcpkg (installs to $GITHUB_WORKSPACE/vcpkg)' | ||
default: 0 | ||
openssl: | ||
description: 'Setup OpenSSL (requires vcpkg to also be installed)' | ||
default: 0 | ||
ccache: | ||
description: 'Setup Ccache' | ||
default: 0 | ||
jdk: | ||
description: 'Setup JDK' | ||
default: 0 | ||
odbc: | ||
description: 'Setup ODBC' | ||
default: 0 | ||
ssh: | ||
description: 'Setup SSH' | ||
default: 0 | ||
glibc32: | ||
description: 'Setup 32bit glibc' | ||
default: 0 | ||
nodejs: | ||
description: 'Setup NodeJS' | ||
default: 0 | ||
gcc_4_8: | ||
description: 'Setup GCC 4.8 (installs to /usr/bin/g++, default will still be GCC 10)' | ||
default: 0 | ||
python_alias: | ||
description: 'Create an alias for python3 to python3.9' | ||
default: 0 | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Setup general dependencies | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh general | ||
|
||
- name: Install AWS CLI | ||
if: ${{ inputs.aws-cli == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh aws-cli | ||
|
||
- name: Setup dependencies for ODBC | ||
if: ${{ inputs.odbc == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh odbc | ||
|
||
- name: Setup dependencies for ccache | ||
if: ${{ inputs.ccache == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh ccache | ||
|
||
- name: Setup JDK | ||
if: ${{ inputs.jdk == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh jdk | ||
|
||
- name: Setup SSH | ||
if: ${{ inputs.ssh == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh ssh | ||
|
||
- name: Setup NodeJS | ||
if: ${{ inputs.nodejs == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh nodejs | ||
|
||
- name: Setup 32bit compiler | ||
if: ${{ inputs.glibc32 == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh glibc32 | ||
|
||
- name: Setup python3 as python3.9 | ||
if: ${{ inputs.python_alias == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh python_alias | ||
|
||
- name: Setup old (GCC 4.8) compiler | ||
if: ${{ inputs.gcc_4_8 == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh gcc_4_8 | ||
|
||
# Note instead of using scripts/setup_manylinux2014.sh vcpkg, we prefer to use | ||
# lukka/[email protected] here as it configures vcpkg to cache to GH actions. | ||
- name: Setup vcpkg | ||
if: ${{ inputs.vcpkg == 1 }} | ||
uses: lukka/[email protected] | ||
with: | ||
vcpkgGitCommitId: a1a1cbc975abf909a6c8985a6a2b8fe20bbd9bd6 | ||
|
||
- name: Install OpenSSL | ||
if: ${{ inputs.openssl == 1 }} | ||
shell: bash | ||
run: scripts/setup_manylinux2014.sh openssl | ||
|
||
- name: Setup Ccache | ||
if: ${{ inputs.ccache == 1 }} | ||
uses: hendrikmuhs/[email protected] # Note: pinned due to GLIBC incompatibility in later releases | ||
with: | ||
key: ${{ github.job }} | ||
save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb-java' }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
name: "Setup Ubuntu 18" | ||
description: "Setup an Ubuntu 18 docker container with the required libraries" | ||
inputs: | ||
openssl: | ||
description: 'OpenSSL' | ||
default: 0 | ||
python: | ||
description: 'Python' | ||
default: 1 | ||
aarch64_cross_compile: | ||
description: 'Install dependencies for aarch64 cross-compiling' | ||
default: 0 | ||
vcpkg: | ||
description: 'Install vcpkg' | ||
default: 0 | ||
ccache: | ||
description: 'Install ccache' | ||
default: 0 | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Install | ||
shell: bash | ||
run: | | ||
apt-get update -y -qq | ||
apt-get install -y -qq software-properties-common | ||
add-apt-repository ppa:git-core/ppa | ||
apt-get update -y -qq | ||
apt-get install -y -qq ninja-build make gcc-multilib g++-multilib libssl-dev wget openjdk-8-jdk zip maven unixodbc-dev libc6-dev-i386 lib32readline6-dev libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip build-essential checkinstall libffi-dev curl libz-dev openssh-client pkg-config | ||
- name: Install | ||
shell: bash | ||
if: ${{ inputs.aarch64_cross_compile == 1 }} | ||
run: | | ||
apt-get install -y -qq gcc-aarch64-linux-gnu g++-aarch64-linux-gnu | ||
- name: Install Git 2.18.5 | ||
shell: bash | ||
run: | | ||
wget https://github.com/git/git/archive/refs/tags/v2.18.5.tar.gz | ||
tar xvf v2.18.5.tar.gz | ||
cd git-2.18.5 | ||
make | ||
make prefix=/usr install | ||
git --version | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Install CMake 3.21 | ||
shell: bash | ||
run: | | ||
wget https://github.com/Kitware/CMake/releases/download/v3.21.3/cmake-3.21.3-linux-x86_64.sh | ||
chmod +x cmake-3.21.3-linux-x86_64.sh | ||
./cmake-3.21.3-linux-x86_64.sh --skip-license --prefix=/usr/local | ||
cmake --version | ||
- name: Install Python 3.8 | ||
if: ${{ inputs.python }} == 1 | ||
shell: bash | ||
run: | | ||
wget https://www.python.org/ftp/python/3.8.17/Python-3.8.17.tgz | ||
tar xvf Python-3.8.17.tgz | ||
cd Python-3.8.17 | ||
mkdir -p pythonbin | ||
./configure --with-ensurepip=install | ||
make -j | ||
make install | ||
python3.8 --version | ||
python3.8 -m pip install pip | ||
python3.8 -m pip install requests awscli | ||
- name: Version Check | ||
shell: bash | ||
run: | | ||
ldd --version ldd | ||
python3 --version | ||
git --version | ||
git log -1 --format=%h | ||
- name: Setup vcpkg | ||
if: ${{ inputs.vcpkg == 1 }} | ||
uses: lukka/[email protected] | ||
with: | ||
vcpkgGitCommitId: a1a1cbc975abf909a6c8985a6a2b8fe20bbd9bd6 | ||
|
||
- name: Setup Ccache | ||
if: ${{ inputs.ccache == 1 }} | ||
uses: hendrikmuhs/[email protected] # Note: pinned due to GLIBC incompatibility in later releases | ||
with: | ||
key: ${{ github.job }} | ||
save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb-java' }} | ||
|
||
- name: Instal OpenSSL through vcpkg | ||
if: ${{ inputs.openssl == 1 }} | ||
shell: bash | ||
run: | | ||
cd $VCPKG_ROOT && ./vcpkg install openssl --triplet=${{ inputs.aarch64_cross_compile == 1 && 'arm64-linux' || 'x64-linux' }} |
Oops, something went wrong.