diff --git a/.github/workflows/Java.yml b/.github/workflows/Java.yml index a02648b1f..9f25dcb27 100644 --- a/.github/workflows/Java.yml +++ b/.github/workflows/Java.yml @@ -31,7 +31,6 @@ jobs: needs: format-check env: MANYLINUX_IMAGE: quay.io/pypa/manylinux_2_28_x86_64 - MANYLINUX_PACKAGES: java-1.8.0-openjdk-devel ninja-build steps: - uses: actions/checkout@v4 with: @@ -45,18 +44,46 @@ jobs: -e GEN=ninja \ -e JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \ ${{ env.MANYLINUX_IMAGE }} \ - bash -c 'dnf install ${{ env.MANYLINUX_PACKAGES }} -y && make -C /duckdb release' - - - name: JDBC Tests + bash -c " + set -e + cat /etc/os-release + dnf install -y \ + java-1.8.0-openjdk-devel \ + ninja-build \ + gcc-toolset-12-gcc-c++ + source /opt/rh/gcc-toolset-12/enable + make -C /duckdb release + " + + - name: JDBC Tests EL8 shell: bash if: ${{ inputs.skip_tests != 'true' }} run: | docker run \ -v.:/duckdb \ - -e GEN=ninja \ - -e JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \ ${{ env.MANYLINUX_IMAGE }} \ - bash -c 'dnf install ${{ env.MANYLINUX_PACKAGES }} -y && make -C /duckdb test' + bash -c " + set -e + cat /etc/os-release + dnf install -y \ + java-1.8.0-openjdk + /usr/lib/jvm/jre-1.8.0-openjdk/bin/java -version + cd /duckdb + /usr/lib/jvm/jre-1.8.0-openjdk/bin/java \ + -cp ./build/release/duckdb_jdbc_tests.jar:./build/release/duckdb_jdbc.jar \ + org.duckdb.TestDuckDBJDBC + rm ./test1.db + " + + - name: JDBC Tests + shell: bash + if: ${{ inputs.skip_tests != 'true' }} + run: | + cat /etc/os-release + ${JAVA_HOME_21_X64}/bin/java -version + ${JAVA_HOME_21_X64}/bin/java \ + -cp ./build/release/duckdb_jdbc_tests.jar:./build/release/duckdb_jdbc.jar \ + org.duckdb.TestDuckDBJDBC - name: Deploy shell: bash @@ -76,7 +103,6 @@ jobs: needs: java-linux-amd64 env: MANYLINUX_IMAGE: quay.io/pypa/manylinux_2_28_aarch64 - MANYLINUX_PACKAGES: java-1.8.0-openjdk-devel ninja-build steps: - uses: actions/checkout@v4 with: @@ -90,18 +116,46 @@ jobs: -e GEN=ninja \ -e JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \ ${{ env.MANYLINUX_IMAGE }} \ - bash -c 'dnf install ${{ env.MANYLINUX_PACKAGES }} -y && make -C /duckdb release' - - - name: JDBC Tests + bash -c " + set -e + cat /etc/os-release + dnf install -y \ + java-1.8.0-openjdk-devel \ + ninja-build \ + gcc-toolset-12-gcc-c++ + source /opt/rh/gcc-toolset-12/enable + make -C /duckdb release + " + + - name: JDBC Tests EL8 shell: bash if: ${{ inputs.skip_tests != 'true' }} run: | docker run \ -v.:/duckdb \ - -e GEN=ninja \ - -e JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \ ${{ env.MANYLINUX_IMAGE }} \ - bash -c 'dnf install ${{ env.MANYLINUX_PACKAGES }} -y && make -C /duckdb test' + bash -c " + set -e + cat /etc/os-release + dnf install -y \ + java-1.8.0-openjdk + /usr/lib/jvm/jre-1.8.0-openjdk/bin/java -version + cd /duckdb + /usr/lib/jvm/jre-1.8.0-openjdk/bin/java \ + -cp ./build/release/duckdb_jdbc_tests.jar:./build/release/duckdb_jdbc.jar \ + org.duckdb.TestDuckDBJDBC + rm ./test1.db + " + + - name: JDBC Tests + shell: bash + if: ${{ inputs.skip_tests != 'true' }} + run: | + cat /etc/os-release + ${JAVA_HOME_21_X64}/bin/java -version + ${JAVA_HOME_21_X64}/bin/java \ + -cp ./build/release/duckdb_jdbc_tests.jar:./build/release/duckdb_jdbc.jar \ + org.duckdb.TestDuckDBJDBC - name: Deploy shell: bash @@ -208,7 +262,7 @@ jobs: java-windows-amd64: name: Java Windows (amd64) - runs-on: windows-2019 + runs-on: windows-latest needs: java-linux-amd64 steps: - uses: actions/checkout@v4 @@ -247,15 +301,13 @@ jobs: name: Java OSX (Universal) runs-on: macos-14 needs: java-linux-amd64 + env: + GEN: ninja steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - name: Build shell: bash run: make release diff --git a/scripts/upload-assets-to-staging.sh b/scripts/upload-assets-to-staging.sh index ab3b96935..fb680ae73 100755 --- a/scripts/upload-assets-to-staging.sh +++ b/scripts/upload-assets-to-staging.sh @@ -6,6 +6,9 @@ # : Folder to upload to # : File to be uploaded +set -e +set -x + if [ -z "$1" ] || [ -z "$2" ]; then echo "Usage: ./scripts/upload-staging-asset.sh [... ]" exit 1 @@ -56,8 +59,6 @@ if [ "$OVERRIDE_GIT_DESCRIBE" ]; then TARGET="$TARGET/$OVERRIDE_GIT_DESCRIBE" fi -python3 -m pip install awscli - for var in "${@: 2}" do aws s3 cp $var s3://duckdb-staging/$TARGET/$GITHUB_REPOSITORY/$FOLDER/ $DRY_RUN_PARAM --region us-east-2