Skip to content

Commit 0299873

Browse files
authored
ci: OpenShift 4 pipeline running on OSPO OSCI
1 parent 979fc3b commit 0299873

18 files changed

+107
-29
lines changed

.github/workflows/e2e-osci-tests.yml

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#
2+
# Copyright (C) 2015 Red Hat, Inc.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
17+
name: E2E osci.io Tests
18+
19+
on:
20+
workflow_dispatch:
21+
schedule:
22+
- cron: '0 4 * * *' # Every day at 4am
23+
24+
concurrency:
25+
group: single-instance-for-persistent-cluster
26+
cancel-in-progress: true
27+
28+
env:
29+
IT_MODULE: kubernetes-itests
30+
MAVEN_ARGS: -B -C -V -ntp -Dhttp.keepAlive=false -e
31+
FAILSAFE_TEST_GROUPS: OSCI
32+
33+
jobs:
34+
e2e:
35+
name: E2E OpenShift 4
36+
runs-on: ubuntu-latest
37+
if: github.repository == 'fabric8io/kubernetes-client'
38+
steps:
39+
- name: Checkout
40+
uses: actions/checkout@v4
41+
- name: Setup Java 17
42+
uses: actions/setup-java@v4
43+
with:
44+
java-version: '17'
45+
distribution: 'temurin'
46+
- name: Install oc
47+
uses: redhat-actions/oc-installer@v1
48+
- name: Login to OpenShift
49+
run: |
50+
oc login --server=${{ secrets.OSCI_SERVER }} --token=${{ secrets.OSCI_TOKEN }}
51+
- name: Run Integration Tests
52+
run: |
53+
./mvnw ${MAVEN_ARGS} -Pitests -pl $IT_MODULE -Dgroups=$FAILSAFE_TEST_GROUPS verify

kubernetes-itests/src/test/java/io/fabric8/openshift/AdaptIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@
2020
import io.fabric8.kubernetes.client.KubernetesClient;
2121
import io.fabric8.openshift.api.model.Project;
2222
import io.fabric8.openshift.client.OpenShiftClient;
23+
import org.junit.jupiter.api.Tag;
2324
import org.junit.jupiter.api.Test;
2425

2526
import static org.junit.jupiter.api.Assertions.assertNotNull;
2627
import static org.junit.jupiter.api.Assertions.assertTrue;
2728

