Skip to content

Commit 57256e5

Browse files
author
Kostromin, Maksim
committed
Migrate Travis CI -> GitHub Actions.
1 parent 04eafea commit 57256e5

File tree

13 files changed

+123
-33
lines changed

13 files changed

+123
-33
lines changed

.github/workflows/ci.yaml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: CI
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
trigger:
6+
description: Type m to triggre manual jobs
7+
required: false
8+
default: ''
9+
pull_request:
10+
branches: [ main, master ]
11+
push:
12+
env:
13+
JAVA_VERSION: 1.8
14+
jobs:
15+
twitterok:
16+
if: github.event.inputs.trigger == ''
17+
runs-on: ubuntu-latest
18+
timeout-minutes: 5
19+
steps:
20+
- uses: actions/checkout@v2
21+
- uses: actions/cache@v2
22+
id: ci
23+
with:
24+
path: |
25+
~/.npm
26+
~/.node
27+
~/.local
28+
~/.gradle
29+
~/.docker
30+
~/.m2/repository
31+
!~/.m2/repository/com/gituhb/daggerok
32+
key: ${{ runner.os }}-${{ hashFiles('**/pom.xml') }}
33+
- uses: actions/setup-java@v1
34+
with:
35+
java-version: ${{ env.JAVA_VERSION }}
36+
- run: sudo apt-get install -y httpie
37+
- run: cd $GITHUB_WORKSPACE ; ./mvnw -f twitterok clean test
38+
- run: cd $GITHUB_WORKSPACE ; ./mvnw -f twitterok spring-boot:start
39+
- run: |
40+
http --ignore-stdin get :8080/404
41+
http --ignore-stdin get :8080/error
42+
curl -sS 0:8080/user/create/ -d name=ololo -d username=trololo -d email=ololo.trololo@mail.com
43+
http --ignore-stdin get :8080
44+
- run: http --ignore-stdin post :8080/actuator/shutdown
45+
dependency-updates:
46+
if: contains(github.event.inputs.trigger, 'M')
47+
|| startsWith(github.event.inputs.trigger, 'm')
48+
runs-on: ubuntu-latest
49+
timeout-minutes: 5
50+
steps:
51+
- run: |
52+
echo "Trigger: ${{ github.event.inputs.trigger }}"
53+
- uses: actions/checkout@v2
54+
- uses: actions/cache@v2
55+
id: ci
56+
with:
57+
path: |
58+
~/.npm
59+
~/.node
60+
~/.local
61+
~/.gradle
62+
~/.docker
63+
~/.m2/repository
64+
!~/.m2/repository/com/gituhb/daggerok
65+
key: ${{ runner.os }}-${{ hashFiles('**/pom.xml') }}
66+
- uses: actions/setup-java@v1
67+
with:
68+
java-version: ${{ env.JAVA_VERSION }}
69+
- run: cd $GITHUB_WORKSPACE ; ./mvnw versions:display-plugin-updates
70+
- run: cd $GITHUB_WORKSPACE ; ./mvnw versions:display-property-updates
71+
- run: cd $GITHUB_WORKSPACE ; ./mvnw versions:display-parent-updates

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
# Spring Data JDBC [![Build Status](https://travis-ci.org/daggerok/spring-data-jdbc-examples.svg?branch=master)](https://travis-ci.org/daggerok/spring-data-jdbc-examples)
1+
# Spring Data JDBC [![CI](https://github.com/daggerok/spring-data-jdbc-examples/actions/workflows/ci.yaml/badge.svg)](https://github.com/daggerok/spring-data-jdbc-examples/actions/workflows/ci.yaml)
22
Fast and efficient spring-data
33

