Skip to content

Commit ee0c414

Browse files
Move from CircleCI to GitHub Actions (#31)
* Use random port for local MBean test server * Ensure lint task runs for all projects * bump integration test timeouts * Retry integration tests * specify gradle wrapper distributionSha256Sum * Adopt GH Actions * remove redundant gradle-cache-action
1 parent b8f524d commit ee0c414

14 files changed

+96
-115
lines changed

.circleci/config.yml

Lines changed: 0 additions & 103 deletions
This file was deleted.

.github/workflows/pr-build.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: "PR Build"
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
build:
13+
name: build
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v2
17+
with:
18+
fetch-depth: 0
19+
- name: Setup Java 11
20+
uses: actions/setup-java@v2
21+
with:
22+
distribution: adopt
23+
java-version: 11
24+
- uses: burrunan/gradle-cache-action@v1
25+
name: ./gradlew lint
26+
with:
27+
arguments: --stacktrace lint
28+
gradle-version: wrapper
29+
job-id: java-contrib
30+
remote-build-cache-proxy-enabled: false
31+
- name: ./gradlew assemble
32+
run: ./gradlew --stacktrace assemble
33+
- name: ./gradlew build
34+
run: ./gradlew --stacktrace --max-workers 2 build
35+
timeout-minutes: 5
36+
- uses: actions/upload-artifact@v2
37+
name: Save unit test results
38+
if: always()
39+
with:
40+
name: test-results
41+
path: contrib/jmx-metrics/build/reports/tests/test
42+
integration-test:
43+
name: integration-test
44+
runs-on: ubuntu-latest
45+
needs: build
46+
steps:
47+
- uses: actions/checkout@v2
48+
with:
49+
fetch-depth: 0
50+
- name: Setup Java 11
51+
uses: actions/setup-java@v2
52+
with:
53+
distribution: adopt
54+
java-version: 11
55+
- uses: burrunan/gradle-cache-action@v1
56+
name: ./gradlew integrationTest
57+
id: integration-test
58+
timeout-minutes: 10
59+
with:
60+
arguments: --stacktrace --max-workers 2 integrationTest
61+
gradle-version: wrapper
62+
job-id: java-contrib
63+
remote-build-cache-proxy-enabled: false
64+
- uses: actions/upload-artifact@v2
65+
name: Save integrationTest results
66+
if: always()
67+
with:
68+
name: integration-test-results
69+
path: contrib/jmx-metrics/build/reports/tests/test

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# OpenTelemetry Java Contrib
2-
[![Build status](https://img.shields.io/circleci/build/github/open-telemetry/opentelemetry-java-contrib?style=for-the-badge)](https://app.circleci.com/pipelines/github/open-telemetry/opentelemetry-java-contrib?branch=master)
2+
[![Build](https://github.com/open-telemetry/opentelemetry-java-contrib/actions/workflows/pr-build.yml/badge.svg)](https://github.com/open-telemetry/opentelemetry-java-contrib/actions/workflows/pr-build.yml)
33

44
This project is intended to provide helpful libraries and standalone OpenTelemetry-based utilities that don't fit
55
the express scope of the [OpenTelemetry Java](https://github.com/open-telemetry/opentelemetry-java) or

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ allprojects {
2424
}
2525
}
2626

27-
task lint(dependsOn: ['spotlessCheck'])
28-
task format(dependsOn: ['spotlessApply'])
27+
task lint(dependsOn: [allprojects.spotlessCheck])
28+
task format(dependsOn: [allprojects.spotlessApply])
2929

3030
task integrationTest {
3131
doFirst {

contrib/jmx-metrics/src/test/groovy/io/opentelemetry/contrib/jmxmetrics/IntegrationTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ class OtlpIntegrationTest extends IntegrationTest {
214214
collectorServer.awaitTermination(5, TimeUnit.SECONDS)
215215
}
216216

217-
def availablePort() {
217+
static def availablePort() {
218218
def sock = new ServerSocket(0);
219219
def port = sock.getLocalPort()
220220
sock.close()

contrib/jmx-metrics/src/test/groovy/io/opentelemetry/contrib/jmxmetrics/OtelHelperJmxTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class OtelHelperJmxTest extends Specification {
4646
}
4747

4848
private JMXServiceURL setupServer(Map env) {
49-
def serviceUrl = new JMXServiceURL('rmi', 'localhost', 0)
49+
def serviceUrl = new JMXServiceURL('rmi', 'localhost', OtlpIntegrationTest.availablePort())
5050
jmxServer = JMXConnectorServerFactory.newJMXConnectorServer(serviceUrl, env, getPlatformMBeanServer())
5151
jmxServer.start()
5252
return jmxServer.getAddress()

contrib/jmx-metrics/src/test/groovy/io/opentelemetry/contrib/jmxmetrics/OtlpIntegrationTests.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@ import io.opentelemetry.proto.metrics.v1.DoubleHistogramDataPoint
2525
import io.opentelemetry.proto.metrics.v1.ResourceMetrics
2626
import org.testcontainers.Testcontainers
2727
import spock.lang.Requires
28+
import spock.lang.Retry
2829
import spock.lang.Timeout
2930
import spock.lang.Unroll
3031

3132
@Requires({
3233
System.getProperty('ojc.integration.tests') == 'true'
3334
})
34-
@Timeout(60)
35+
@Timeout(90)
36+
@Retry
3537
class OtlpIntegrationTests extends OtlpIntegrationTest {
3638

3739
@Unroll

contrib/jmx-metrics/src/test/groovy/io/opentelemetry/contrib/jmxmetrics/target-systems/CassandraIntegrationTests.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,14 @@ import io.opentelemetry.proto.metrics.v1.Metric
2727
import io.opentelemetry.proto.metrics.v1.ResourceMetrics
2828
import org.testcontainers.Testcontainers
2929
import spock.lang.Requires
30+
import spock.lang.Retry
3031
import spock.lang.Timeout
3132

3233
@Requires({
3334
System.getProperty('ojc.integration.tests') == 'true'
3435
})
35-
@Timeout(60)
36+
@Timeout(90)
37+
@Retry
3638
class CassandraIntegrationTests extends OtlpIntegrationTest {
3739

3840
def 'end to end'() {

contrib/jmx-metrics/src/test/groovy/io/opentelemetry/contrib/jmxmetrics/target-systems/JVMTargetSystemIntegrationTests.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@ import io.opentelemetry.proto.metrics.v1.Metric
2626
import io.opentelemetry.proto.metrics.v1.ResourceMetrics
2727
import org.testcontainers.Testcontainers
2828
import spock.lang.Requires
29+
import spock.lang.Retry
2930
import spock.lang.Timeout
3031

3132
@Requires({
3233
System.getProperty('ojc.integration.tests') == 'true'
3334
})
34-
@Timeout(60)
35+
@Timeout(90)
36+
@Retry
3537
class JVMTargetSystemIntegrationTests extends OtlpIntegrationTest {
3638

3739
def 'end to end'() {

contrib/jmx-metrics/src/test/groovy/io/opentelemetry/contrib/jmxmetrics/target-systems/KafkaConsumerTargetSystemIntegrationTests.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@ import io.opentelemetry.proto.metrics.v1.Metric
2222
import io.opentelemetry.proto.metrics.v1.ResourceMetrics
2323
import org.testcontainers.Testcontainers
2424
import spock.lang.Requires
25+
import spock.lang.Retry
2526
import spock.lang.Timeout
2627

2728
@Requires({
2829
System.getProperty('ojc.integration.tests') == 'true'
2930
})
30-
@Timeout(60)
31+
@Timeout(90)
32+
@Retry
3133
class KafkaConsumerTargetSystemIntegrationTests extends OtlpIntegrationTest {
3234

3335
def 'end to end'() {

0 commit comments

Comments
 (0)