Skip to content

Commit a715899

Browse files
authored
Merge pull request #279 from EventStore/yoeight/update-gha
Support different runtime environments out-of-the-box.
2 parents fc428b8 + 51f5e47 commit a715899

18 files changed

+94
-1430
lines changed

.github/workflows/docker-repo.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Get ESDB Docker repo
2+
on:
3+
workflow_call:
4+
inputs:
5+
runtime_env:
6+
description: The runtime environment we want to run like release or staging
7+
type: string
8+
default: release
9+
10+
outputs:
11+
docker_repo:
12+
description: ESDB docker repository
13+
value: ${{ jobs.provide_docker.outputs.docker_repo }}
14+
15+
docker_container:
16+
description: ESDB docker container
17+
value: ${{ jobs.provide_docker.outputs.docker_container }}
18+
19+
jobs:
20+
provide_docker:
21+
runs-on: ubuntu-latest
22+
outputs:
23+
docker_repo: ${{ steps.set_docker.outputs.docker_repo }}
24+
docker_container: ${{ steps.set_docker.outputs.docker_container }}
25+
steps:
26+
- name: Set ESDB docker repo
27+
id: set_docker
28+
run: |
29+
case ${{ inputs.runtime_env }} in
30+
"release")
31+
echo "docker_repo=eventstore-ce" >> $GITHUB_OUTPUT
32+
echo "docker_container=eventstoredb-ce" >> $GITHUB_OUTPUT
33+
;;
34+
35+
"staging")
36+
echo "docker_repo=eventstore-staging-ce" >> $GITHUB_OUTPUT
37+
echo "docker_container=eventstoredb-oss" >> $GITHUB_OUTPUT
38+
;;
39+
40+
"enterprise")
41+
echo "docker_repo=eventstore-ee" >> $GITHUB_OUTPUT
42+
echo "docker_container=eventstoredb-commercial" >> $GITHUB_OUTPUT
43+
;;
44+
45+
*)
46+
echo "docker_repo=eventstore-ce" >> $GITHUB_OUTPUT
47+
echo "docker_container=eventstoredb-ce" >> $GITHUB_OUTPUT
48+
;;
49+
esac

.github/workflows/plugins-tests.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,23 @@ name: enterprise plugins tests workflow
33
on:
44
workflow_call:
55
inputs:
6+
runtime_env:
7+
description: The runtime environment we want to run like release or staging
8+
type: string
9+
default: enterprise
10+
611
esdb_version:
712
required: true
813
type: string
914

1015
jobs:
16+
provide_docker:
17+
uses: ./.github/workflows/docker-repo.yml
18+
with:
19+
runtime_env: ${{ inputs.runtime_env }}
20+
1121
single_node:
22+
needs: provide_docker
1223
name: Single Node
1324

1425
strategy:
@@ -47,7 +58,7 @@ jobs:
4758
run: ./gradlew ci --tests ${{ matrix.test }}Tests
4859
env:
4960
EVENTSTORE_DOCKER_REGISTRY_ENV: docker.eventstore.com
50-
EVENTSTORE_DOCKER_IMAGE_ENV: eventstore-ee/eventstoredb-commercial
61+
EVENTSTORE_DOCKER_IMAGE_ENV: ${{ needs.provide_docker.outputs.docker_repo }}/${{ needs.provide_docker.outputs.docker_container }}
5162
EVENTSTORE_DOCKER_TAG_ENV: ${{ inputs.esdb_version }}
5263
SECURE: true
5364

@@ -59,6 +70,7 @@ jobs:
5970
if-no-files-found: error
6071

6172
cluster:
73+
needs: provide_docker
6274
name: Cluster
6375

6476
strategy:
@@ -84,7 +96,7 @@ jobs:
8496
run: docker compose up -d
8597
env:
8698
CONTAINER_REGISTRY: docker.eventstore.com
87-
CONTAINER_IMAGE: eventstore-ee/eventstoredb-commercial
99+
CONTAINER_IMAGE: ${{ needs.provide_docker.outputs.docker_repo }}/${{ needs.provide_docker.outputs.docker_container }}
88100
CONTAINER_IMAGE_VERSION: ${{ inputs.esdb_version }}
89101

90102
- name: Generate user certificates

.github/workflows/test-dispatch.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@ name: "Dispatch"
33
on:
44
workflow_dispatch:
55
inputs:
6+
runtime_env:
7+
description: The runtime environment. release, staging or enterprise
8+
type: string
9+
default: release
10+
611
version:
7-
description: "Version tag"
12+
description: Docker version tag
813
required: true
914
type: string
1015

@@ -13,4 +18,5 @@ jobs:
1318
name: Test
1419
uses: ./.github/workflows/tests.yml
1520
with:
16-
esdb_version: ${{ inputs.version }}
21+
esdb_version: ${{ inputs.version }}
22+
runtime_env: ${{ inputs.runtime_env }}

.github/workflows/tests.yml

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,28 @@ name: tests workflow
33
on:
44
workflow_call:
55
inputs:
6+
runtime_env:
7+
type: string
8+
default: release
9+
610
esdb_version:
711
required: true
812
type: string
913

