Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beginnings of CircleCI #96

Open
wants to merge 29 commits into
base: demo
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
95f581d
Merge pull request #64 from odk-x/demo
wbrunette Dec 15, 2021
b5154f3
Merge pull request #67 from odk-x/demo
wbrunette Dec 15, 2021
3461494
Updated Dockerfile (installing unzip)
r0ssing Sep 8, 2022
7b5deb0
Merge pull request #80 from e2themillions/master
wbrunette Sep 8, 2022
13c2813
Merge pull request #81 from odk-x/master
wbrunette Sep 8, 2022
f76b51a
Update Dockerfile
wbrunette Mar 26, 2023
61c1225
Merge pull request #88 from odk-x/master
wbrunette Mar 26, 2023
89717ff
fix build by updating docker image to jdk8 and add unzip
wbrunette Jun 11, 2023
e463193
Merge pull request #91 from odk-x/development
wbrunette Jun 12, 2023
e6513aa
remove changes that would cause namespace problems
wbrunette Nov 16, 2023
69728f3
add project name
wbrunette Nov 16, 2023
23bcee3
fix distribution location
wbrunette Nov 16, 2023
44ca7db
adding back in temporarily until we move to snapshot versioning inste…
wbrunette Nov 16, 2023
e53989b
test snapshot
wbrunette Dec 21, 2023
048b89f
Update config.yml
wbrunette Dec 22, 2023
e5ab0a7
Create settings.xml
r0ssing Dec 22, 2023
3bcf0fe
upgrade dependencies to support Java 11
wbrunette Jan 4, 2024
742e104
Merge branch 'circleci-taketwo' of https://github.com/odk-x/sync-endp…
wbrunette Jan 4, 2024
9003d34
fix yml
wbrunette Jan 4, 2024
ae4066d
add apt update
wbrunette Jan 4, 2024
de4f6e2
correct java alternative version string
wbrunette Jan 4, 2024
24efbe6
pom fixes
wbrunette Jan 4, 2024
4f6c848
fix circleci config
wbrunette Jan 4, 2024
9fe76c0
fix typo
wbrunette Jan 4, 2024
62d55d4
update version
wbrunette Jan 27, 2024
424e5cd
update version
wbrunette Jan 29, 2024
c497f67
Updated dockerfile to not use unzip
r0ssing Mar 2, 2024
0a1aac4
Removed unzip install
r0ssing Mar 2, 2024
b017b95
Merge pull request #97 from HelloSapiens/circleci-taketwo
wbrunette Mar 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/configuration-reference
version: 2.1
# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/configuration-reference/#job
jobs:
build-and-test:
machine:
image: ubuntu-2204:current
resource_class: large

steps:
- checkout
- run:
name: Setup java version
command: |
sudo apt update
sudo apt-get install openjdk-11-jdk
sudo update-java-alternatives --set java-1.11.0-openjdk-amd64
java -version
- run:
name: Compile and Run Tests Saving docker image as tar file
command: |
mvn clean install
- run:
name: Saving docker image as tar file
command: |
docker save -o ./sync-endpoint-docker-swarm/sync-endpoint.tar odk/sync-endpoint:latest

- persist_to_workspace:
root: .
paths:
- .
- save_cache:
key: v1-odk/sync-endpoint
paths:
- .
deploy-jar:
docker:
- image: circleci/openjdk:11

steps:
- restore_cache:
key: v1-odk/sync-endpoint
- attach_workspace:
at: /home/circleci/project
- run:
name: Deploying jars to github maven repo
command: |
mvn -gs settings.xml -N clean deploy
mvn -gs settings.xml -pl 'odkx-rest-interface' clean deploy -DskipTests

deploy-image:
machine:
image: ubuntu-2204:current

steps:
- restore_cache:
key: v1-odk/sync-endpoint
- attach_workspace:
at: /home/circleci/project
- run:
name: Setting up ghcr repo
command: |
export CR_PAT=$GITHUB_TOKEN
echo $CR_PAT | docker login ghcr.io -u odk-x-bot --password-stdin
docker load -i ./sync-endpoint-docker-swarm/sync-endpoint.tar
- run:
name: Pushing the image to GHCR
command: |
docker tag odk/sync-endpoint:latest ghcr.io/odk-x/sync-endpoint:latest
docker push ghcr.io/odk-x/sync-endpoint:latest

# Invoke jobs via workflows
# See: https://circleci.com/docs/configuration-reference/#workflows
workflows:
Build-Test-Deploy:
jobs:
- build-and-test
- deploy-jar:
requires:
- build-and-test
- deploy-image:
requires:
- build-and-test

