Skip to content

GH-250: Support inclusion and exclusion of source files based on globs #867

GH-250: Support inclusion and exclusion of source files based on globs

GH-250: Support inclusion and exclusion of source files based on globs #867

Workflow file for this run

name: Build
on:
push:
branches: [main]
pull_request:
branches: ["**"]
workflow_call: {}
workflow_dispatch: {}
jobs:
build-x86_64-crossos:
name: jdk-${{ matrix.java-version }}/${{ matrix.os-name }}/x86_64
runs-on: ${{ matrix.os-name }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
os-name: [ubuntu-latest, macos-latest, windows-latest]
java-version: [11, 22]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: 'temurin'
cache: maven
# Install protoc onto the PATH so that we can test PATH resolution.
- name: Install dependencies
shell: bash
run: |-
set -eux
case "${{ matrix.os-name }}" in
macos-*)
# Re-enable once brew updates to protoc 26.1 or newer.
#brew install protobuf
#protoc --version
;;
ubuntu-*)
sudo apt update -q
sudo apt install protobuf-compiler -qy
;;
windows-*)
#choco install protoc
#protoc --version
;;
esac
java -version
javac -version
./mvnw --version
- name: Build and test
shell: bash
run: ./mvnw -B verify
- name: Publish code coverage
uses: codecov/codecov-action@v4
continue-on-error: true
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
build-x86_64-linux-oldmaven:
name: jdk-11/ubuntu-latest/x86_64 (oldest supported Maven)
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
cache: maven
- name: Change Maven version to the prerequisite version
shell: bash
run: |-
# Use -T1 here as the plugins emit warnings about thread safety if we use the
# default concurrency settings for the project.
version=3.8.2
./mvnw -T1 -B wrapper:wrapper -Dmaven="${version}"
- name: Build and test
shell: bash
run: ./mvnw -B verify
- name: Publish code coverage
uses: codecov/codecov-action@v4
continue-on-error: true
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
#build-crossarch-linux:
# name: jdk-17/debian/${{ matrix.arch }}
# runs-on: ubuntu-latest
#
# strategy:
# fail-fast: false
# matrix:
# arch: [aarch64, ppc64le, s390x]
#
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
#
# - name: Build in emulator
# uses: uraimo/run-on-arch-action@v2
# with:
# arch: ${{ matrix.arch }}
# distro: bookworm
# # Mount /target so that we can pull the coverage results
# dockerRunArgs: '--volume "${PWD}/target:/home/runner/work/target"'
# install: |-
# set -eux
# apt update -q
# apt install -qy openjdk-17-jdk-headless
# java -version
# javac -version
# run: >-
# ./mvnw -B verify
# -Dcheckstyle.skip
# -Dlicense.skip
#
# - name: Publish code coverage
# uses: codecov/codecov-action@v4
# continue-on-error: true
# if: always()
# with:
# token: ${{ secrets.CODECOV_TOKEN }}
build-pages:
name: Generate pages
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
cache: maven
- name: Build Pages
shell: bash
run: >-
./mvnw -B site
-DskipTests
-Dinvoker.skip
-Dcheckstyle.skip
-Dlicense.skip