1014
jobs:
15+
provide_docker:
16+
uses: ./.github/workflows/docker-repo.yml
17+
with:
18+
runtime_env: ${{ inputs.runtime_env }}
19+
1120
single_node:
21+
needs: provide_docker
1222
name: Single node
1323

1424
strategy:
1525
fail-fast: false
1626
matrix:
17-
test: [Streams, PersistentSubscriptions, Expectations, Telemetry]
27+
test: [Streams, PersistentSubscriptions, Telemetry]
1828

1929
runs-on: ubuntu-latest
2030
steps:
@@ -34,16 +44,19 @@ jobs:
3444
- name: Execute Gradle build
3545
run: ./gradlew ci --tests ${{ matrix.test }}Tests
3646
env:
47+
EVENTSTORE_DOCKER_REGISTRY_ENV: docker.eventstore.com
48+
EVENTSTORE_DOCKER_IMAGE_ENV: ${{ needs.provide_docker.outputs.docker_repo }}/${{ needs.provide_docker.outputs.docker_container }}
3749
EVENTSTORE_DOCKER_TAG_ENV: ${{ inputs.esdb_version }}
3850

3951
- uses: actions/upload-artifact@v3
4052
if: failure()
4153
with:
4254
name: esdb_logs.tar.gz
43-
path: db-client-java/esdb_logs.tar.gz
55+
path: /tmp/esdb_logs.tar.gz
4456
if-no-files-found: error
4557

4658
secure:
59+
needs: provide_docker
4760
name: Secure
4861

4962
strategy:
@@ -72,16 +85,19 @@ jobs:
7285
- name: Execute Gradle build
7386
run: ./gradlew ci --tests ${{ matrix.test }}Tests
7487
env:
88+
EVENTSTORE_DOCKER_REGISTRY_ENV: docker.eventstore.com
89+
EVENTSTORE_DOCKER_IMAGE_ENV: ${{ needs.provide_docker.outputs.docker_repo }}/${{ needs.provide_docker.outputs.docker_container }}
7590
EVENTSTORE_DOCKER_TAG_ENV: ${{ inputs.esdb_version }}
7691
SECURE: true
7792

7893
- uses: actions/upload-artifact@v3
7994
if: failure()
8095
with:
81-
name: esdb-logs
82-
path: eventstore/esdb_logs
96+
name: esdb_logs.tar.gz
97+
path: /tmp/esdb_logs.tar.gz
8398

8499
cluster:
100+
needs: provide_docker
85101
name: Cluster
86102

87103
strategy:
@@ -96,6 +112,8 @@ jobs:
96112
- name: Set up cluster with Docker Compose
97113
run: docker compose up -d
98114
env:
115+
CONTAINER_REGISTRY: docker.eventstore.com
116+
CONTAINER_IMAGE: ${{ needs.provide_docker.outputs.docker_repo }}/${{ needs.provide_docker.outputs.docker_container }}
99117
CONTAINER_IMAGE_VERSION: ${{ inputs.esdb_version }}
100118

101119
- name: Set up JDK 8
@@ -112,7 +130,6 @@ jobs:
112130
- name: Execute Gradle build
113131
run: ./gradlew ci --tests ${{ matrix.test }}Tests
114132
env:
115-
EVENTSTORE_DOCKER_TAG_ENV: ${{ inputs.esdb_version }}
116133
CLUSTER: true
117134
SECURE: true
118135

db-client-java/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ tasks.register("singleNodeTests", Test) {
116116
include("**/StreamsTests.class")
117117
include("**/PersistentSubscriptionsTests.class")
118118
include("**/TelemetryTests.class")
119-
include("**/ExpectationsTests.class")
120119
}
121120
}
122121

db-client-java/src/test/java/com/eventstore/dbclient/DatabaseFactory.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,6 @@ public static Database spawnEnterpriseWithPluginsEnabled(String... pluginsToEnab
3333
return builder.secure(secure).build();
3434
}
3535

36-
public static Database spawnPopulatedDatabase() {
37-
return singleNodeBuilder()
38-
.withTestData()
39-
.build();
40-
}
41-
4236
private static DockerContainerDatabase.Builder singleNodeBuilder() {
4337
return DockerContainerDatabase
4438
.builder()

db-client-java/src/test/java/com/eventstore/dbclient/ExpectationsTests.java

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

db-client-java/src/test/java/com/eventstore/dbclient/databases/DockerContainerDatabase.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,6 @@ public Builder anonymous(boolean anonymous) {
4646
return this;
4747
}
4848

49-
public Builder withTestData() {
50-
return image("eventstore-utils/testdata");
51-
}
52-
5349
public Builder image(String image) {
5450
this.image = image;
5551
return this;
@@ -135,7 +131,7 @@ public void cleanup() {
135131
logger().error(result.getStderr());
136132
throw new RuntimeException("Error when compressing server logs");
137133
}
138-
copyFileFromContainer("/tmp/esdb_logs.tar.gz", "./esdb_logs.tar.gz");
134+
copyFileFromContainer("/tmp/esdb_logs.tar.gz", "/tmp/esdb_logs.tar.gz");
139135
} catch (Exception e) {
140136
logger().error("Error when cleanup docker container", e);
141137
} finally {

db-client-java/src/test/java/com/eventstore/dbclient/expectations/Expectations.java

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

0 commit comments

Comments
 (0)