Compare commits

...

18 Commits

Author SHA1 Message Date
Ivan Babiankou
db3cf7d0b8 very last try 2022-08-05 17:39:42 +02:00
Ivan Babiankou
50db75df52 Hmm, what is the difference? 2022-08-05 17:04:13 +02:00
Ivan Babiankou
8ca6982154 Revert performance tweaks 2022-08-05 16:57:47 +02:00
Ivan Babiankou
b8962fdba6 GIVE ME MORE 2022-08-05 16:41:53 +02:00
Ivan Babiankou
3fd83852fb Drop -Xmx 2022-08-05 16:29:53 +02:00
Ivan Babiankou
0ed60fe726 more builds 2022-08-05 16:20:45 +02:00
Ivan Babiankou
6fc4c8c43c trigger more builds 2022-08-05 16:20:08 +02:00
Ivan Babiankou
3921884481 build this branch 2022-08-05 16:01:24 +02:00
Stephan Schroevers
10369e2624 Speed up the build
The build is sped up in two ways:
1. By tweaking the JVM flags passed to the main process.
2. By tweaking the JVM flags passed to the forked Surefire processes.

(cherry picked from commit cf34951eff29d73d6d1aa99679e205e50a28586a)
2022-08-05 16:00:42 +02:00
Rick Ossendrijver
708c8affcf Apply suggestions 2022-08-05 16:00:42 +02:00
Pieter Dirk Soels
0fa9541db6 Remove argument to print versions as we already did so in another step 2022-08-05 16:00:42 +02:00
Stephan Schroevers
5b261045d1 More cleanup 2022-08-05 16:00:42 +02:00
Stephan Schroevers
8be8730fd4 Build all PR branches 2022-08-05 16:00:42 +02:00
Stephan Schroevers
b12b2e8ebc Rename file, run parallel build 2022-08-05 16:00:42 +02:00
Stephan Schroevers
13567d23e4 Suggestions 2022-08-05 16:00:42 +02:00
Rick Ossendrijver
78cabb58c1 PSM-1324 Apply suggestion 2022-08-05 16:00:42 +02:00
Rick Ossendrijver
812787544a PSM-1324 Apply feedback 2022-08-05 16:00:42 +02:00
Rick Ossendrijver
f35a1fba53 Migrate from Travis CI to GitHub Actions 2022-08-05 16:00:42 +02:00
4 changed files with 44 additions and 53 deletions

38
.github/workflows/build.yaml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Build and verify
on:
pull_request:
push:
branches:
- 'master'
- 'ibabiankou/experiments'
jobs:
build:
runs-on: ubuntu-22.04
strategy:
matrix:
jdk: [ 11.0.16, 17.0.4 ]
steps:
# We run the build twice for each supported JDK: once against the
# original Error Prone release, using only Error Prone checks available
# on Maven Central, and once against the Picnic Error Prone fork,
# additionally enabling all checks defined in this project and any
# Error Prone checks available only from other artifact repositories.
- name: Check out code
uses: actions/checkout@v3.0.2
- name: Set up JDK
uses: actions/setup-java@v3.4.1
with:
java-version: ${{ matrix.jdk }}
distribution: temurin
cache: maven
- name: Display build environment details
run: mvn --version
- name: Build project against vanilla Error Prone
run: mvn -T1C install
- name: Build project with self-check against Error Prone fork
run: mvn -T1C clean verify -Perror-prone-fork -Pnon-maven-central -Pself-check -s settings.xml
- name: Remove project snapshots
run: mvn build-helper:remove-project-artifact
# XXX: Enable Codecov once we "go public".
# XXX: Enable SonarCloud once we "go public".

1
.mvn/maven.config Normal file
View File

@@ -0,0 +1 @@
--batch-mode --errors --strict-checksums

View File

@@ -1,38 +0,0 @@
---
dist: bionic
language: java
jdk: openjdk11
addons:
sonarcloud:
organization: picnic-technologies
token: "${SONARCLOUD_TOKEN}"
install:
- mvn io.takari:maven:wrapper
script:
# We run the build twice: once against the original Error Prone release,
# using only Error Prone checks available on Maven Central, and once against
# the Picnic Error Prone fork, additionally enabling all checks defined in
# this project and any Error Prone checks available only from other artifact
# repositories.
- ./mvnw clean install
- ./mvnw clean install -Perror-prone-fork -Pnon-maven-central -Pself-check -s settings.xml
# XXX: Enable SonarCloud once we "go public".
# ./mvnw jacoco:prepare-agent surefire:test jacoco:report sonar:sonar
- ./mvnw jacoco:prepare-agent surefire:test jacoco:report
before_cache:
# Don't cache the artifacts we just generated, for multiple reasons: (1) we
# shouldn't need them next time around and (2) if we do, that indicates a
# dependency issue which might otherwise go unnoticed until next time we bump
# the project's version (i.e., when tagging).
- find "${HOME}/.m2/repository" -depth -name '*-SNAPSHOT' -exec rm -r '{}' \;
cache:
directories:
# The local Maven repository in which third party dependencies are stored.
- ${HOME}/.m2/repository
# The Takari Maven Wrapper's storage for downloaded Maven distributions.
- ${HOME}/.m2/wrapper
# The SonarQube analysis cache.
- ${HOME}/.sonar/cache
# XXX: Enable Codecov once we "go public".
#after_success:
# - bash <(curl -s https://codecov.io/bash)

20
pom.xml
View File

@@ -75,11 +75,11 @@
arguments. In particular, JaCoCo relies on this for the configuration
of its Java agent. -->
<argLine>
<!-- Error Prone makes extensive use of unsupported
<!-- The JVM arguments specified in `.mvn/jvm.config` also apply to
test JVMs, as those are also non-interactive processess running
Error Prone, and thus similarly make extensive use of unsupported
`javac`-internal APIs, in some cases even reflectively inspecting
them. These APIs are accessed at compile time and when running
tests. The former case is covered by flags in `.mvn/jvm.config`;
the latter is covered here. -->
them. -->
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
@@ -93,9 +93,6 @@
<!-- The test JVMs are short-running. By disabling certain
expensive JIT optimizations we actually speed up most tests. -->
-XX:TieredStopAtLevel=1
<!-- We cap memory usage. This is primarily relevant for build agents,
but locally this should also be more than enough. -->
-Xmx512m
<!-- This argument cannot be set through Surefire's
'systemPropertyVariables' configuration setting. Setting the file
encoding is necessary because forked unit test invocations
@@ -140,6 +137,7 @@
<version.findbugs-format-string>3.0.0</version.findbugs-format-string>
<version.guava-beta-checker>1.0</version.guava-beta-checker>
<version.jdk>11</version.jdk>
<!-- XXX: Configure Renovate to open upgrade PRs for this property. -->
<version.maven>3.6.3</version.maven>
<version.mockito>4.6.1</version.mockito>
<version.nopen-checker>1.0.1</version.nopen-checker>
@@ -488,14 +486,6 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.takari</groupId>
<artifactId>maven</artifactId>
<version>0.7.7</version>
<configuration>
<maven>${version.maven}</maven>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>