@@ -24,12 +24,14 @@ jobs:
2424 matrix :
2525 # Add commits/tags to build against other DuckDB versions
2626 duckdb_version : [ 'v0.7.1' ]
27- arch : ['linux_amd64', 'linux_arm64']
27+ arch : ['linux_amd64', 'linux_arm64', 'linux_amd64_gcc4' ]
2828 include :
2929 - arch : ' linux_amd64'
3030 container : ' ubuntu:18.04'
3131 - arch : ' linux_arm64'
3232 container : ' ubuntu:18.04'
33+ - arch : ' linux_amd64_gcc4'
34+ container : ' quay.io/pypa/manylinux2014_x86_64'
3335 env :
3436 GEN : ninja
3537
4244 add-apt-repository ppa:git-core/ppa
4345 apt-get update -y -qq
4446 apt-get install -y -qq lsb-release sqlite3 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
47+
4548 - name : Install Git 2.18.5
4649 if : ${{ matrix.arch == 'linux_amd64' || matrix.arch == 'linux_arm64' }}
4750 run : |
5154 make
5255 make prefix=/usr install
5356 git --version
57+
5458 - uses : actions/checkout@v3
5559 with :
5660 fetch-depth : 0
@@ -61,12 +65,18 @@ jobs:
6165 run : |
6266 cd duckdb
6367 git checkout ${{ matrix.duckdb_version }}
64-
65- # Setup ccache
68+
69+ # Setup ccache (not on _gcc4)
6670 - name : ccache
71+ if : ${{ matrix.arch == 'linux_amd64' || matrix.arch == 'linux_arm64' }}
6772 uses :
hendrikmuhs/[email protected] 6873 with :
6974 key : ${{ github.job }}-${{ matrix.arch }}
75+
76+ - if : ${{ matrix.arch == 'linux_amd64_gcc4' }}
77+ uses : ./duckdb/.github/actions/centos_7_setup
78+ with :
79+ openssl : 1
7080
7181 - if : ${{ matrix.arch == 'linux_amd64' || matrix.arch == 'linux_arm64' }}
7282 uses : ./duckdb/.github/actions/ubuntu_16_setup
7989 run : |
8090 export OPENSSL_ROOT_DIR=`pwd`/build/openssl/build
8191 echo "OPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR" >> $GITHUB_ENV
82-
92+
8393 # Build extension
8494 - name : Build extension
8595 env :
@@ -90,12 +100,37 @@ jobs:
90100 run : |
91101 export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
92102 make release
103+
93104 - name : Build extension
94105 if : ${{ matrix.arch != 'linux_arm64'}}
95106 run : |
96107 make test_release
108+
97109 - uses : actions/upload-artifact@v2
98110 with :
99111 name : ${{matrix.arch}}-extensions
100112 path : |
101- build/release/extension/spatial/spatial.duckdb_extension
113+ build/release/extension/spatial/spatial.duckdb_extension
114+
115+ - name : Deploy
116+ env :
117+ AWS_ACCESS_KEY_ID : ${{ secrets.S3_DEPLOY_ID }}
118+ AWS_SECRET_ACCESS_KEY : ${{ secrets.S3_DEPLOY_KEY }}
119+ AWS_DEFAULT_REGION : ${{ secrets.S3_REGION }}
120+ BUCKET_NAME : ${{ secrets.S3_BUCKET }}
121+ run : |
122+ git config --global --add safe.directory '*'
123+ cd duckdb
124+ git fetch --tags
125+ export DUCKDB_VERSION=`git tag --points-at HEAD`
126+ export DUCKDB_VERSION=${DUCKDB_VERSION:=`git log -1 --format=%h`}
127+ cd ..
128+ if [[ "$AWS_ACCESS_KEY_ID" == "" ]] ; then
129+ echo 'No key set, skipping'
130+ elif [[ "$GITHUB_REF" =~ ^(refs/tags/v.+)$ ]] ; then
131+ python3 -m pip install pip awscli
132+ ./scripts/extension-upload.sh spatial ${{ github.ref_name }} $DUCKDB_VERSION ${{matrix.arch}} $BUCKET_NAME true
133+ elif [[ "$GITHUB_REF" =~ ^(refs/heads/main)$ ]] ; then
134+ python3 -m pip install pip awscli
135+ ./scripts/extension-upload.sh spatial `git log -1 --format=%h` $DUCKDB_VERSION ${{matrix.arch}} $BUCKET_NAME false
136+ fi
0 commit comments