10 changes: 10 additions & 0 deletions mysql-test/external-resources/integration.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,16 @@ test.server.port = 8888
test.server.secure.port = 8443
test.sync.dir = ../src/it/testfiles/sync

test.adminUsername=testadmin
test.adminPassword=admin123

test.superUsername=testsuper
test.superPassword=super123

test.syncUsername=testuser
test.syncPassword=user123


jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.resourceName=jdbc/odk_aggregate
jdbc.url=jdbc:mysql://localhost/odk_unit?autoDeserialize=true&useSSL=false
Expand Down
1 change: 1 addition & 0 deletions mysql-test/mysql/create_db_and_user.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
CREATE USER 'odk_unit'@'%' IDENTIFIED BY 'odk_unit';
CREATE DATABASE odk_unit;
GRANT ALL PRIVILEGES ON odk_unit.* TO 'odk_unit'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

65 changes: 54 additions & 11 deletions mysql-test/openldap/bootstrap.ldif
Original file line number Diff line number Diff line change
@@ -1,73 +1,76 @@
dn: ou=groups,{{ LDAP_BASE_DN }}
dn: ou=groups,dc=example,dc=org
changetype: add
ou: groups
objectClass: organizationalUnit
objectClass: top

dn: ou=people,{{ LDAP_BASE_DN }}
dn: ou=people,dc=example,dc=org
changetype: add
ou: people
objectClass: organizationalUnit
objectClass: top

dn: ou=default_prefix,ou=groups,{{ LDAP_BASE_DN }}
dn: ou=default_prefix,ou=groups,dc=example,dc=org
changetype: add
ou: default_prefix
objectClass: organizationalUnit
objectClass: top

dn: gidNumber=500,ou=default_prefix,ou=groups,{{ LDAP_BASE_DN }}
dn: gidNumber=500,ou=default_prefix,ou=groups,dc=example,dc=org
changetype: add
cn: default_prefix site_admins
gidNumber: 500
objectClass: posixGroup
objectClass: top
memberUid: john
memberUid: testadmin

dn: gidNumber=501,ou=default_prefix,ou=groups,{{ LDAP_BASE_DN }}
dn: gidNumber=501,ou=default_prefix,ou=groups,dc=example,dc=org
changetype: add
cn: default_prefix administer_tables
gidNumber: 501
objectClass: posixGroup
objectClass: top
memberUid: john

dn: gidNumber=502,ou=default_prefix,ou=groups,{{ LDAP_BASE_DN }}
dn: gidNumber=502,ou=default_prefix,ou=groups,dc=example,dc=org
changetype: add
cn: default_prefix super_user_tables
gidNumber: 502
objectClass: posixGroup
objectClass: top
memberUid: testsuper

dn: gidNumber=503,ou=default_prefix,ou=groups,{{ LDAP_BASE_DN }}
dn: gidNumber=503,ou=default_prefix,ou=groups,dc=example,dc=org
changetype: add
cn: default_prefix synchronize_tables
gidNumber: 503
objectClass: posixGroup
objectClass: top
memberUid: testuser

dn: gidNumber=504,ou=default_prefix,ou=groups,{{ LDAP_BASE_DN }}
dn: gidNumber=504,ou=default_prefix,ou=groups,dc=example,dc=org
changetype: add
cn: default_prefix form_managers
gidNumber: 504
objectClass: posixGroup
objectClass: top

dn: gidNumber=505,ou=default_prefix,ou=groups,{{ LDAP_BASE_DN }}
dn: gidNumber=505,ou=default_prefix,ou=groups,dc=example,dc=org
changetype: add
cn: default_prefix data_viewers
gidNumber: 505
objectClass: posixGroup
objectClass: top

dn: gidNumber=506,ou=default_prefix,ou=groups,{{ LDAP_BASE_DN }}
dn: gidNumber=506,ou=default_prefix,ou=groups,dc=example,dc=org
changetype: add
cn: default_prefix data_collectors
gidNumber: 506
objectClass: posixGroup
objectClass: top

dn: uid=john,ou=people,{{ LDAP_BASE_DN }}
dn: uid=john,ou=people,dc=example,dc=org
changetype: add
cn: john
gidnumber: 501
Expand All @@ -79,3 +82,43 @@ sn: john
uid: john
uidnumber: 1000
userpassword: {MD5}JdVa0oOqQAr0ZMdtcTwHrQ==

