github workflow cleanup and minor improvements (#13110)

This commit is contained in:
Dawid Weiss 2024-02-16 12:38:21 +01:00 committed by GitHub
parent 9206bdeb06
commit aa7d035ac2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 183 additions and 192 deletions

View File

@ -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-

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -12,29 +12,29 @@ on:
jobs:
stale:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-pr-stale: 14
days-before-issue-stale: -1 # don't mark issues as stale
exempt-draft-pr: true # don't mark draft PRs as stale
days-before-pr-stale: 14
days-before-issue-stale: -1 # don't mark issues 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: >
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.
Thank you for your contribution!
stale-pr-message: >
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.
Thank you for your contribution!
debug-only: false # turn on to run the action without applying changes
operations-per-run: 500 # operations budget
debug-only: false # turn on to run the action without applying changes
operations-per-run: 500 # operations budget
# 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.

67
.github/workflows/run-checks-all.yml vendored Normal file
View File

@ -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

View File

@ -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

View File

@ -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