blob: b7ef576c74e23d9e4d3338a594ab378f8136c1ce [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name: CI
on:
push:
branches:
- '*'
pull_request:
branches:
- '*'
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/software-installed-on-github-hosted-runners
jobs:
windows:
name: 'Windows (JDK 11)'
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Set up JDK 11'
uses: actions/setup-java@v2
with:
java-version: 11
distribution: 'zulu'
- name: 'Test'
shell: cmd
run: |
./gradlew --no-parallel --no-daemon build javadoc
linux-jdk8:
name: 'Linux (JDK 8)'
runs-on: ubuntu-latest
steps:
- name: 'Set up JDK 8'
uses: actions/setup-java@v2
with:
java-version: 8
distribution: 'zulu'
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Test'
run: |
./gradlew --no-parallel --no-daemon tasks build javadoc
linux-jdk8-avatica:
name: 'Linux (JDK 8), Avatica main'
runs-on: ubuntu-latest
steps:
- name: 'Set up JDK 8'
uses: actions/setup-java@v2
with:
java-version: 8
distribution: 'zulu'
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Install Avatica to Maven Local'
run: |
./gradlew publishToMavenLocal -Pcalcite.avatica.version=1.0.0-dev-main -PskipJavadoc
- name: 'Test Calcite'
run: |
git clone --depth 100 https://github.com/apache/calcite.git ../calcite
cd ../calcite
./gradlew --no-parallel --no-daemon build -Pcalcite.avatica.version=1.0.0-dev-main-SNAPSHOT -PenableMavenLocal
linux-jdk11-oldest-guava-tz:
name: 'Linux (JDK 11), Oldest Guava, Pacific/Chatham Timezone'
runs-on: ubuntu-latest
env:
GUAVA: 14.0.1 # oldest supported Guava version
TZ: Pacific/Chatham # flips between +12:45 and +13:45
steps:
- name: 'Set up JDK 11'
uses: actions/setup-java@v2
with:
java-version: 11
distribution: 'zulu'
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Test'
run: |
./gradlew --no-parallel --no-daemon -Pguava.version=${GUAVA:-14.0.1} build
linux-jdk11-minimum-guava-tz:
name: 'Linux (JDK 11), Calcite Minimum Guava, America/New_York Timezone'
runs-on: ubuntu-latest
env:
GUAVA: '19.0' # Calcite's minimum Guava version
TZ: America/New_York # flips between −05:00 and −04:00
steps:
- name: 'Set up JDK 11'
uses: actions/setup-java@v2
with:
java-version: 11
distribution: 'zulu'
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Test'
run: |
./gradlew --no-parallel --no-daemon -Pguava.version=${GUAVA:-14.0.1} tasks build
linux-jdk11-middle-aged-guava:
name: 'Linux (JDK 11), Middle-Aged Guava'
runs-on: ubuntu-latest
env:
GUAVA: '23.0' # a middle-aged Guava version
steps:
- name: 'Set up JDK 11'
uses: actions/setup-java@v2
with:
java-version: 11
distribution: 'zulu'
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Test'
run: |
# Disable getLicenses for Guava 22..29 because of [CALCITE-4815]
./gradlew --no-parallel --no-daemon -Pguava.version=${GUAVA:-14.0.1} build -x :standalone-server:licenseCopySpec -x :standalone-server:getLicenses -x :standalone-server:license -x :tck:licenseCopySpec -x :tck:getLicenses -x :tck:license
linux-jdk11-newest-guava:
name: 'Linux (JDK 11), Newest Guava'
runs-on: ubuntu-latest
env:
GUAVA: 32.1.1-jre # newest supported Guava version
steps:
- name: 'Set up JDK 11'
uses: actions/setup-java@v2
with:
java-version: 11
distribution: 'zulu'
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Test'
run: |
./gradlew --no-parallel --no-daemon -Pguava.version=${GUAVA:-14.0.1} build
linux-jdk17:
name: 'Linux (JDK 17)'
runs-on: ubuntu-latest
steps:
- name: 'Set up JDK 17'
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'zulu'
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Test'
run: |
./gradlew --no-parallel --no-daemon build javadoc
linux-jdk19:
name: 'Linux (JDK 19)'
runs-on: ubuntu-latest
steps:
- name: 'Set up JDK 19'
uses: actions/setup-java@v2
with:
java-version: 19
distribution: 'zulu'
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Test'
run: |
./gradlew --no-parallel --no-daemon build
mac:
name: 'macOS (JDK 19)'
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: 'Set up JDK 19'
uses: actions/setup-java@v2
with:
java-version: 19
distribution: 'zulu'
- name: 'Test'
run: |
./gradlew --no-parallel --no-daemon tasks build javadoc