mirror of https://github.com/apache/maven.git
Add CI cache (#1914)
* Add cache for all steps * Pass through the maven.repo.loca.tail property
This commit is contained in:
parent
ab7d766c72
commit
12b3dae3ce
|
@ -45,9 +45,10 @@ jobs:
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ~/.m2/repository/cached
|
path: ~/.m2/repository/cached
|
||||||
key: maven-${{ hashFiles('**/pom.xml') }}
|
key: maven-${{ runner.os }}-initial-${{ hashFiles('**/pom.xml') }}
|
||||||
restore-keys: maven-
|
restore-keys: |
|
||||||
enableCrossOsArchive: true
|
maven-${{ runner.os }}-initial-
|
||||||
|
maven-${{ runner.os }}-
|
||||||
|
|
||||||
- name: Set up Maven
|
- name: Set up Maven
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -55,7 +56,7 @@ jobs:
|
||||||
|
|
||||||
- name: Build Maven distributions
|
- name: Build Maven distributions
|
||||||
shell: bash
|
shell: bash
|
||||||
run: ./mvnw verify -e -B -V -DdistributionFileName=apache-maven
|
run: ./mvnw verify -e -B -V -DdistributionFileName=apache-maven -Dmaven.repo.local=$HOME/.m2/repository/cached
|
||||||
|
|
||||||
- name: List contents of target directory
|
- name: List contents of target directory
|
||||||
shell: bash
|
shell: bash
|
||||||
|
@ -123,9 +124,18 @@ jobs:
|
||||||
echo "MAVEN_HOME=$PWD/maven-local" >> $GITHUB_ENV
|
echo "MAVEN_HOME=$PWD/maven-local" >> $GITHUB_ENV
|
||||||
echo "$PWD/maven-local/bin" >> $GITHUB_PATH
|
echo "$PWD/maven-local/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
|
- name: Cache Maven packages
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.m2/repository/cached
|
||||||
|
key: maven-${{ runner.os }}-full-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: |
|
||||||
|
maven-${{ runner.os }}-full-
|
||||||
|
maven-${{ runner.os }}-
|
||||||
|
|
||||||
- name: Build site with downloaded Maven
|
- name: Build site with downloaded Maven
|
||||||
shell: bash
|
shell: bash
|
||||||
run: mvn verify site -e -B -V -DdistributionFileName=apache-maven -Preporting
|
run: mvn verify site -e -B -V -Preporting -Dmaven.repo.local=$HOME/.m2/repository/cached
|
||||||
|
|
||||||
integration-tests:
|
integration-tests:
|
||||||
needs: initial-build
|
needs: initial-build
|
||||||
|
@ -174,9 +184,18 @@ jobs:
|
||||||
echo "MAVEN_HOME=$PWD/maven-local" >> $GITHUB_ENV
|
echo "MAVEN_HOME=$PWD/maven-local" >> $GITHUB_ENV
|
||||||
echo "$PWD/maven-local/bin" >> $GITHUB_PATH
|
echo "$PWD/maven-local/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
|
- name: Cache Maven packages
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.m2/repository/cached
|
||||||
|
key: maven-${{ runner.os }}-its-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: |
|
||||||
|
maven-${{ runner.os }}-its
|
||||||
|
maven-${{ runner.os }}-
|
||||||
|
|
||||||
- name: Run integration tests
|
- name: Run integration tests
|
||||||
shell: bash
|
shell: bash
|
||||||
run: mvn install -e -B -V -Prun-its,embedded
|
run: mvn install -e -B -V -Prun-its,embedded -Dmaven.repo.local=$HOME/.m2/repository/local -Dmaven.repo.local.tail=$HOME/.m2/repository/cached
|
||||||
|
|
||||||
- name: Upload test artifacts
|
- name: Upload test artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
|
|
@ -633,6 +633,28 @@ under the License.
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>maven-repo-local-tail</id>
|
||||||
|
<activation>
|
||||||
|
<property>
|
||||||
|
<name>maven.repo.local.tail</name>
|
||||||
|
</property>
|
||||||
|
</activation>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<systemPropertyVariables>
|
||||||
|
<!-- Pass this through to the tests (if set!) to have them
|
||||||
|
pick the right repository -->
|
||||||
|
<maven.repo.local.tail>${maven.repo.local.tail}</maven.repo.local.tail>
|
||||||
|
</systemPropertyVariables>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
<profile>
|
<profile>
|
||||||
<id>maven-repo-local-layout</id>
|
<id>maven-repo-local-layout</id>
|
||||||
<activation>
|
<activation>
|
||||||
|
|
|
@ -48,6 +48,7 @@ public class MavenITmng8181CentralRepoTest extends AbstractMavenIntegrationTestC
|
||||||
verifier.addCliArgument("--install-settings=install-settings.xml");
|
verifier.addCliArgument("--install-settings=install-settings.xml");
|
||||||
verifier.addCliArgument("--settings=settings.xml");
|
verifier.addCliArgument("--settings=settings.xml");
|
||||||
verifier.addCliArgument("-Dmaven.repo.local=" + testDir.toPath().resolve("target/local-repo"));
|
verifier.addCliArgument("-Dmaven.repo.local=" + testDir.toPath().resolve("target/local-repo"));
|
||||||
|
verifier.addCliArgument("-Dmaven.repo.local.tail=target/null");
|
||||||
verifier.addCliArgument("-Dmaven.repo.central=http://repo1.maven.org/");
|
verifier.addCliArgument("-Dmaven.repo.central=http://repo1.maven.org/");
|
||||||
verifier.addCliArgument("validate");
|
verifier.addCliArgument("validate");
|
||||||
assertThrows(VerificationException.class, verifier::execute);
|
assertThrows(VerificationException.class, verifier::execute);
|
||||||
|
|
|
@ -29,11 +29,17 @@ import org.apache.maven.shared.verifier.VerificationException;
|
||||||
|
|
||||||
public class Verifier extends org.apache.maven.shared.verifier.Verifier {
|
public class Verifier extends org.apache.maven.shared.verifier.Verifier {
|
||||||
public Verifier(String basedir) throws VerificationException {
|
public Verifier(String basedir) throws VerificationException {
|
||||||
super(basedir);
|
this(basedir, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Verifier(String basedir, boolean debug) throws VerificationException {
|
public Verifier(String basedir, boolean debug) throws VerificationException {
|
||||||
super(basedir, debug);
|
super(basedir, null, debug, defaultCliArguments());
|
||||||
|
}
|
||||||
|
|
||||||
|
static String[] defaultCliArguments() {
|
||||||
|
return new String[] {
|
||||||
|
"-e", "--batch-mode", "-Dmaven.repo.local.tail=" + System.getProperty("maven.repo.local.tail")
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public String loadLogContent() throws IOException {
|
public String loadLogContent() throws IOException {
|
||||||
|
@ -95,4 +101,8 @@ public class Verifier extends org.apache.maven.shared.verifier.Verifier {
|
||||||
public static long textOccurencesInLog(List<String> lines, String text) {
|
public static long textOccurencesInLog(List<String> lines, String text) {
|
||||||
return lines.stream().filter(line -> stripAnsi(line).contains(text)).count();
|
return lines.stream().filter(line -> stripAnsi(line).contains(text)).count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void execute() throws VerificationException {
|
||||||
|
super.execute();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue