diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..f067238 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,59 @@ +name: CI +on: + push: + pull_request: + workflow_dispatch: + +env: + JDK_JAVA_OPTIONS: "--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + test: + # Docker actions only work on linux + # strategy: + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # java-version: [8, 11, 17] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v2 + with: + java-version: 17 + distribution: "adopt" + - name: Install + run: | + cd code + mvn --batch-mode install + - name: Test Demo + run: | + cd demo + mvn --batch-mode test + services: + mariadb: + image: mariadb + ports: + - 3307:3306 + env: + MARIADB_DATABASE: jacuzzi + MARIADB_USER: jacuzzi + MARIADB_PASSWORD: jacuzzi + MARIADB_RANDOM_ROOT_PASSWORD: true + deploy: + if: github.ref == 'refs/heads/master' && github.repository_owner == 'Codeforces' + needs: test + runs-on: windows-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v2 + with: + java-version: "17" + distribution: "adopt" + - name: Deploy + run: | + cd code + mvn --batch-mode deploy -DskipTests diff --git a/.gitignore b/.gitignore index 97e2ca0..f2f27cc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,8 @@ -.classpath -.project -.settings/ - -/code/jacuzzi.iml -/code/jacuzzi.ipr -/code/jacuzzi.iws -/code/target -/code/.idea +.classpath +.project +.settings/ +*.iml +*.ipr +*.iws +.idea/ +target/ \ No newline at end of file diff --git a/code/pom.xml b/code/pom.xml index ea89e57..01c36ad 100644 --- a/code/pom.xml +++ b/code/pom.xml @@ -26,6 +26,13 @@ + + + github + GitHub Packages + https://maven.pkg.github.com/Codeforces/jacuzzi + + GitHub Issues https://github.com/Codeforces/jacuzzi/issues diff --git a/demo/pom.xml b/demo/pom.xml index 001e46a..9fe4690 100644 --- a/demo/pom.xml +++ b/demo/pom.xml @@ -5,7 +5,7 @@ jacuzzi-demo jar 0.0.28-SNAPSHOT - jacuzzi + jacuzzi-demo http://code.google.com/p/jacuzzi @@ -21,8 +21,8 @@ maven-compiler-plugin 2.0.2 - 1.6 - 1.6 + 1.8 + 1.8 @@ -31,7 +31,7 @@ jacuzzi jacuzzi - 0.0.28-SNAPSHOT + 0.1.0-SNAPSHOT test diff --git a/demo/src/test/java/com/jacuzzi/test/JacuzziTest.java b/demo/src/test/java/com/jacuzzi/test/JacuzziTest.java index 96a9a27..d153535 100644 --- a/demo/src/test/java/com/jacuzzi/test/JacuzziTest.java +++ b/demo/src/test/java/com/jacuzzi/test/JacuzziTest.java @@ -11,12 +11,12 @@ public class JacuzziTest extends TestCase { private UserDao userDao; private static final int ITERATION_COUNT = 20; - protected void setUp() throws Exception { + protected void setUp() { userDao = new UserDao(); userDao.createStorage(); } - protected void tearDown() throws Exception { + protected void tearDown() { userDao.deleteStorage(); } @@ -27,7 +27,7 @@ public void testInitialization() { public void testInsertAndFind() { User user = new User(); user.setLogin("jacuzzi"); - assertTrue(userDao.insert(user)); + userDao.insert(user); assertEquals(1, userDao.findBy("login=?", "jacuzzi").size()); } @@ -35,13 +35,13 @@ public void testManyInsertsAndFinds() { for (int i = 0; i < ITERATION_COUNT; i++) { User user = new User(); user.setLogin("jacuzzi" + i); - assertTrue(userDao.insert(user)); + userDao.insert(user); assertEquals(1, userDao.findBy("login=?", "jacuzzi" + i).size()); } for (int i = 0; i < ITERATION_COUNT; i++) { User user = new User(); user.setLogin("jacuzzi"); - assertTrue(userDao.insert(user)); + userDao.insert(user); assertEquals(i + 1, userDao.findBy("login=?", "jacuzzi").size()); } } @@ -52,7 +52,7 @@ public void testTransaction() { for (int i = 0; i < ITERATION_COUNT; i++) { User user = new User(); user.setLogin("jacuzzi"); - assertTrue(userDao.insert(user)); + userDao.insert(user); } userDao.returnJacuzzi().commit(); @@ -63,7 +63,7 @@ public void testTransaction() { for (int i = 0; i < ITERATION_COUNT; i++) { User user = new User(); user.setLogin("jacuzzi"); - assertTrue(userDao.insert(user)); + userDao.insert(user); } userDao.returnJacuzzi().rollback(); diff --git a/demo/src/test/java/com/jacuzzi/test/dao/UserDao.java b/demo/src/test/java/com/jacuzzi/test/dao/UserDao.java index 20280f6..26898e1 100644 --- a/demo/src/test/java/com/jacuzzi/test/dao/UserDao.java +++ b/demo/src/test/java/com/jacuzzi/test/dao/UserDao.java @@ -16,7 +16,7 @@ public class UserDao extends GenericDaoImpl { "id BIGINT NOT NULL AUTO_INCREMENT, " + "login VARCHAR( 255 ) NOT NULL, " + "PRIMARY KEY (id)" + - ") TYPE = INNODB CHARACTER SET = utf8"; + ") ENGINE = InnoDB CHARACTER SET = utf8"; private static final String DELETE_USER_TABLE_SQL = "DROP TABLE User";