29+
@Tag("OSCI")
2830
@KubernetesTest(createEphemeralNamespace = false)
2931
@RequireK8sSupport(Project.class)
3032
class AdaptIT {

kubernetes-itests/src/test/java/io/fabric8/openshift/BuildConfigIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import io.fabric8.openshift.api.model.BuildSourceBuilder;
2525
import io.fabric8.openshift.client.OpenShiftClient;
2626
import org.assertj.core.api.InstanceOfAssertFactories;
27+
import org.junit.jupiter.api.Tag;
2728
import org.junit.jupiter.api.Test;
2829

2930
import java.util.Objects;
@@ -34,6 +35,7 @@
3435
import static org.junit.jupiter.api.Assertions.assertNotNull;
3536
import static org.junit.jupiter.api.Assertions.assertTrue;
3637

38+
@Tag("OSCI")
3739
@KubernetesTest(createEphemeralNamespace = false)
3840
@RequireK8sSupport(BuildConfig.class)
3941
@LoadKubernetesManifests("/buildconfig-it.yml")

kubernetes-itests/src/test/java/io/fabric8/openshift/BuildConfigWatchIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import io.fabric8.openshift.api.model.BuildRequest;
2727
import io.fabric8.openshift.api.model.BuildRequestBuilder;
2828
import io.fabric8.openshift.client.OpenShiftClient;
29+
import org.junit.jupiter.api.Tag;
2930
import org.junit.jupiter.api.Test;
3031

3132
import java.util.Objects;
@@ -38,6 +39,7 @@
3839
import static org.junit.jupiter.api.Assertions.assertNotNull;
3940
import static org.junit.jupiter.api.Assertions.assertTrue;
4041

42+
@Tag("OSCI")
4143
@KubernetesTest(createEphemeralNamespace = false)
4244
@RequireK8sSupport(BuildConfig.class)
4345
@LoadKubernetesManifests("/build-config-watch.yml")

kubernetes-itests/src/test/java/io/fabric8/openshift/BuildIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
3333
import org.junit.jupiter.api.AfterEach;
3434
import org.junit.jupiter.api.BeforeEach;
35+
import org.junit.jupiter.api.Tag;
3536
import org.junit.jupiter.api.io.TempDir;
3637
import org.junit.jupiter.params.ParameterizedTest;
3738
import org.junit.jupiter.params.provider.ValueSource;
@@ -45,6 +46,7 @@
4546
import static io.fabric8.kubernetes.client.utils.Utils.generateId;
4647
import static org.assertj.core.api.Assertions.assertThat;
4748

49+
@Tag("OSCI")
4850
@KubernetesTest(createEphemeralNamespace = false)
4951
@RequireK8sSupport(Build.class)
5052
class BuildIT {

kubernetes-itests/src/test/java/io/fabric8/openshift/DeploymentConfigIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import io.fabric8.openshift.api.model.DeploymentConfig;
2222
import io.fabric8.openshift.api.model.DeploymentConfigList;
2323
import io.fabric8.openshift.client.OpenShiftClient;
24+
import org.junit.jupiter.api.Tag;
2425
import org.junit.jupiter.api.Test;
2526

2627
import java.util.Objects;
@@ -31,6 +32,7 @@
3132
import static org.junit.jupiter.api.Assertions.assertNotNull;
3233
import static org.junit.jupiter.api.Assertions.assertTrue;
3334

35+
@Tag("OSCI")
3436
@KubernetesTest(createEphemeralNamespace = false)
3537
@RequireK8sSupport(DeploymentConfig.class)
3638
@LoadKubernetesManifests("/deploymentconfig-it.yml")

kubernetes-itests/src/test/java/io/fabric8/openshift/ImageStreamIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.fabric8.openshift.api.model.ImageStreamBuilder;
2323
import io.fabric8.openshift.api.model.ImageStreamList;
2424
import io.fabric8.openshift.client.OpenShiftClient;
25+
import org.junit.jupiter.api.Tag;
2526
import org.junit.jupiter.api.Test;
2627

2728
import java.util.Objects;
@@ -32,6 +33,7 @@
3233
import static org.junit.jupiter.api.Assertions.assertNotNull;
3334
import static org.junit.jupiter.api.Assertions.assertTrue;
3435

36+
@Tag("OSCI")
3537
@KubernetesTest(createEphemeralNamespace = false)
3638
@RequireK8sSupport(ImageStream.class)
3739
@LoadKubernetesManifests("/imagestream-it.yml")

kubernetes-itests/src/test/java/io/fabric8/openshift/ImageStreamTagIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.fabric8.openshift.api.model.ImageStreamTagBuilder;
2323
import io.fabric8.openshift.api.model.ImageStreamTagList;
2424
import io.fabric8.openshift.client.OpenShiftClient;
25+
import org.junit.jupiter.api.Tag;
2526
import org.junit.jupiter.api.Test;
2627

2728
import java.util.Optional;
@@ -31,6 +32,7 @@
3132
import static org.junit.jupiter.api.Assertions.assertNotNull;
3233
import static org.junit.jupiter.api.Assertions.assertTrue;
3334

35+
@Tag("OSCI")
3436
@KubernetesTest(createEphemeralNamespace = false)
3537
@RequireK8sSupport(ImageStreamTag.class)
3638
@LoadKubernetesManifests("/imagestreamtag-it.yml")

kubernetes-itests/src/test/java/io/fabric8/openshift/K8sAuthorizationOnOpenShiftIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import io.fabric8.openshift.api.model.Project;
3333
import io.fabric8.openshift.api.model.User;
3434
import io.fabric8.openshift.client.OpenShiftClient;
35+
import org.junit.jupiter.api.Tag;
3536
import org.junit.jupiter.api.Test;
3637

3738
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -44,6 +45,7 @@ class K8sAuthorizationOnOpenShiftIT {
4445

4546
OpenShiftClient client;
4647

48+
@Tag("OSCI")
4749
@Test
4850
void createRoleK8s() {
4951
// Given

kubernetes-itests/src/test/java/io/fabric8/openshift/OpenShiftAuthorizationIT.java

+5
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import io.fabric8.openshift.api.model.SubjectRulesReview;
3535
import io.fabric8.openshift.api.model.SubjectRulesReviewBuilder;
3636
import io.fabric8.openshift.client.OpenShiftClient;
37+
import org.junit.jupiter.api.Tag;
3738
import org.junit.jupiter.api.Test;
3839

3940
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -62,6 +63,7 @@ void createSubjectAccessReviewOpenShift() {
6263
assertTrue(sarResponse.getAllowed());
6364
}
6465

66+
@Tag("OSCI")
6567
@Test
6668
void createSubjectRulesReviewOpenShift() {
6769
// Given
@@ -82,6 +84,7 @@ void createSubjectRulesReviewOpenShift() {
8284
assertFalse(createdSrr.getStatus().getRules().isEmpty());
8385
}
8486

87+
@Tag("OSCI")
8588
@Test
8689
void createSelfSubjectRulesReview() {
8790
// Given
@@ -98,6 +101,7 @@ void createSelfSubjectRulesReview() {
98101
assertFalse(createdSsrr.getStatus().getRules().isEmpty());
99102
}
100103

104+
@Tag("OSCI")
101105
@Test
102106
void createLocalResourceAccessReview() {
103107
// Given
@@ -117,6 +121,7 @@ void createLocalResourceAccessReview() {
117121
assertFalse(rarr.getGroups().isEmpty());
118122
}
119123

124+
@Tag("OSCI")
120125
@Test
121126
void createLocalSubjectAccessReview() {
122127
// Given

kubernetes-itests/src/test/java/io/fabric8/openshift/RouteIT.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.fabric8.openshift.api.model.RouteBuilder;
2323
import io.fabric8.openshift.api.model.RouteList;
2424
import io.fabric8.openshift.client.OpenShiftClient;
25+
import org.junit.jupiter.api.Tag;
2526
import org.junit.jupiter.api.Test;
2627

2728
import java.util.Collections;
@@ -33,6 +34,7 @@
3334
import static org.junit.jupiter.api.Assertions.assertNotNull;
3435
import static org.junit.jupiter.api.Assertions.assertTrue;
3536

37+
@Tag("OSCI")
3638
@KubernetesTest(createEphemeralNamespace = false)
3739
@RequireK8sSupport(Route.class)
3840
@LoadKubernetesManifests("/route-it.yml")
@@ -83,14 +85,12 @@ void createOrReplace() {
8385

8486
// When
8587
route.getMetadata().setAnnotations(Collections.singletonMap("foo", "bar"));
86-
route.getSpec().setHost("test.fabric8.io");
8788
route = client.routes().createOrReplace(route);
8889

8990
// Then
9091
assertNotNull(route);
9192
assertEquals("route-createorreplace", route.getMetadata().getName());
9293
assertEquals("bar", route.getMetadata().getAnnotations().get("foo"));
93-
assertEquals("test.fabric8.io", route.getSpec().getHost());
9494
}
9595

9696
}

kubernetes-itests/src/test/java/io/fabric8/openshift/SelfSubjectAccessReviewIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@
2121
import io.fabric8.kubernetes.api.model.authorization.v1.SelfSubjectAccessReviewBuilder;
2222
import io.fabric8.openshift.api.model.Project;
2323
import io.fabric8.openshift.client.OpenShiftClient;
24+
import org.junit.jupiter.api.Tag;
2425
import org.junit.jupiter.api.Test;
2526

2627
import static org.junit.jupiter.api.Assertions.assertTrue;
2728

29+
@Tag("OSCI")
2830
@KubernetesTest(createEphemeralNamespace = false)
2931
@RequireK8sSupport(Project.class)
3032
class SelfSubjectAccessReviewIT {

kubernetes-itests/src/test/java/io/fabric8/openshift/VersionIT.java

+2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@
2020
import io.fabric8.kubernetes.client.VersionInfo;
2121
import io.fabric8.openshift.api.model.Project;
2222
import io.fabric8.openshift.client.OpenShiftClient;
23+
import org.junit.jupiter.api.Tag;
2324
import org.junit.jupiter.api.Test;
2425

2526
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
2627

28+
@Tag("OSCI")
2729
@KubernetesTest(createEphemeralNamespace = false)
2830
@RequireK8sSupport(Project.class)
2931
class VersionIT {

kubernetes-itests/src/test/resources/buildconfig-it.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
---
1818
kind: "BuildConfig"
19-
apiVersion: "v1"
19+
apiVersion: "build.openshift.io/v1"
2020
metadata:
2121
name: bc-get
2222
spec:
@@ -45,7 +45,7 @@ spec:
4545
name: "origin-ruby-sample:latest"
4646
---
4747
kind: "BuildConfig"
48-
apiVersion: "v1"
48+
apiVersion: "build.openshift.io/v1"
4949
metadata:
5050
name: bc-list
5151
spec:
@@ -74,7 +74,7 @@ spec:
7474
name: "origin-ruby-sample:latest"
7575
---
7676
kind: "BuildConfig"
77-
apiVersion: "v1"
77+
apiVersion: "build.openshift.io/v1"
7878
metadata:
7979
name: bc-update
8080
spec:
@@ -103,7 +103,7 @@ spec:
103103
name: "origin-ruby-sample:latest"
104104
---
105105
kind: "BuildConfig"
106-
apiVersion: "v1"
106+
apiVersion: "build.openshift.io/v1"
107107
metadata:
108108
name: bc-delete
109109
spec:
@@ -132,7 +132,7 @@ spec:
132132
name: "origin-ruby-sample:latest"
133133
---
134134
kind: "BuildConfig"
135-
apiVersion: "v1"
135+
apiVersion: "build.openshift.io/v1"
136136
metadata:
137137
name: bc-createorreplace
138138
spec:

kubernetes-itests/src/test/resources/deploymentconfig-it.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
---
1818
kind: "DeploymentConfig"
19-
apiVersion: "v1"
19+
apiVersion: "apps.openshift.io/v1"
2020
metadata:
2121
name: dc-get
2222
spec:
@@ -48,7 +48,7 @@ spec:
4848
type: "Rolling"
4949
---
5050
kind: "DeploymentConfig"
51-
apiVersion: "v1"
51+
apiVersion: "apps.openshift.io/v1"
5252
metadata:
5353
name: dc-list
5454
spec:
@@ -80,7 +80,7 @@ spec:
8080
type: "Rolling"
8181
---
8282
kind: "DeploymentConfig"
83-
apiVersion: "v1"
83+
apiVersion: "apps.openshift.io/v1"
8484
metadata:
8585
name: dc-update
8686
spec:
@@ -112,7 +112,7 @@ spec:
112112
type: "Rolling"
113113
---
114114
kind: "DeploymentConfig"
115-
apiVersion: "v1"
115+
apiVersion: "apps.openshift.io/v1"
116116
metadata:
117117
name: dc-scale
118118
spec:
@@ -144,7 +144,7 @@ spec:
144144
type: "Rolling"
145145
---
146146
kind: "DeploymentConfig"
147-
apiVersion: "v1"
147+
apiVersion: "apps.openshift.io/v1"
148148
metadata:
149149
name: dc-delete
150150
spec:
@@ -176,7 +176,7 @@ spec:
176176
type: "Rolling"
177177
---
178178
kind: "DeploymentConfig"
179-
apiVersion: "v1"
179+
apiVersion: "apps.openshift.io/v1"
180180
metadata:
181181
name: dc-createorreplace
182182
spec:

0 commit comments

Comments
 (0)