Software developers spend all their creative energy on productive work. There is absolutely zero release overhead because all software is released automatically.
Encourage and help software developers set up their releases to be fully automated.
mockito-scala$ java -version | |
openjdk version "1.8.0_252" | |
OpenJDK Runtime Environment Corretto-8.252.09.1 (build 1.8.0_252-b09) | |
OpenJDK 64-Bit Server VM Corretto-8.252.09.1 (build 25.252-b09, mixed mode) | |
mockito-scala$ ./build.sh | |
[info] Loading project definition from /Users/sfaber/mockito/mockito-scala/project | |
[info] Loading settings from build.sbt ... | |
[info] Set current project to root (in build file:/Users/sfaber/mockito/mockito-scala/) |
org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':gobblin-kafka-streaming-validation-flows:incrementalScalaAnalysisFormain'. | |
at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.wrapException(ErrorHandlingConfigurationResolver.java:104) | |
at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.access$000(ErrorHandlingConfigurationResolver.java:48) | |
at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver$ErrorHandlingResolutionResult.getRoot(ErrorHandlingConfigurationResolver.java:203) | |
at org.gradle.api.internal.artifacts.configurations.ResolveConfigurationResolutionBuildOperationResult.getRootComponent(ResolveConfigurationResolutionBuildOperationResult.java:60) | |
at com.gradle.scan.plugin.internal.b.e.a.h$a.b(SourceFile:116) | |
at com.gradle.scan.plugin.internal.b.e.a.h$a.a(SourceFile:70) | |
at com.gradle.scan.plugin.internal.b.e.a.h.a |
<?xml version="1.0" encoding="UTF-8"?> | |
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>org.apache.gobblin</groupId> | |
<artifactId>gobblin-runtime</artifactId> | |
<version>0.15.0</version> | |
<name>Apache Gobblin (incubating)</name> | |
<description>A distributed data integration framework for streaming and batch data ecosystems.</description> | |
<url>https://gobblin.apache.org/</url> | |
<licenses> |
<?xml version="1.0" encoding="UTF-8"?> | |
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>org.apache.gobblin</groupId> | |
<artifactId>gobblin-all</artifactId> | |
<version>0.15.0</version> | |
<name>Apache Gobblin (incubating)</name> | |
<description>A distributed data integration framework for streaming and batch data ecosystems.</description> | |
<url>https://gobblin.apache.org/</url> | |
<licenses> |
Dependencies of BreadMoirai / github-release-gradle-plugin Gradle plugin: | |
> Task :buildEnvironment | |
------------------------------------------------------------ | |
Root project | |
------------------------------------------------------------ | |
classpath | |
\--- com.github.breadmoirai.github-release:com.github.breadmoirai.github-release.gradle.plugin:2.2.9 |
Result of "dependencyInsight" task: | |
com.fasterxml.jackson.core:jackson-core:2.8.3 (selected by rule) | |
variant "default" [ | |
org.gradle.status = integration (not requested) | |
Requested attributes not found in the selected variant: | |
com.android.build.api.attributes.BuildTypeAttr = debug | |
org.gradle.usage = java-runtime | |
com.android.build.gradle.internal.dependency.AndroidTypeAttr = Aar | |
] |
Fast and reliable builds enable quicker commit-to-production cycles which are essential for developer productivity.
Build infrastructure at LinkedIn handles 100K builds daily, including local and CI builds. There are 3K engineers running builds, 5K machines (CI+local), 6K codebases, 500 Gradle Plugins. We never stop optimizing the speed, reliability and maintainability of our builds.
In this talk we zoom into:
~/mockito/release$ ./gradlew cTRel | |
> Configure project : | |
Building version '2.0.16' (value loaded from 'version.properties' file). | |
[INCUBATING] upgrade-dependency plugin is incubating and may change in any version. | |
> Configure project :testDownstream | |
[INCUBATING] downstream-testing plugin is incubating and may change in any version. | |
Build cache is an incubating feature. |
~/mockito/example-release$ ./gradlew contributorTestRelease | |
Building version '0.16.14' (value loaded from 'version.properties' file). | |
[INCUBATING] upgrade-dependency plugin is incubating and may change in any version. | |
:contributorTestRelease | |
Performing release in dry run, with cleanup: | |
./gradlew releaseNeeded performRelease releaseCleanUp -PdryRun -x gitPush -x bintrayUpload | |
[releaseNeeded] Starting a Gradle Daemon, 1 busy Daemon could not be reused, use --status for details | |
[releaseNeeded] Building version '0.16.14' (value loaded from 'version.properties' file). | |
[releaseNeeded] [INCUBATING] upgrade-dependency plugin is incubating and may change in any version. | |
[releaseNeeded] :identifyGitBranch |