mirror of https://github.com/apache/lucene.git
github workflow cleanup and minor improvements (#13110)
This commit is contained in:
parent
9206bdeb06
commit
aa7d035ac2
|
@ -1,15 +0,0 @@
|
||||||
name: "Set up caches"
|
|
||||||
description: "Set up cached resources"
|
|
||||||
|
|
||||||
runs:
|
|
||||||
using: "composite"
|
|
||||||
steps:
|
|
||||||
- name: Cache/Restore cached gradle files
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.gradle/caches
|
|
||||||
~/.gradle/jdks
|
|
||||||
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('versions.lock', '**/gradle-wrapper.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-caches-
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
# This composite action is included in other workflows to have a shared setup
|
||||||
|
# for java, gradle, caches, etc.
|
||||||
|
|
||||||
|
name: Prepare Lucene build
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
java-version:
|
||||||
|
required: false
|
||||||
|
default: 17
|
||||||
|
description: "The default JDK version to set up."
|
||||||
|
|
||||||
|
java-distribution:
|
||||||
|
required: false
|
||||||
|
default: "temurin"
|
||||||
|
description: "The default JDK distribution type"
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Set up Java (${{ inputs.java-distribution }}, ${{ inputs.java-version }})"
|
||||||
|
uses: actions/setup-java@v4
|
||||||
|
with:
|
||||||
|
distribution: ${{ inputs.java-distribution }}
|
||||||
|
java-version: ${{ inputs.java-version }}
|
||||||
|
java-package: jdk
|
||||||
|
|
||||||
|
# This includes "smart" caching of the wrapper and dependencies.
|
||||||
|
- name: Set up Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@v3
|
|
@ -1,44 +0,0 @@
|
||||||
name: Distribution tests
|
|
||||||
|
|
||||||
on:
|
|
||||||
# Allow manual triggers for testing the action.
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read # to fetch code (actions/checkout)
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
name: Run distribution tests
|
|
||||||
timeout-minutes: 15
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
# we want to run the distribution tests on all major OSs, but it's occasionally too slow (or hangs or the forked process is not started at all..., not sure the cause) on windows.
|
|
||||||
#os: [ubuntu-latest, macos-latest, windows-latest]
|
|
||||||
os: [ubuntu-latest, macos-latest]
|
|
||||||
env:
|
|
||||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Set up JDK
|
|
||||||
uses: actions/setup-java@v3
|
|
||||||
with:
|
|
||||||
distribution: 'temurin'
|
|
||||||
java-version: 17
|
|
||||||
java-package: jdk
|
|
||||||
- name: Prepare caches
|
|
||||||
uses: ./.github/actions/gradle-caches
|
|
||||||
|
|
||||||
- name: Run all distribution tests including GUI tests (${{ matrix.os }})
|
|
||||||
run: ./gradlew -p lucene/distribution.tests test
|
|
|
@ -1,84 +0,0 @@
|
||||||
name: Gradle Precommit Checks
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- branch_9x
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read # to fetch code (actions/checkout)
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
# This runs all validation checks without tests.
|
|
||||||
checks:
|
|
||||||
name: gradle check -x test (JDK ${{ matrix.java }} on ${{ matrix.os }})
|
|
||||||
timeout-minutes: 15
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
# Operating systems to run on.
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
# Test JVMs.
|
|
||||||
java: [ '17' ]
|
|
||||||
|
|
||||||
env:
|
|
||||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Set up JDK
|
|
||||||
uses: actions/setup-java@v3
|
|
||||||
with:
|
|
||||||
distribution: 'temurin'
|
|
||||||
java-version: ${{ matrix.java }}
|
|
||||||
java-package: jdk
|
|
||||||
|
|
||||||
- name: Prepare caches
|
|
||||||
uses: ./.github/actions/gradle-caches
|
|
||||||
|
|
||||||
- name: Run gradle check (without tests)
|
|
||||||
run: ./gradlew check -x test -Ptask.times=true --max-workers 2
|
|
||||||
|
|
||||||
# This runs all tests without any other validation checks.
|
|
||||||
tests:
|
|
||||||
name: gradle test (JDK ${{ matrix.java }} on ${{ matrix.os }})
|
|
||||||
timeout-minutes: 30
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
# Operating systems to run on.
|
|
||||||
# windows-latest: fairly slow to build and results in odd errors (see LUCENE-10167)
|
|
||||||
# macos-latest: a tad slower than ubuntu and pretty much the same (?) so leaving out.
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
# Test JVMs.
|
|
||||||
java: [ '17' ]
|
|
||||||
|
|
||||||
env:
|
|
||||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Set up JDK
|
|
||||||
uses: actions/setup-java@v3
|
|
||||||
with:
|
|
||||||
distribution: 'temurin'
|
|
||||||
java-version: ${{ matrix.java }}
|
|
||||||
java-package: jdk
|
|
||||||
|
|
||||||
- name: Prepare caches
|
|
||||||
uses: ./.github/actions/gradle-caches
|
|
||||||
|
|
||||||
- name: Run gradle tests
|
|
||||||
run: ./gradlew test "-Ptask.times=true" --max-workers 2
|
|
||||||
|
|
||||||
- name: Echo settings
|
|
||||||
run: cat gradle.properties
|
|
|
@ -1,35 +0,0 @@
|
||||||
name: Hunspell regression tests
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
paths:
|
|
||||||
- '.github/workflows/hunspell.yml'
|
|
||||||
- 'lucene/analysis/common/**'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
name: Run Hunspell regression tests
|
|
||||||
timeout-minutes: 15
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
env:
|
|
||||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Set up JDK
|
|
||||||
uses: actions/setup-java@v3
|
|
||||||
with:
|
|
||||||
distribution: 'temurin'
|
|
||||||
java-version: 17
|
|
||||||
java-package: jdk
|
|
||||||
|
|
||||||
- name: Prepare caches
|
|
||||||
uses: ./.github/actions/gradle-caches
|
|
||||||
|
|
||||||
- name: Run regular and regression tests
|
|
||||||
run: ./gradlew -p lucene/analysis/common check testRegressions
|
|
|
@ -12,29 +12,29 @@ on:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
stale:
|
stale:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v5
|
- uses: actions/stale@v5
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
days-before-pr-stale: 14
|
days-before-pr-stale: 14
|
||||||
days-before-issue-stale: -1 # don't mark issues as stale
|
days-before-issue-stale: -1 # don't mark issues as stale
|
||||||
exempt-draft-pr: true # don't mark draft PRs as stale
|
exempt-draft-pr: true # don't mark draft PRs as stale
|
||||||
|
|
||||||
days-before-close: -1 # don't close stale PRs/issues
|
days-before-close: -1 # don't close stale PRs/issues
|
||||||
|
|
||||||
stale-pr-message: >
|
stale-pr-message: >
|
||||||
This PR has not had activity in the past 2 weeks, labeling it as stale.
|
This PR has not had activity in the past 2 weeks, labeling it as stale.
|
||||||
If the PR is waiting for review, notify the dev@lucene.apache.org list.
|
If the PR is waiting for review, notify the dev@lucene.apache.org list.
|
||||||
Thank you for your contribution!
|
Thank you for your contribution!
|
||||||
|
|
||||||
debug-only: false # turn on to run the action without applying changes
|
debug-only: false # turn on to run the action without applying changes
|
||||||
operations-per-run: 500 # operations budget
|
operations-per-run: 500 # operations budget
|
||||||
|
|
||||||
# The table shows the cost in operations of all combinations of stale / not-stale for a PR.
|
# The table shows the cost in operations of all combinations of stale / not-stale for a PR.
|
||||||
# Processing a non-PR issue takes 0 operations, since we don't perform any action on it.
|
# Processing a non-PR issue takes 0 operations, since we don't perform any action on it.
|
|
@ -0,0 +1,67 @@
|
||||||
|
name: "Run checks: all modules"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'branch_9x'
|
||||||
|
|
||||||
|
env:
|
||||||
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
# We split the workflow into two parallel jobs for efficiency:
|
||||||
|
# one is running all validation checks without tests,
|
||||||
|
# the other runs all tests without other validation checks.
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
# This runs all validation checks without tests.
|
||||||
|
checks:
|
||||||
|
name: checks without tests (JDK ${{ matrix.java }} on ${{ matrix.os }})
|
||||||
|
timeout-minutes: 15
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ ubuntu-latest ]
|
||||||
|
java: [ '17' ]
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: ./.github/actions/prepare-for-build
|
||||||
|
|
||||||
|
- name: Run gradle check (without tests)
|
||||||
|
run: ./gradlew check -x test -Ptask.times=true --max-workers 2
|
||||||
|
|
||||||
|
|
||||||
|
# This runs all tests without any other validation checks.
|
||||||
|
tests:
|
||||||
|
name: tests (JDK ${{ matrix.java }} on ${{ matrix.os }})
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
# Operating systems to run on.
|
||||||
|
# windows-latest: fairly slow to build and results in odd errors (see LUCENE-10167)
|
||||||
|
# macos-latest: a tad slower than ubuntu and pretty much the same (?) so leaving out.
|
||||||
|
os: [ ubuntu-latest ]
|
||||||
|
java: [ '17' ]
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: ./.github/actions/prepare-for-build
|
||||||
|
|
||||||
|
- name: Run gradle tests
|
||||||
|
run: ./gradlew test "-Ptask.times=true" --max-workers 2
|
||||||
|
|
||||||
|
- name: List automatically-initialized gradle.properties
|
||||||
|
run: cat gradle.properties
|
|
@ -0,0 +1,37 @@
|
||||||
|
name: "Run checks: module lucene/analysis/common"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'branch_9x'
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/hunspell.yml'
|
||||||
|
- 'lucene/analysis/common/**'
|
||||||
|
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'branch_9x'
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/hunspell.yml'
|
||||||
|
- 'lucene/analysis/common/**'
|
||||||
|
|
||||||
|
env:
|
||||||
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
name: Extra regression tests
|
||||||
|
timeout-minutes: 15
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: ./.github/actions/prepare-for-build
|
||||||
|
|
||||||
|
- name: Run 'gradlew lucene/analysis/common check testRegressions'
|
||||||
|
run: ./gradlew -p lucene/analysis/common check testRegressions
|
|
@ -0,0 +1,36 @@
|
||||||
|
name: "Run checks: module lucene/distribution.tests"
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'branch_9x'
|
||||||
|
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'branch_9x'
|
||||||
|
|
||||||
|
env:
|
||||||
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
timeout-minutes: 15
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
# ubuntu-latest is checked as part of run-checks-everything.yml
|
||||||
|
# windows-latest is slow and sometimes flaky.
|
||||||
|
os: [ macos-latest ]
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: ./.github/actions/prepare-for-build
|
||||||
|
|
||||||
|
- name: Run 'gradlew lucene/distribution.tests test' (on ${{ matrix.os }})
|
||||||
|
run: ./gradlew -p lucene/distribution.tests test
|
Loading…
Reference in New Issue