4+
<!-- old Travis CI status:
5+
[![Build Status](https://travis-ci.org/daggerok/spring-data-jdbc-examples.svg?branch=master)](https://travis-ci.org/daggerok/spring-data-jdbc-examples)
6+
-->
7+
48
## see simple and ddd submodules!
59

610
- [YouTube: Spring Data JDBC - Many to Many Relationships](https://www.youtube.com/watch?v=5rqlqon8xko)
File renamed without changes.

twitterok/pom.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@
129129
<goals><goal>build-info</goal></goals>
130130
</execution>
131131
</executions>
132+
<configuration>
133+
<jmxPort>9001</jmxPort>
134+
</configuration>
132135
</plugin>
133136
</plugins>
134137
</build>
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package com.github.daggerok.twitterok;
22

3+
import lombok.val;
34
import org.springframework.boot.SpringApplication;
45
import org.springframework.boot.autoconfigure.SpringBootApplication;
6+
import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration;
7+
import org.springframework.context.ConfigurableApplicationContext;
58

69
@SpringBootApplication
710
public class TwitterOkApplication {
8-
911
public static void main(String[] args) {
10-
SpringApplication.run(TwitterOkApplication.class, args);
12+
ConfigurableApplicationContext context = SpringApplication.run(TwitterOkApplication.class, args);
13+
context.registerShutdownHook();
1114
}
1215
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package com.github.daggerok.twitterok.data;
22

3+
import java.time.Instant;
4+
import java.util.UUID;
35
import lombok.AllArgsConstructor;
46
import lombok.Value;
57
import lombok.With;
68
import org.springframework.data.annotation.Id;
79
import org.springframework.data.annotation.PersistenceConstructor;
8-
import org.springframework.data.repository.CrudRepository;
9-
10-
import java.util.UUID;
1110

1211
@With
1312
@Value
@@ -17,5 +16,6 @@ public class Author {
1716
@Id
1817
private final UUID id;
1918
private final String name, username, email;
19+
private final Instant at;
2020
}
2121

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
package com.github.daggerok.twitterok.data;
22

3+
import java.util.UUID;
4+
import java.util.stream.Stream;
5+
import org.springframework.data.jdbc.repository.query.Query;
36
import org.springframework.data.repository.CrudRepository;
47

5-
import java.util.UUID;
8+
public interface AuthorRepository extends CrudRepository<Author, UUID> {
69

7-
public interface AuthorRepository extends CrudRepository<Author, UUID> {}
10+
@Query(" SELECT * from author ORDER BY at DESC ")
11+
Stream<Author> findBy();
12+
}

twitterok/src/main/java/com/github/daggerok/twitterok/web/IndexAdvice.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@
33
import com.github.daggerok.twitterok.data.Author;
44
import com.github.daggerok.twitterok.data.AuthorRepository;
55
import com.github.daggerok.twitterok.web.user.UserModel;
6+
import java.util.ArrayList;
7+
import java.util.List;
8+
import java.util.stream.Collectors;
9+
import java.util.stream.Stream;
610
import lombok.RequiredArgsConstructor;
11+
import org.springframework.data.domain.PageRequest;
12+
import org.springframework.data.domain.Sort;
713
import org.springframework.validation.ObjectError;
814
import org.springframework.web.bind.annotation.ControllerAdvice;
915
import org.springframework.web.bind.annotation.ModelAttribute;
1016

11-
import java.util.ArrayList;
12-
import java.util.List;
13-
1417
@ControllerAdvice
1518
@RequiredArgsConstructor
1619
public class IndexAdvice {
@@ -19,7 +22,9 @@ public class IndexAdvice {
1922

2023
@ModelAttribute("users")
2124
public Iterable<Author> users() {
22-
return authorRepository.findAll();
25+
try (Stream<Author> stream = authorRepository.findBy()) {
26+
return stream.collect(Collectors.toList());
27+
}
2328
}
2429

2530
@ModelAttribute("errors")

twitterok/src/main/java/com/github/daggerok/twitterok/web/IndexPage.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
package com.github.daggerok.twitterok.web;
22

3-
import com.github.daggerok.twitterok.web.user.UserModel;
43
import org.springframework.stereotype.Controller;
5-
import org.springframework.validation.ObjectError;
64
import org.springframework.web.bind.annotation.GetMapping;
7-
import org.springframework.web.bind.annotation.ModelAttribute;
8-
9-
import java.util.ArrayList;
10-
import java.util.List;
115

126
@Controller
137
public class IndexPage {

twitterok/src/main/java/com/github/daggerok/twitterok/web/user/UserPage.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.github.daggerok.twitterok.data.Author;
44
import com.github.daggerok.twitterok.data.AuthorRepository;
5+
import java.time.Instant;
56
import lombok.RequiredArgsConstructor;
67
import lombok.extern.log4j.Log4j2;
78
import org.springframework.stereotype.Controller;
@@ -31,7 +32,8 @@ String index(@ModelAttribute("user") @Valid UserModel user,
3132
return "index";
3233
}
3334
log.info("{}: {}", user, bindingResult);
34-
Author author = new Author(null, user.getName(), user.getUsername(), user.getEmail());
35+
Author author = new Author(null, user.getName(), user.getUsername(), user.getEmail(), Instant.now());
36+
//Author author = new Author(null, user.getName(), user.getUsername(), user.getEmail());
3537
Author savedAuthor = repository.save(author);
3638
log.info("saved author: {}", savedAuthor);
3739
// return "forward:/";

0 commit comments

Comments
 (0)