-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Continuous integration improvements #2789
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Fixed: - Generic warnings introduced in Java 9 when using `Stream#of` is used in combination with `Function.identity()`, probably caused by JEP 215 "Tiered Attribution for javac" - Java 13 introduced `String#stripIndent`, which conflicted with Groovy itself, see apache/groovy#1139, the errors were probably caused by whitespace indentation which was handled differently - Resolved compiler warning about missing `@Deprecated` on deprecated `ExecutionStepInfo#getFieldContainer` method (JDK 9/JEP 277 "Enhanced Deprecation") - The wrong `BigInteger` constructor was being used in `ScalarIntTest.groovy` and `ScalarFloatTest.groovy` Not yet fixed: - Java 16 modified LineNumberReader#getLineNumber behavior (see JDK-8241020) which messed up MultiSourceReader Links: - apache/groovy#1139 - https://bugs.openjdk.java.net/browse/JDK-8241020 - https://github.com/openjdk/jdk/commits/master/src/java.base/share/classes/java/io/LineNumberReader.java
@@ -723,39 +723,39 @@ type Object1 { | |||
|
|||
then: | |||
newSchema == """\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stripIndent behaves differently on Java 16+ because it overshadows the Groovy method that was present on String before that.
By just dedenting the tests it works
Also the case for the other two tests
.github/workflows/pull_request.yml
Outdated
- name: Archive Gradle Test Summary | ||
uses: actions/upload-artifact@v3 | ||
if: ${{ failure() }} | ||
with: | ||
name: gradle-test-summary-b${{ matrix.java.c }}-t${{ matrix.java.t || matrix.java.c }}-${{ matrix.dist.name }}-${{ matrix.os }} | ||
path: build/reports/tests/test/ | ||
retention-days: 4 | ||
if-no-files-found: ignore |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Example of this can be found at https://github.com/jord1e/graphql-java/actions/runs/2140596163
Go the the Artificats section, Open the .zip, then open index.html in your browser
Hey @jord1e is there anything else you want to add before review? |
No. Go ahead :) |
# Conflicts: # .github/workflows/pull_request.yml # build.gradle
@dondonz I updated the branch |
.github/workflows/pull_request.yml
Outdated
- { c: '8.0.282', t: '8.0.282' } # Earliest supported Java 8 | ||
- { c: '11', t: '11' } | ||
- { c: '17', t: '17' } | ||
- { c: '18', t: '18' } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that 18 EOL was reached 1 year ago, we should be able to drop this and replace it with 17, 21, and possibly 22
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
now running 11,17,21
I think adding 22-ea in a new PR makes the most sense
Temurin is already releasing EA builds, we just need to make sure Semeru is excluded from the test matrix (or have includes: on 22-ea)
# Conflicts: # .github/workflows/master.yml # .github/workflows/pull_request.yml # .github/workflows/release.yml # settings.gradle
[skip ci]
- name: Build | ||
uses: gradle/gradle-build-action@v2 | ||
with: | ||
arguments: assemble | ||
- name: Test | ||
uses: gradle/gradle-build-action@v2 | ||
with: | ||
arguments: check --info | ||
- name: Publish | ||
uses: gradle/gradle-build-action@v2 | ||
with: | ||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository -x check --info --stacktrace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Facilitates better caching
- name: Build | ||
uses: gradle/gradle-build-action@v2 | ||
with: | ||
arguments: assemble | ||
- name: Test | ||
uses: gradle/gradle-build-action@v2 | ||
with: | ||
arguments: check --info | ||
- name: Publish | ||
uses: gradle/gradle-build-action@v2 | ||
with: | ||
arguments: publishToSonatype closeAndReleaseSonatypeStagingRepository -x check --info --stacktrace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Facilitates better caching
plugins { | ||
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Has to be defined in the settings.gradle
Makes sure the relevant JDK is automatically downloaded again. This was changed in a more recent version (of Gradle), it used to download the JDK automatically if it was missing--now we need this plugin
Tests >= 17 broken because of #3369 |
Fixes #2676
Does the following:
sourceCompatibility
andtargetCompatibility
(now resides in gradle.properties and just takes whatever J8 you have installed, or installs the latest J8)Does not touch deployment of the jars on master, I found it kind of unnecessary because everything is done in PRs anyway and it complicates the build scripts.
This needs to be squashed before merging.