dn: uid=testsuper,ou=people,dc=example,dc=org
changetype: add
cn: testsuper
gidnumber: 502
homedirectory: /home/users/testsuper
objectclass: inetOrgPerson
objectclass: posixAccount
objectclass: top
sn: testsuper
uid: testsuper
uidnumber: 1001
userpassword: {MD5}81NkvICLB5hT3loeND5xWQ==


dn: uid=testuser,ou=people,dc=example,dc=org
changetype: add
cn: testuser
gidnumber: 503
homedirectory: /home/users/testuser
objectclass: inetOrgPerson
objectclass: posixAccount
objectclass: top
sn: testuser
uid: testuser
uidnumber: 1002
userpassword: {MD5}atFLqZhuNhVCPfyiVtBOPw==

dn: uid=testadmin,ou=people,dc=example,dc=org
changetype: add
cn: testadmin
gidnumber: 500
homedirectory: /home/users/testadmin
objectclass: inetOrgPerson
objectclass: posixAccount
objectclass: top
sn: testadmin
uid: testadmin
uidnumber: 1003
userpassword: {MD5}AZICOnu9cyUFFvBp3xi1AA==
54 changes: 26 additions & 28 deletions mysql-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@
<parent>
<groupId>org.opendatakit</groupId>
<artifactId>sync-endpoint-common-dependencies</artifactId>
<version>2.1.9</version>
<version>2.2.0-SNAPSHOT</version>
<relativePath>../sync-endpoint-common-dependencies/pom.xml</relativePath>
</parent>

<artifactId>mysql-test</artifactId>
<packaging>jar</packaging>
<build>
<sourceDirectory>${toplevel.directory}/src/main/java</sourceDirectory>
<testSourceDirectory>${toplevel.directory}/src/test/java</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down Expand Up @@ -54,29 +56,8 @@
<alias>db</alias>

<build>
<from>mysql:5.7</from>
<assembly>
<name>SetupScripts</name>
<inline>
<files>
<file>
<source>${project.basedir}/mysql/create_db_and_user.sql</source>
<fileMode>777</fileMode>
<lineEnding>unix</lineEnding>
</file>
<file>
<source>${project.basedir}/mysql/executeMysql.sh</source>
<fileMode>777</fileMode>
<lineEnding>unix</lineEnding>
</file>
</files>
</inline>
<targetDir>/tmp</targetDir>
<mode>dir</mode>
<permissions>auto</permissions>
</assembly>
<from>mysql:8.0</from>
</build>

<run>
<network>
<mode>custom</mode>
Expand All @@ -86,6 +67,8 @@
<hostname>odkdatabase</hostname>
<env>
<MYSQL_DATABASE>odk_unit</MYSQL_DATABASE>
<MYSQL_USER>odk_unit</MYSQL_USER>
<MYSQL_PASSWORD>odk_unit</MYSQL_PASSWORD>
<MYSQL_ROOT_PASSWORD>mysqlPassword</MYSQL_ROOT_PASSWORD>
</env>
<ports>
Expand All @@ -94,9 +77,6 @@

<wait>
<time>20000</time>
<exec>
<postStart>/tmp/executeMysql.sh</postStart>
</exec>
</wait>
</run>
</image>
Expand Down Expand Up @@ -193,6 +173,22 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<trimStackTrace>false</trimStackTrace>
<argLine>${surefire.argLine}</argLine>
<systemPropertyVariables>
<test.server.port>8888</test.server.port>
<test.server.hostname>localhost</test.server.hostname>
<test.server.username>john</test.server.username>
<test.server.password>12345678</test.server.password>
<test.adminUsername>testadmin</test.adminUsername>
<test.adminPassword>admin123</test.adminPassword>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
Expand All @@ -206,6 +202,8 @@
<test.server.hostname>localhost</test.server.hostname>
<test.server.username>john</test.server.username>
<test.server.password>12345678</test.server.password>
<test.adminUsername>testadmin</test.adminUsername>
<test.adminPassword>admin123</test.adminPassword>
</systemPropertyVariables>
</configuration>
<executions>
Expand Down Expand Up @@ -233,8 +231,8 @@
<type>pom</type>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
</dependencies>
</project>
4 changes: 2 additions & 2 deletions mysql-test/resources/jdbc.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.resourceName=jdbc/odk_aggregate
jdbc.url=jdbc:mysql://odkdatabase/odk_unit?autoDeserialize=true&useSSL=false
jdbc.url=jdbc:mysql://odkdatabase/odk_unit?autoDeserialize=true&allowPublicKeyRetrieval=true&useSSL=false
jdbc.username=odk_unit
jdbc.password=odk_unit
jdbc.schema=odk_unit
Loading