From d6eea4cc574618de3f275f6f81fa78334bf61b84 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 09:53:42 +0100 Subject: [PATCH 001/102] refactor student and logic --- README.md | 18 ++- pom.xml | 4 + .../ebrains/cruddemo/CruddemoApplication.java | 110 ------------------ .../com/ebrains/cruddemo/dao/StudentDAO.java | 22 ---- .../ebrains/cruddemo/dao/StudentDAOImpl.java | 79 ------------- .../com/ebrains/cruddemo/entity/Student.java | 66 ++--------- .../repository/StudentRepository.java | 9 ++ .../cruddemo/service/StudentService.java | 11 ++ .../serviceimpl/StudentServiceImpl.java | 28 +++++ .../serviceimpl/StudentServiceImplTest.java | 58 +++++++++ 10 files changed, 130 insertions(+), 275 deletions(-) delete mode 100644 src/main/java/com/ebrains/cruddemo/dao/StudentDAO.java delete mode 100644 src/main/java/com/ebrains/cruddemo/dao/StudentDAOImpl.java create mode 100644 src/main/java/com/ebrains/cruddemo/repository/StudentRepository.java create mode 100644 src/main/java/com/ebrains/cruddemo/service/StudentService.java create mode 100644 src/main/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImpl.java create mode 100644 src/test/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImplTest.java diff --git a/README.md b/README.md index 8ab4c82..823138c 100644 --- a/README.md +++ b/README.md @@ -24,13 +24,19 @@ 4. _Swagger config_ manually 5. _Dockerfile_ manually _env (only during image build & deployment)_ manually -- add changes `git add .` -- commit changes `git commit -m "Set version to v.."` -- push chnages `git push --set-upstream origin release/v..` -- Create and review the release pull request, then MERGE the release branch `git merge --no-ff release/v.. -m "Merge release v.."`. -- checkout and update main/master branch `git checkout main/master` & `git pull origin main/master` +- add changes + `git add .` +- commit changes + `git commit -m "Set version to v.."` +- push changes + `git push --set-upstream origin release/v..` +- Create and review the release pull request, then MERGE the release branch + `git merge --no-ff release/v.. -m "Merge release v.."`. +- checkout and update main/master branch + `git checkout main/master` & `git pull origin main/master` - Create tag with the version number (format is very important) `git tag v.. -m "Release v.."` -- Push tag `git push origin v..` +- Push tag + `git push origin v..` - Create a GitHub Release from the tag - (from UI) # 2. PATCH (hotfix) RELEASES FOR MY_APP diff --git a/pom.xml b/pom.xml index 3636c86..f6de4ec 100644 --- a/pom.xml +++ b/pom.xml @@ -45,6 +45,10 @@ spring-boot-starter-test test + + org.projectlombok + lombok + diff --git a/src/main/java/com/ebrains/cruddemo/CruddemoApplication.java b/src/main/java/com/ebrains/cruddemo/CruddemoApplication.java index 2a09959..1e3bc06 100644 --- a/src/main/java/com/ebrains/cruddemo/CruddemoApplication.java +++ b/src/main/java/com/ebrains/cruddemo/CruddemoApplication.java @@ -1,13 +1,7 @@ package com.ebrains.cruddemo; -import com.ebrains.cruddemo.dao.StudentDAO; -import com.ebrains.cruddemo.entity.Student; -import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.Bean; - -import java.util.List; @SpringBootApplication public class CruddemoApplication { @@ -17,108 +11,4 @@ public class CruddemoApplication { SpringApplication.run(CruddemoApplication.class, args); } - @Bean - public CommandLineRunner commandLineRunner(StudentDAO studentDAO) { - return runner ->{ - createMultipleStudent(studentDAO); - //queryForStudent(studentDAO); - //queryForStudentByLastName(studentDAO); - //updateStudent(studentDAO); - //deleteStudent(studentDAO); - //deleteAllStudent(studentDAO); - }; - } - - private void deleteAllStudent(StudentDAO studentDAO) { - int numOfRowDeleted = studentDAO.deleteAll(); - System.out.println("Number of row deleted: " + numOfRowDeleted); - } - - - private void deleteStudent(StudentDAO studentDAO) { - Student student = studentDAO.findById(3); - System.out.println("Student to be deleted: "+student); - studentDAO.delete(3); - } - - private void updateStudent(StudentDAO studentDAO) { - //retrieve the student base on id - Student student = studentDAO.findById(1); - - //change the lastname - System.out.println("updating the student ..."); - student.setLastName("Lobby"); - - //update the student - studentDAO.update(student); - - //Display the updated student - System.out.println("student updated: "+student); - } - - private void queryForStudentByLastName(StudentDAO studentDAO) { - //get the list of student - List students = studentDAO.findByLastName("Doe"); - for (Student student : students) { - System.out.println(student); - } - } - - private void queryForStudent(StudentDAO studentDAO) { - //get the list of student - List students = studentDAO.findAll(); - - //display the student - for (Student student : students) { - System.out.println(student); - } - } - - private void createStudent(StudentDAO studentDAO) { - System.out.println("Creating student ...."); - Student student = new Student("paul","okeke","paul@gmail.com"); - - //saving the student object - System.out.println("saving student ...."); - studentDAO.save(student); - - System.out.println("Student saved successfully.Generated Id: " + student.getId()); - } - - private void createMultipleStudent(StudentDAO studentDAO) { - System.out.println("Creating student ...."); - Student student = new Student("John","smith","smith@gmail.com"); - Student student1 = new Student("Mary","Doe","doe@gmail.com"); - Student student2= new Student("Eric","onu","onu@gmail.com"); - - //saving the multiple student object - studentDAO.save(student); - studentDAO.save(student1); - studentDAO.save(student2); - - System.out.println("Students saved successfully"); - } - - private void readStudent(StudentDAO studentDAO) { - //create a student object - System.out.println("Creating student ...."); - Student student = new Student("Onowu","Igbo","igbo@gmail.com"); - - //save the save - studentDAO.save(student); - System.out.println("Student saved successfully"); - - //display id of the saved student - long theId= student.getId(); - System.out.println("saved student successfully.Generated Id: " + theId); - - //retrieved the student based on the id ie the primary key - System.out.println("retrieving student saved successfully"); - //Student savedStudent= studentDAO.findById(theId); - - //display the student - //System.out.println("student retrieved successfully: " + savedStudent); - } - - } diff --git a/src/main/java/com/ebrains/cruddemo/dao/StudentDAO.java b/src/main/java/com/ebrains/cruddemo/dao/StudentDAO.java deleted file mode 100644 index d5717a9..0000000 --- a/src/main/java/com/ebrains/cruddemo/dao/StudentDAO.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ebrains.cruddemo.dao; - -import com.ebrains.cruddemo.entity.Student; - -import java.util.List; - -public interface StudentDAO { - void save(Student student); - - Student findById(Integer id); - - List findAll(); - - List findByLastName(String lastName); - - void update(Student student); - - void delete(Integer id); - - int deleteAll(); - -} diff --git a/src/main/java/com/ebrains/cruddemo/dao/StudentDAOImpl.java b/src/main/java/com/ebrains/cruddemo/dao/StudentDAOImpl.java deleted file mode 100644 index 3aa5d08..0000000 --- a/src/main/java/com/ebrains/cruddemo/dao/StudentDAOImpl.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.ebrains.cruddemo.dao; - -import com.ebrains.cruddemo.entity.Student; -import jakarta.persistence.EntityManager; -import jakarta.persistence.TypedQuery; -import org.springframework.stereotype.Repository; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -@Repository -public class StudentDAOImpl implements StudentDAO { - //we define feilds for entity manager - private EntityManager entityManager; - - //eject entity manager using constructor injection - public StudentDAOImpl(EntityManager entityManager) { - this.entityManager = entityManager; - } - - //implement the save method - //this method saves the studnet to the database - @Transactional - @Override - public void save(Student student) { - entityManager.persist(student); - } - - @Override - public Student findById(Integer id) { - //Student.class is the entity class - return entityManager.find(Student.class, id); - } - - @Override - public List findAll() { - //create the query - TypedQuery query = entityManager.createQuery("from Student", Student.class); - //TypedQuery query = entityManager.createQuery("from Student order by lastName desc", Student.class); - - //return the list of student - return query.getResultList(); - } - - @Override - public List findByLastName(String lastName) { - //create the query - TypedQuery query = entityManager.createQuery("from Student where lastName=:theData", Student.class); - - //set query parameter - query.setParameter("theData", lastName); - - //return the list of student with the last name - return query.getResultList(); - } - - @Override - @Transactional - public void update(Student student) { - entityManager.merge(student); - } - - @Override - @Transactional - public void delete(Integer id) { - //retrieve the student - Student student = entityManager.find(Student.class, id); - - //delete the student - entityManager.remove(student); - } - - @Override - @Transactional - public int deleteAll() { - return entityManager.createQuery("delete from Student").executeUpdate(); - - } -} diff --git a/src/main/java/com/ebrains/cruddemo/entity/Student.java b/src/main/java/com/ebrains/cruddemo/entity/Student.java index e230fef..c043341 100644 --- a/src/main/java/com/ebrains/cruddemo/entity/Student.java +++ b/src/main/java/com/ebrains/cruddemo/entity/Student.java @@ -1,70 +1,20 @@ package com.ebrains.cruddemo.entity; import jakarta.persistence.*; +import lombok.Data; -@Entity -@Table(name="student") +@Entity(name="student") +@Table +@Data public class Student { - @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") + @Column private Long id; - @Column(name = "first_name") + @Column private String firstName; - @Column(name = "last_name") + @Column private String lastName; - @Column(name = "email") + @Column private String email; - - public Student() { - - } - public Student(String firstName, String lastName, String email) { - this.firstName = firstName; - this.lastName = lastName; - this.email = email; - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - @Override - public String toString() { - return "Student{" + - "id=" + id + - ", firstName='" + firstName + '\'' + - ", lastName='" + lastName + '\'' + - ", email='" + email + '\'' + - '}'; - } } diff --git a/src/main/java/com/ebrains/cruddemo/repository/StudentRepository.java b/src/main/java/com/ebrains/cruddemo/repository/StudentRepository.java new file mode 100644 index 0000000..c14347f --- /dev/null +++ b/src/main/java/com/ebrains/cruddemo/repository/StudentRepository.java @@ -0,0 +1,9 @@ +package com.ebrains.cruddemo.repository; + +import com.ebrains.cruddemo.entity.Student; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface StudentRepository extends CrudRepository { +} diff --git a/src/main/java/com/ebrains/cruddemo/service/StudentService.java b/src/main/java/com/ebrains/cruddemo/service/StudentService.java new file mode 100644 index 0000000..0b8fb59 --- /dev/null +++ b/src/main/java/com/ebrains/cruddemo/service/StudentService.java @@ -0,0 +1,11 @@ +package com.ebrains.cruddemo.service; + +import com.ebrains.cruddemo.entity.Student; +import org.springframework.stereotype.Service; + +@Service +public interface StudentService { + Student getStudentById(long id); + void saveStudent(Student student); + void deleteStudentById(long id); +} diff --git a/src/main/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImpl.java b/src/main/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImpl.java new file mode 100644 index 0000000..3242e21 --- /dev/null +++ b/src/main/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImpl.java @@ -0,0 +1,28 @@ +package com.ebrains.cruddemo.serviceimpl; + +import com.ebrains.cruddemo.entity.Student; +import com.ebrains.cruddemo.repository.StudentRepository; +import com.ebrains.cruddemo.service.StudentService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +@RequiredArgsConstructor +@Component +public class StudentServiceImpl implements StudentService { + private final StudentRepository studentRepository; + + @Override + public Student getStudentById(long id) { + return studentRepository.findById(id).orElse(null); + } + + @Override + public void saveStudent(Student student) { + studentRepository.save(student); + } + + @Override + public void deleteStudentById(long id) { + studentRepository.deleteById(id); + } +} diff --git a/src/test/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImplTest.java b/src/test/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImplTest.java new file mode 100644 index 0000000..c32120b --- /dev/null +++ b/src/test/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImplTest.java @@ -0,0 +1,58 @@ +package com.ebrains.cruddemo.serviceimpl; + +import com.ebrains.cruddemo.entity.Student; +import com.ebrains.cruddemo.repository.StudentRepository; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.junit.jupiter.MockitoExtension; +import java.util.Optional; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.mockito.Mockito.*; + +@ExtendWith(MockitoExtension.class) +public class StudentServiceImplTest { + + private final StudentRepository studentRepository = mock(StudentRepository.class); + + @InjectMocks + private StudentServiceImpl studentService; + + @Test + void getStudentById_found_returnsStudent() { + Student s = new Student(); + when(studentRepository.findById(1L)).thenReturn(Optional.of(s)); + + Student result = studentService.getStudentById(1L); + + assertSame(s, result); + verify(studentRepository).findById(1L); + } + + @Test + void getStudentById_notFound_returnsNull() { + when(studentRepository.findById(2L)).thenReturn(Optional.empty()); + + Student result = studentService.getStudentById(2L); + + assertNull(result); + verify(studentRepository).findById(2L); + } + + @Test + void saveStudent_delegatesToRepository() { + Student s = new Student(); + + studentService.saveStudent(s); + + verify(studentRepository).save(s); + } + + @Test + void deleteStudentById_delegatesToRepository() { + studentService.deleteStudentById(3L); + + verify(studentRepository).deleteById(3L); + } +} From 0a3fd4029eb4e72a86272e15925ac05a387a334a Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 09:54:02 +0100 Subject: [PATCH 002/102] add gitea workflow --- .gitea/workflow/test.yml | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .gitea/workflow/test.yml diff --git a/.gitea/workflow/test.yml b/.gitea/workflow/test.yml new file mode 100644 index 0000000..adcb751 --- /dev/null +++ b/.gitea/workflow/test.yml @@ -0,0 +1,49 @@ +name: checks + +on: + push: + pull_request: + +jobs: + lint-and-test: + name: Check & Test (Frontend + Backend) + runs-on: ubuntu-latest + + steps: + #Checkout repository + - name: Checkout repository + uses: actions/checkout@v4 + + #Set up Node.js for React tests + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' # adjust to your project version + cache: 'yarn' # or 'npm' if you use npm + + #Install frontend dependencies + - name: Install frontend dependencies + working-directory: ./frontend # adjust if your React app folder differs + run: | + yarn install --frozen-lockfile + + #Run React unit tests + #- name: Run React unit tests + # working-directory: ./frontend + # run: | + # yarn test --watchAll=false --ci + + #Set up Java for backend tests + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: '21' # adjust to match your backend version + cache: maven # or 'gradle' if you use Gradle + + #Build & test backend + - name: Build & test backend + working-directory: src # adjust if your Spring Boot project path differs + run: | + mvn clean verify package -B + # or ./gradlew clean test build if using Gradle From a1a84a6e21bbc2a65f1f33061b7e13d9fb821fca Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 09:59:28 +0100 Subject: [PATCH 003/102] add gitea demo --- .gitea/workflow/demo.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .gitea/workflow/demo.yaml diff --git a/.gitea/workflow/demo.yaml b/.gitea/workflow/demo.yaml new file mode 100644 index 0000000..1e911ef --- /dev/null +++ b/.gitea/workflow/demo.yaml @@ -0,0 +1,19 @@ +name: Gitea Actions Demo +run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 +on: [push] + +jobs: + Explore-Gitea-Actions: + runs-on: ubuntu-latest + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" + - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." + - name: Check out repository code + uses: actions/checkout@v4 + - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ gitea.workspace }} + - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file From 9c284cd3e1b7f88c51f7beeda4a6c5525b3b04f9 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 10:06:48 +0100 Subject: [PATCH 004/102] correct workflows and delete emojis --- .gitea/workflow/demo.yaml | 19 ------------------- .gitea/workflows/demo.yaml | 19 +++++++++++++++++++ .gitea/{workflow => workflows}/test.yml | 0 3 files changed, 19 insertions(+), 19 deletions(-) delete mode 100644 .gitea/workflow/demo.yaml create mode 100644 .gitea/workflows/demo.yaml rename .gitea/{workflow => workflows}/test.yml (100%) diff --git a/.gitea/workflow/demo.yaml b/.gitea/workflow/demo.yaml deleted file mode 100644 index 1e911ef..0000000 --- a/.gitea/workflow/demo.yaml +++ /dev/null @@ -1,19 +0,0 @@ -name: Gitea Actions Demo -run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 -on: [push] - -jobs: - Explore-Gitea-Actions: - runs-on: ubuntu-latest - steps: - - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." - - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" - - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - - name: Check out repository code - uses: actions/checkout@v4 - - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." - - run: echo "🖥️ The workflow is now ready to test your code on the runner." - - name: List files in the repository - run: | - ls ${{ gitea.workspace }} - - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml new file mode 100644 index 0000000..606a281 --- /dev/null +++ b/.gitea/workflows/demo.yaml @@ -0,0 +1,19 @@ +name: Gitea Actions Demo +run-name: ${{ gitea.actor }} is testing out Gitea Actions +on: [push] + +jobs: + Explore-Gitea-Actions: + runs-on: ubuntu-latest + steps: + - run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event." + - run: echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!" + - run: echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." + - name: Check out repository code + uses: actions/checkout@v4 + - run: echo "The ${{ gitea.repository }} repository has been cloned to the runner." + - run: echo "The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ gitea.workspace }} + - run: echo "This job's status is ${{ job.status }}." \ No newline at end of file diff --git a/.gitea/workflow/test.yml b/.gitea/workflows/test.yml similarity index 100% rename from .gitea/workflow/test.yml rename to .gitea/workflows/test.yml From c8343cfd47562608623f031347cd9532701aad99 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 10:41:02 +0100 Subject: [PATCH 005/102] update comment --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index adcb751..7f57948 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -18,7 +18,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v4 with: - node-version: '20' # adjust to your project version + node-version: '20' # adjust to your project version or via env cache: 'yarn' # or 'npm' if you use npm #Install frontend dependencies From 64ed86131a1e95d68d4bcfdc5493ec78de14ac1a Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 10:49:18 +0100 Subject: [PATCH 006/102] update demo --- .gitea/workflows/demo.yaml | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 606a281..eb8c838 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -1,19 +1,26 @@ name: Gitea Actions Demo run-name: ${{ gitea.actor }} is testing out Gitea Actions -on: [push] + +on: + push: + branches: + - main + pull_request: + branches: + - main jobs: Explore-Gitea-Actions: runs-on: ubuntu-latest steps: - - run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event." - - run: echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!" - - run: echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - - name: Check out repository code - uses: actions/checkout@v4 - - run: echo "The ${{ gitea.repository }} repository has been cloned to the runner." - - run: echo "The workflow is now ready to test your code on the runner." - - name: List files in the repository + - name: Info run: | - ls ${{ gitea.workspace }} - - run: echo "This job's status is ${{ job.status }}." \ No newline at end of file + echo "Triggered by ${{ gitea.event_name }} event" + echo "Branch: ${{ gitea.ref }}" + echo "Repository: ${{ gitea.repository }}" + - name: Checkout repository + uses: actions/checkout@v4 + - name: List repo files + run: ls . + - name: Done + run: echo "Workflow finished." From 56978664e6a848b0b42685eb0dad1408a4f2e187 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 10:56:11 +0100 Subject: [PATCH 007/102] add --- .gitea/workflows/demo.yaml | 29 +++++++++++------------------ .gitea/workflows/demo2.yaml | 26 ++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 .gitea/workflows/demo2.yaml diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index eb8c838..606a281 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -1,26 +1,19 @@ name: Gitea Actions Demo run-name: ${{ gitea.actor }} is testing out Gitea Actions - -on: - push: - branches: - - main - pull_request: - branches: - - main +on: [push] jobs: Explore-Gitea-Actions: runs-on: ubuntu-latest steps: - - name: Info - run: | - echo "Triggered by ${{ gitea.event_name }} event" - echo "Branch: ${{ gitea.ref }}" - echo "Repository: ${{ gitea.repository }}" - - name: Checkout repository + - run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event." + - run: echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!" + - run: echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." + - name: Check out repository code uses: actions/checkout@v4 - - name: List repo files - run: ls . - - name: Done - run: echo "Workflow finished." + - run: echo "The ${{ gitea.repository }} repository has been cloned to the runner." + - run: echo "The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ gitea.workspace }} + - run: echo "This job's status is ${{ job.status }}." \ No newline at end of file diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml new file mode 100644 index 0000000..eb8c838 --- /dev/null +++ b/.gitea/workflows/demo2.yaml @@ -0,0 +1,26 @@ +name: Gitea Actions Demo +run-name: ${{ gitea.actor }} is testing out Gitea Actions + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + Explore-Gitea-Actions: + runs-on: ubuntu-latest + steps: + - name: Info + run: | + echo "Triggered by ${{ gitea.event_name }} event" + echo "Branch: ${{ gitea.ref }}" + echo "Repository: ${{ gitea.repository }}" + - name: Checkout repository + uses: actions/checkout@v4 + - name: List repo files + run: ls . + - name: Done + run: echo "Workflow finished." From 211676866f84ce49bed6834668dc48c081f178dd Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 11:19:17 +0100 Subject: [PATCH 008/102] rollback --- .gitea/workflows/demo.yaml | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 606a281..eb8c838 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -1,19 +1,26 @@ name: Gitea Actions Demo run-name: ${{ gitea.actor }} is testing out Gitea Actions -on: [push] + +on: + push: + branches: + - main + pull_request: + branches: + - main jobs: Explore-Gitea-Actions: runs-on: ubuntu-latest steps: - - run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event." - - run: echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!" - - run: echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - - name: Check out repository code - uses: actions/checkout@v4 - - run: echo "The ${{ gitea.repository }} repository has been cloned to the runner." - - run: echo "The workflow is now ready to test your code on the runner." - - name: List files in the repository + - name: Info run: | - ls ${{ gitea.workspace }} - - run: echo "This job's status is ${{ job.status }}." \ No newline at end of file + echo "Triggered by ${{ gitea.event_name }} event" + echo "Branch: ${{ gitea.ref }}" + echo "Repository: ${{ gitea.repository }}" + - name: Checkout repository + uses: actions/checkout@v4 + - name: List repo files + run: ls . + - name: Done + run: echo "Workflow finished." From 44fe1e67099984b7cde41ce5a867acd5168ca934 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 11:24:18 +0100 Subject: [PATCH 009/102] install node js --- .gitea/workflows/demo.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index eb8c838..0baf79c 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -18,8 +18,17 @@ jobs: echo "Triggered by ${{ gitea.event_name }} event" echo "Branch: ${{ gitea.ref }}" echo "Repository: ${{ gitea.repository }}" + + - name: Install Node.js + run: | + curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - + sudo apt-get install -y nodejs + node -v + npm -v + - name: Checkout repository uses: actions/checkout@v4 + - name: List repo files run: ls . - name: Done From 5aa90d8ceeadb3b39ea9bb1ef9d1ea830cdf6c20 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 11:25:02 +0100 Subject: [PATCH 010/102] install node js --- .gitea/workflows/demo.yaml | 1 + .gitea/workflows/demo2.yaml | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 0baf79c..c7a41d2 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -25,6 +25,7 @@ jobs: sudo apt-get install -y nodejs node -v npm -v + yarn -v - name: Checkout repository uses: actions/checkout@v4 diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml index eb8c838..dc6a40f 100644 --- a/.gitea/workflows/demo2.yaml +++ b/.gitea/workflows/demo2.yaml @@ -18,6 +18,13 @@ jobs: echo "Triggered by ${{ gitea.event_name }} event" echo "Branch: ${{ gitea.ref }}" echo "Repository: ${{ gitea.repository }}" + - name: Install Node.js + run: | + curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - + sudo apt-get install -y nodejs + node -v + npm -v + yarn -v - name: Checkout repository uses: actions/checkout@v4 - name: List repo files From d69511997ba9ffeb8ecddf1ca0ce4d81f1bc56d2 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 11:41:40 +0100 Subject: [PATCH 011/102] yarn --- .gitea/workflows/demo.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index c7a41d2..0baf79c 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -25,7 +25,6 @@ jobs: sudo apt-get install -y nodejs node -v npm -v - yarn -v - name: Checkout repository uses: actions/checkout@v4 From 32c57e5b4fd6ecfd8296097f000274178706d55d Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 11:52:22 +0100 Subject: [PATCH 012/102] use manual checkout --- .gitea/workflows/demo.yaml | 8 ++++++-- .gitea/workflows/demo2.yaml | 8 ++++++-- .gitea/workflows/test.yml | 8 ++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 0baf79c..f697463 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -26,8 +26,12 @@ jobs: node -v npm -v - - name: Checkout repository - uses: actions/checkout@v4 + #- name: Checkout repository + # uses: actions/checkout@v4 + + - name: Checkout repository manually + run: | + git clone ${{ gitea.repository.clone_url }} . - name: List repo files run: ls . diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml index dc6a40f..4fb57f5 100644 --- a/.gitea/workflows/demo2.yaml +++ b/.gitea/workflows/demo2.yaml @@ -25,8 +25,12 @@ jobs: node -v npm -v yarn -v - - name: Checkout repository - uses: actions/checkout@v4 + #- name: Checkout repository + # uses: actions/checkout@v4 + - name: Checkout repository manually + run: | + git clone ${{ gitea.repository.clone_url }} . + - name: List repo files run: ls . - name: Done diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 7f57948..c90a497 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -11,8 +11,12 @@ jobs: steps: #Checkout repository - - name: Checkout repository - uses: actions/checkout@v4 + #- name: Checkout repository + # uses: actions/checkout@v4 + - name: Checkout repository manually + run: | + git clone ${{ gitea.repository.clone_url }} . + #Set up Node.js for React tests - name: Set up Node.js From 5697159eaa913d6a123e834b646b0156375b7972 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 13:28:40 +0100 Subject: [PATCH 013/102] clone url --- .gitea/workflows/demo.yaml | 2 +- .gitea/workflows/demo2.yaml | 2 +- .gitea/workflows/test.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index f697463..789ede7 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -31,7 +31,7 @@ jobs: - name: Checkout repository manually run: | - git clone ${{ gitea.repository.clone_url }} . + git clone ${{ gitea.repository.my_app_clone_url }} . - name: List repo files run: ls . diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml index 4fb57f5..a1dd518 100644 --- a/.gitea/workflows/demo2.yaml +++ b/.gitea/workflows/demo2.yaml @@ -29,7 +29,7 @@ jobs: # uses: actions/checkout@v4 - name: Checkout repository manually run: | - git clone ${{ gitea.repository.clone_url }} . + git clone ${{ gitea.repository.my_app_clone_url }} . - name: List repo files run: ls . diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index c90a497..84fc800 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -15,7 +15,7 @@ jobs: # uses: actions/checkout@v4 - name: Checkout repository manually run: | - git clone ${{ gitea.repository.clone_url }} . + git clone ${{ gitea.repository.my_app_clone_url }} . #Set up Node.js for React tests From eeccb6f1f6079be95e38088fdbc99ccc6d870b89 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 13:31:46 +0100 Subject: [PATCH 014/102] clone url --- .gitea/workflows/demo.yaml | 2 +- .gitea/workflows/demo2.yaml | 2 +- .gitea/workflows/test.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 789ede7..f697463 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -31,7 +31,7 @@ jobs: - name: Checkout repository manually run: | - git clone ${{ gitea.repository.my_app_clone_url }} . + git clone ${{ gitea.repository.clone_url }} . - name: List repo files run: ls . diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml index a1dd518..4fb57f5 100644 --- a/.gitea/workflows/demo2.yaml +++ b/.gitea/workflows/demo2.yaml @@ -29,7 +29,7 @@ jobs: # uses: actions/checkout@v4 - name: Checkout repository manually run: | - git clone ${{ gitea.repository.my_app_clone_url }} . + git clone ${{ gitea.repository.clone_url }} . - name: List repo files run: ls . diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 84fc800..c90a497 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -15,7 +15,7 @@ jobs: # uses: actions/checkout@v4 - name: Checkout repository manually run: | - git clone ${{ gitea.repository.my_app_clone_url }} . + git clone ${{ gitea.repository.clone_url }} . #Set up Node.js for React tests From 264f296ab758f3cbc09e3ccdf402a1a709a7a9e5 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 13:32:44 +0100 Subject: [PATCH 015/102] clone url --- .gitea/workflows/demo.yaml | 2 +- .gitea/workflows/demo2.yaml | 2 +- .gitea/workflows/test.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index f697463..efef5a9 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -31,7 +31,7 @@ jobs: - name: Checkout repository manually run: | - git clone ${{ gitea.repository.clone_url }} . + git clone ${{ gitea.repository.clone_url }} - name: List repo files run: ls . diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml index 4fb57f5..19a18c0 100644 --- a/.gitea/workflows/demo2.yaml +++ b/.gitea/workflows/demo2.yaml @@ -29,7 +29,7 @@ jobs: # uses: actions/checkout@v4 - name: Checkout repository manually run: | - git clone ${{ gitea.repository.clone_url }} . + git clone ${{ gitea.repository.clone_url }} - name: List repo files run: ls . diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index c90a497..df2c8b1 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -15,7 +15,7 @@ jobs: # uses: actions/checkout@v4 - name: Checkout repository manually run: | - git clone ${{ gitea.repository.clone_url }} . + git clone ${{ gitea.repository.clone_url }} #Set up Node.js for React tests From e03939e3c9f288d2c675299e123591d6efd5815e Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 13:40:44 +0100 Subject: [PATCH 016/102] clone url --- .gitea/workflows/demo.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index efef5a9..1b7d775 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -29,9 +29,14 @@ jobs: #- name: Checkout repository # uses: actions/checkout@v4 + #- name: Checkout repository manually + # run: | + # git clone ${{ gitea.repository.clone_url }} + - name: Checkout repository manually run: | - git clone ${{ gitea.repository.clone_url }} + git clone https://${{ secrets.ACCESS_TOKEN }}@${{ vars.CLONE_URL#https:// }} . + #hff8h7ez9w646 r68jnfuz6337rbfz6r8uendu6e638ejdndubzd6e6378rnf7r64 - name: List repo files run: ls . From fa40c1480a915bf40eea69a5aaa7c51afd44f623 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 13:41:51 +0100 Subject: [PATCH 017/102] clone url u --- .gitea/workflows/demo.yaml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 1b7d775..11bcfb4 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -19,13 +19,6 @@ jobs: echo "Branch: ${{ gitea.ref }}" echo "Repository: ${{ gitea.repository }}" - - name: Install Node.js - run: | - curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - - sudo apt-get install -y nodejs - node -v - npm -v - #- name: Checkout repository # uses: actions/checkout@v4 From e84c4aedbd742d55f576871d2a7264ed70e04a20 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 13:45:10 +0100 Subject: [PATCH 018/102] clone url u --- .gitea/workflows/demo.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 11bcfb4..5d83b1a 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -28,10 +28,11 @@ jobs: - name: Checkout repository manually run: | - git clone https://${{ secrets.ACCESS_TOKEN }}@${{ vars.CLONE_URL#https:// }} . + git clone "${{ gitea.repository }}" . #hff8h7ez9w646 r68jnfuz6337rbfz6r8uendu6e638ejdndubzd6e6378rnf7r64 - name: List repo files run: ls . + - name: Done run: echo "Workflow finished." From fb7237e248b1bdcdadaee0e53f3b5892b1d9b4f3 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 13:47:54 +0100 Subject: [PATCH 019/102] clone url up --- .gitea/workflows/demo.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 5d83b1a..d033863 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -27,8 +27,14 @@ jobs: # git clone ${{ gitea.repository.clone_url }} - name: Checkout repository manually + env: + TOKEN: ${{ secrets.ACCESS_TOKEN }} + CLONE_URL: ${{ vars.CLONE_URL }} run: | - git clone "${{ gitea.repository }}" . + echo "Cloning from $CLONE_URL" + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$TOKEN@#") + git clone "$CLONE_URL_WITH_AUTH" . + #hff8h7ez9w646 r68jnfuz6337rbfz6r8uendu6e638ejdndubzd6e6378rnf7r64 - name: List repo files From 76282069d211e2cf35cdacbcd90dc234e67129f0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 15:21:42 +0100 Subject: [PATCH 020/102] quick start --- .gitea/workflows/demo2.yaml | 40 ++++++++++--------------------------- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml index 19a18c0..606a281 100644 --- a/.gitea/workflows/demo2.yaml +++ b/.gitea/workflows/demo2.yaml @@ -1,37 +1,19 @@ name: Gitea Actions Demo run-name: ${{ gitea.actor }} is testing out Gitea Actions - -on: - push: - branches: - - main - pull_request: - branches: - - main +on: [push] jobs: Explore-Gitea-Actions: runs-on: ubuntu-latest steps: - - name: Info + - run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event." + - run: echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!" + - run: echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." + - name: Check out repository code + uses: actions/checkout@v4 + - run: echo "The ${{ gitea.repository }} repository has been cloned to the runner." + - run: echo "The workflow is now ready to test your code on the runner." + - name: List files in the repository run: | - echo "Triggered by ${{ gitea.event_name }} event" - echo "Branch: ${{ gitea.ref }}" - echo "Repository: ${{ gitea.repository }}" - - name: Install Node.js - run: | - curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - - sudo apt-get install -y nodejs - node -v - npm -v - yarn -v - #- name: Checkout repository - # uses: actions/checkout@v4 - - name: Checkout repository manually - run: | - git clone ${{ gitea.repository.clone_url }} - - - name: List repo files - run: ls . - - name: Done - run: echo "Workflow finished." + ls ${{ gitea.workspace }} + - run: echo "This job's status is ${{ job.status }}." \ No newline at end of file From c047094addb11afd7524b197b0f7ac9dd887c98e Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 15:26:36 +0100 Subject: [PATCH 021/102] quick start 2 --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index df2c8b1..3452e1e 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -43,7 +43,7 @@ jobs: with: distribution: temurin java-version: '21' # adjust to match your backend version - cache: maven # or 'gradle' if you use Gradle + cache: maven #Build & test backend - name: Build & test backend From 0548cec1d7f35e43fccec94ab2efc2f7430e7153 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 15:32:11 +0100 Subject: [PATCH 022/102] quick start 3 --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 3452e1e..df2c8b1 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -43,7 +43,7 @@ jobs: with: distribution: temurin java-version: '21' # adjust to match your backend version - cache: maven + cache: maven # or 'gradle' if you use Gradle #Build & test backend - name: Build & test backend From 787a1bca4cde4b4e4f4c1bac2506cc558f24b913 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 16:24:18 +0100 Subject: [PATCH 023/102] quick start 4 --- .gitea/workflows/demo.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index d033863..a48c71d 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -32,7 +32,9 @@ jobs: CLONE_URL: ${{ vars.CLONE_URL }} run: | echo "Cloning from $CLONE_URL" - CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$TOKEN@#") + echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" + echo "Cloning token $TOKEN" + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") git clone "$CLONE_URL_WITH_AUTH" . #hff8h7ez9w646 r68jnfuz6337rbfz6r8uendu6e638ejdndubzd6e6378rnf7r64 From b99c6e7764ea8e19c77bec25b4e898f1c45134b5 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 16:27:32 +0100 Subject: [PATCH 024/102] quick start 5 --- .gitea/workflows/demo.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index a48c71d..0abc668 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -32,9 +32,8 @@ jobs: CLONE_URL: ${{ vars.CLONE_URL }} run: | echo "Cloning from $CLONE_URL" - echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" echo "Cloning token $TOKEN" - CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$TOKEN@#") git clone "$CLONE_URL_WITH_AUTH" . #hff8h7ez9w646 r68jnfuz6337rbfz6r8uendu6e638ejdndubzd6e6378rnf7r64 From e59eba56bbe5a298bf796d6c976394e5bb92542b Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 16:32:39 +0100 Subject: [PATCH 025/102] with all repo token --- .gitea/workflows/demo.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 0abc668..4e58a01 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -32,8 +32,8 @@ jobs: CLONE_URL: ${{ vars.CLONE_URL }} run: | echo "Cloning from $CLONE_URL" - echo "Cloning token $TOKEN" - CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$TOKEN@#") + echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") git clone "$CLONE_URL_WITH_AUTH" . #hff8h7ez9w646 r68jnfuz6337rbfz6r8uendu6e638ejdndubzd6e6378rnf7r64 From 19d5c8235fda6fe5ef156e7330a128a744676377 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 16:53:21 +0100 Subject: [PATCH 026/102] rename --- .gitea/workflows/demo.yaml | 17 ++++++----------- .gitea/workflows/test.yml | 1 - 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 4e58a01..94fa01b 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -19,13 +19,6 @@ jobs: echo "Branch: ${{ gitea.ref }}" echo "Repository: ${{ gitea.repository }}" - #- name: Checkout repository - # uses: actions/checkout@v4 - - #- name: Checkout repository manually - # run: | - # git clone ${{ gitea.repository.clone_url }} - - name: Checkout repository manually env: TOKEN: ${{ secrets.ACCESS_TOKEN }} @@ -36,10 +29,12 @@ jobs: CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") git clone "$CLONE_URL_WITH_AUTH" . - #hff8h7ez9w646 r68jnfuz6337rbfz6r8uendu6e638ejdndubzd6e6378rnf7r64 - - - name: List repo files - run: ls . + - name: List repo files and dependencies versions + run: | + ls . + node -v + npm -v + yarn -v - name: Done run: echo "Workflow finished." diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index df2c8b1..144d7c6 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -17,7 +17,6 @@ jobs: run: | git clone ${{ gitea.repository.clone_url }} - #Set up Node.js for React tests - name: Set up Node.js uses: actions/setup-node@v4 From e413e7d434d576238cfabfa72d0cf3d95f72e379 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 16:56:33 +0100 Subject: [PATCH 027/102] node --- .gitea/workflows/demo.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 94fa01b..82ba490 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -19,6 +19,11 @@ jobs: echo "Branch: ${{ gitea.ref }}" echo "Repository: ${{ gitea.repository }}" + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + - name: Checkout repository manually env: TOKEN: ${{ secrets.ACCESS_TOKEN }} From f04b73eacf67be76c48fd2da6249cc5da3fec7e4 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 16:57:58 +0100 Subject: [PATCH 028/102] install node --- .gitea/workflows/demo.yaml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 82ba490..848480f 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -19,10 +19,13 @@ jobs: echo "Branch: ${{ gitea.ref }}" echo "Repository: ${{ gitea.repository }}" - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 + - name: Install Node.js, npm, and Yarn + run: | + sudo apt update + sudo apt install -y curl + curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - + sudo apt install -y nodejs + sudo npm install -g yarn - name: Checkout repository manually env: From b6ea3877b5a049031fcd330d3c942cb783fc1f02 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 17:00:14 +0100 Subject: [PATCH 029/102] install node without sudo --- .gitea/workflows/demo.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 848480f..e835313 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -21,11 +21,11 @@ jobs: - name: Install Node.js, npm, and Yarn run: | - sudo apt update - sudo apt install -y curl + apt update + apt install -y curl curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - - sudo apt install -y nodejs - sudo npm install -g yarn + apt install -y nodejs + npm install -g yarn - name: Checkout repository manually env: From 5d2ad902fbcd5b8774300278f55165f649dcbe5e Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 17:02:57 +0100 Subject: [PATCH 030/102] install node all --- .gitea/workflows/demo.yaml | 40 ++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index e835313..46464fd 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -21,11 +21,38 @@ jobs: - name: Install Node.js, npm, and Yarn run: | - apt update - apt install -y curl - curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - - apt install -y nodejs - npm install -g yarn + set -e + echo "Detecting OS and installing Node.js, npm, and Yarn..." + + if command -v apt >/dev/null 2>&1; then + echo "Using apt package manager (Debian/Ubuntu)..." + apt update -y + apt install -y curl ca-certificates + curl -fsSL https://deb.nodesource.com/setup_20.x | bash - + apt install -y nodejs + npm install -g yarn + + elif command -v apk >/dev/null 2>&1; then + echo "Using apk package manager (Alpine)..." + apk update + apk add --no-cache curl nodejs npm + npm install -g yarn + + elif command -v dnf >/dev/null 2>&1; then + echo "Using dnf package manager (Fedora/RHEL)..." + dnf install -y curl ca-certificates nodejs npm + npm install -g yarn + + else + echo "No supported package manager found (apt, apk, dnf)." + exit 1 + fi + + echo "Node.js, npm, and Yarn installed successfully." + node -v + npm -v + yarn -v + - name: Checkout repository manually env: @@ -40,9 +67,6 @@ jobs: - name: List repo files and dependencies versions run: | ls . - node -v - npm -v - yarn -v - name: Done run: echo "Workflow finished." From bb5f1841394ec60d76fdfee27001f73967360b2a Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 17:07:46 +0100 Subject: [PATCH 031/102] install node all 2 --- .gitea/workflows/demo2.yaml | 76 +++++++++++++++++++++++++++++++------ 1 file changed, 64 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml index 606a281..7b6ee21 100644 --- a/.gitea/workflows/demo2.yaml +++ b/.gitea/workflows/demo2.yaml @@ -1,19 +1,71 @@ name: Gitea Actions Demo run-name: ${{ gitea.actor }} is testing out Gitea Actions -on: [push] + +on: + push: + branches: + - main + pull_request: + branches: + - main jobs: - Explore-Gitea-Actions: + Explore-Gitea-Actions-2: runs-on: ubuntu-latest steps: - - run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event." - - run: echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!" - - run: echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - - name: Check out repository code - uses: actions/checkout@v4 - - run: echo "The ${{ gitea.repository }} repository has been cloned to the runner." - - run: echo "The workflow is now ready to test your code on the runner." - - name: List files in the repository + - name: Info run: | - ls ${{ gitea.workspace }} - - run: echo "This job's status is ${{ job.status }}." \ No newline at end of file + echo "Triggered by ${{ gitea.event_name }} event" + echo "Branch: ${{ gitea.ref }}" + echo "Repository: ${{ gitea.repository }}" + + - name: Install Node.js, npm, and Yarn (optimized) + run: | + set -e + echo "Preparing Node.js, npm, and Yarn setup..." + + if command -v apt >/dev/null 2>&1; then + echo "→ Using apt (Debian/Ubuntu)..." + export DEBIAN_FRONTEND=noninteractive + apt-get update -qq >/dev/null + apt-get install -y -qq curl ca-certificates >/dev/null + curl -fsSL https://deb.nodesource.com/setup_20.x | bash - >/dev/null 2>&1 + apt-get install -y -qq nodejs >/dev/null + npm install -g yarn --silent + + elif command -v apk >/dev/null 2>&1; then + echo "→ Using apk (Alpine)..." + apk add --no-cache curl nodejs npm >/dev/null + npm install -g yarn --silent + + elif command -v dnf >/dev/null 2>&1; then + echo "→ Using dnf (Fedora/RHEL)..." + dnf install -y -q curl ca-certificates nodejs npm >/dev/null + npm install -g yarn --silent + + else + echo "No supported package manager found (apt, apk, dnf)." + exit 1 + fi + + echo "Node.js, npm, and Yarn installed successfully:" + node -v + npm -v + yarn -v + + - name: Checkout repository manually + env: + TOKEN: ${{ secrets.ACCESS_TOKEN }} + CLONE_URL: ${{ vars.CLONE_URL }} + run: | + echo "Cloning from $CLONE_URL" + echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") + git clone "$CLONE_URL_WITH_AUTH" . + + - name: List repo files and dependencies versions + run: | + ls . + + - name: Done + run: echo "Workflow finished." From 7d32db0b08a0a3497dfc6229ff10f8b02fad8ac7 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 17:11:16 +0100 Subject: [PATCH 032/102] clone silently --- .gitea/workflows/demo2.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml index 7b6ee21..5e25701 100644 --- a/.gitea/workflows/demo2.yaml +++ b/.gitea/workflows/demo2.yaml @@ -61,7 +61,8 @@ jobs: echo "Cloning from $CLONE_URL" echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") - git clone "$CLONE_URL_WITH_AUTH" . + git clone --quiet "$CLONE_URL_WITH_AUTH" . + echo "${{ gitea.repository }}. cloned successfully." - name: List repo files and dependencies versions run: | From 42a7910b3e8025e9ad427ee5228b4670213c9870 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 29 Oct 2025 17:13:07 +0100 Subject: [PATCH 033/102] clone silently log --- .gitea/workflows/demo2.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml index 5e25701..aed9ce0 100644 --- a/.gitea/workflows/demo2.yaml +++ b/.gitea/workflows/demo2.yaml @@ -62,11 +62,14 @@ jobs: echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") git clone --quiet "$CLONE_URL_WITH_AUTH" . - echo "${{ gitea.repository }}. cloned successfully." + echo "${{ gitea.repository }} cloned successfully." - - name: List repo files and dependencies versions + - name: List repo files run: | ls . + node -v + npm -v + yarn -v - name: Done run: echo "Workflow finished." From 68851347e9122367cb37c2e8c044b6a6f07a54d2 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 20:17:03 +0100 Subject: [PATCH 034/102] update test --- .gitea/workflows/test.yml | 116 +++++++++++++++++++++++++++++--------- pom.xml | 4 +- 2 files changed, 91 insertions(+), 29 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 144d7c6..0030ec4 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -5,48 +5,108 @@ on: pull_request: jobs: - lint-and-test: - name: Check & Test (Frontend + Backend) + frontend-jobs: + name: Set up Node and other necessary dependencies for Frontend Tests and Build runs-on: ubuntu-latest steps: - #Checkout repository - #- name: Checkout repository - # uses: actions/checkout@v4 - - name: Checkout repository manually + - name: Info run: | - git clone ${{ gitea.repository.clone_url }} + echo "Triggered by ${{ gitea.event_name }} event" + echo "Branch: ${{ gitea.ref }}" + echo "Repository: ${{ gitea.repository }}" - #Set up Node.js for React tests - - name: Set up Node.js - uses: actions/setup-node@v4 + - name: Install Node.js, npm, and Yarn (optimized) + run: | + set -e + echo "Preparing Node.js, npm, and Yarn setup..." + + if command -v apt >/dev/null 2>&1; then + echo "→ Using apt (Debian/Ubuntu)..." + export DEBIAN_FRONTEND=noninteractive + apt-get update -qq >/dev/null + apt-get install -y -qq curl ca-certificates >/dev/null + curl -fsSL https://deb.nodesource.com/setup_20.x | bash - >/dev/null 2>&1 + apt-get install -y -qq nodejs >/dev/null + npm install -g yarn --silent + + elif command -v apk >/dev/null 2>&1; then + echo "→ Using apk (Alpine)..." + apk add --no-cache curl nodejs npm >/dev/null + npm install -g yarn --silent + + elif command -v dnf >/dev/null 2>&1; then + echo "→ Using dnf (Fedora/RHEL)..." + dnf install -y -q curl ca-certificates nodejs npm >/dev/null + npm install -g yarn --silent + + else + echo "No supported package manager found (apt, apk, dnf)." + exit 1 + fi + + echo "Node.js, npm, and Yarn installed successfully:" + node -v + npm -v + yarn -v + + - name: Checkout repository manually + env: + TOKEN: ${{ secrets.ACCESS_TOKEN }} + CLONE_URL: ${{ vars.CLONE_URL }} + run: | + echo "Cloning from $CLONE_URL" + echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") + git clone --quiet "$CLONE_URL_WITH_AUTH" . + echo "${{ gitea.repository }} cloned successfully." + + #Check frontend linting + - name: Check frontend linting + working-directory: ./frontend + run: yarn lint + + # Install frontend dependencies and run tests + - name: Install frontend dependencies and run tests + #uses: actions/cache@v3 + working-directory: ./frontend with: - node-version: '20' # adjust to your project version or via env - cache: 'yarn' # or 'npm' if you use npm - - #Install frontend dependencies - - name: Install frontend dependencies - working-directory: ./frontend # adjust if your React app folder differs + path: | + ~/.yarn/cache + ./node_modules + key: frontend-${{ runner.os }}-yarn-${{ hashFiles('frontend/yarn.lock') }} + restore-keys: | + frontend-${{ runner.os }}-yarn- run: | yarn install --frozen-lockfile + yarn test --watchAll=false --ci - #Run React unit tests - #- name: Run React unit tests - # working-directory: ./frontend - # run: | - # yarn test --watchAll=false --ci + backend-jobs: + name: Set up Java for Backend Tests and Build + runs-on: ubuntu-latest - #Set up Java for backend tests - - name: Set up Java + steps: + # Setup Java 21 and Maven with caching + - name: Set up Java & Maven uses: actions/setup-java@v4 with: distribution: temurin - java-version: '21' # adjust to match your backend version - cache: maven # or 'gradle' if you use Gradle + java-version: '21' + cache: maven + + - name: Cache Maven dependencies + uses: actions/cache@v3 + with: + path: ~/.m2/repository + key: maven-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} + restore-keys: | + maven-${{ runner.os }}- - #Build & test backend - name: Build & test backend - working-directory: src # adjust if your Spring Boot project path differs + working-directory: ./src run: | + mvn clean install -B mvn clean verify package -B - # or ./gradlew clean test build if using Gradle + + - name: Done + run: echo "Workflow successfully completed." diff --git a/pom.xml b/pom.xml index f6de4ec..1964257 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ - 17 + 21 @@ -48,6 +48,8 @@ org.projectlombok lombok + 1.18.36 + provided From 3f6c46d7ae725a60e4902a27a94e2348fc5659a8 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 21:58:56 +0100 Subject: [PATCH 035/102] update test 1 --- .gitea/workflows/test.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 0030ec4..785ba96 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -60,11 +60,6 @@ jobs: CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." - - #Check frontend linting - - name: Check frontend linting - working-directory: ./frontend - run: yarn lint # Install frontend dependencies and run tests - name: Install frontend dependencies and run tests @@ -79,7 +74,12 @@ jobs: frontend-${{ runner.os }}-yarn- run: | yarn install --frozen-lockfile - yarn test --watchAll=false --ci + #yarn test --watchAll=false --ci + + #Check frontend linting + - name: Check frontend linting + working-directory: ./frontend + run: yarn lint backend-jobs: name: Set up Java for Backend Tests and Build From c981df6bc9b91a3226d42225f663257bdd3a8858 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 22:06:24 +0100 Subject: [PATCH 036/102] update backend job --- .gitea/workflows/test.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 785ba96..a5fff88 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -86,6 +86,17 @@ jobs: runs-on: ubuntu-latest steps: + # Checkout repository first (critical) + - name: Checkout repository + uses: actions/checkout@v3 + env: + TOKEN: ${{ secrets.ACCESS_TOKEN }} + CLONE_URL: ${{ vars.CLONE_URL }} + with: + repository: ${{ gitea.repository }} + token: ${{ secrets.ACCESS_TOKEN }} + ref: ${{ gitea.ref }} + # Setup Java 21 and Maven with caching - name: Set up Java & Maven uses: actions/setup-java@v4 @@ -102,9 +113,10 @@ jobs: restore-keys: | maven-${{ runner.os }}- - - name: Build & test backend + - name: Test & build backend working-directory: ./src run: | + echo "Started test & build backend..." mvn clean install -B mvn clean verify package -B From 42869666b8cf626e3c40f11cb97611b6825554ee Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 22:44:23 +0100 Subject: [PATCH 037/102] update backend checkout --- .gitea/workflows/test.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index a5fff88..71cebf8 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -86,16 +86,17 @@ jobs: runs-on: ubuntu-latest steps: - # Checkout repository first (critical) - - name: Checkout repository - uses: actions/checkout@v3 + # Checkout repository first + - name: Checkout repository manually env: TOKEN: ${{ secrets.ACCESS_TOKEN }} CLONE_URL: ${{ vars.CLONE_URL }} - with: - repository: ${{ gitea.repository }} - token: ${{ secrets.ACCESS_TOKEN }} - ref: ${{ gitea.ref }} + run: | + echo "Cloning from $CLONE_URL" + echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") + git clone --quiet "$CLONE_URL_WITH_AUTH" . + echo "${{ gitea.repository }} cloned successfully." # Setup Java 21 and Maven with caching - name: Set up Java & Maven From 1281bc00aa001af385b00a2ffd65c2b67bd35062 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 22:47:46 +0100 Subject: [PATCH 038/102] update backend install maven package --- .gitea/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 71cebf8..9c6347d 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -105,6 +105,7 @@ jobs: distribution: temurin java-version: '21' cache: maven + package: maven - name: Cache Maven dependencies uses: actions/cache@v3 From da0b4d3d02843af08c1b39a3d3c89514d6907b63 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 22:49:52 +0100 Subject: [PATCH 039/102] update backend install maven package manually --- .gitea/workflows/test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 9c6347d..b65889e 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -98,6 +98,11 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." + - name: Install Maven + run: | + apt-get update + apt-get install -y maven + # Setup Java 21 and Maven with caching - name: Set up Java & Maven uses: actions/setup-java@v4 From 9a1874935c466aabf688550cf7d31738850ba9a0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:01:50 +0100 Subject: [PATCH 040/102] update backend install maven package manually --- .gitea/workflows/test.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index b65889e..2ad2d4d 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -98,10 +98,12 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." - - name: Install Maven + - name: Install Maven manually run: | - apt-get update - apt-get install -y maven + mkdir -p $HOME/maven + curl -sL https://archive.apache.org/dist/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz | tar -xz -C $HOME/maven --strip-components=1 + export PATH=$HOME/maven/bin:$PATH + mvn -version # Setup Java 21 and Maven with caching - name: Set up Java & Maven From 02b4c7b4fef6646b429a75dfa7637eafd7678be4 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:03:51 +0100 Subject: [PATCH 041/102] backend install java 21 maven package manually --- .gitea/workflows/test.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 2ad2d4d..c8467f5 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -98,12 +98,20 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." + - name: Install Java 21 manually + run: | + apt-get update && apt-get install -y openjdk-21-jdk + export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 + export PATH=$JAVA_HOME/bin:$PATH + java -version + - name: Install Maven manually run: | mkdir -p $HOME/maven curl -sL https://archive.apache.org/dist/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz | tar -xz -C $HOME/maven --strip-components=1 export PATH=$HOME/maven/bin:$PATH mvn -version + # Setup Java 21 and Maven with caching - name: Set up Java & Maven From 13591019ca41162c8c6413096823ceaae195a597 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:09:33 +0100 Subject: [PATCH 042/102] backend install java 21 maven package manually --- .gitea/workflows/test.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index c8467f5..a5fca63 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -86,7 +86,7 @@ jobs: runs-on: ubuntu-latest steps: - # Checkout repository first + # Checkout repository first - name: Checkout repository manually env: TOKEN: ${{ secrets.ACCESS_TOKEN }} @@ -98,6 +98,11 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." + - name: Install OS dependencies + run: | + apt-get update -qq + apt-get install -y git curl unzip tar bash ca-certificates wget build-essential libssl-dev + - name: Install Java 21 manually run: | apt-get update && apt-get install -y openjdk-21-jdk From 75be3de9ee66217031046823f0a1a2c91c9056a0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:14:16 +0100 Subject: [PATCH 043/102] action java --- .gitea/workflows/test.yml | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index a5fca63..986441e 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -98,25 +98,16 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." - - name: Install OS dependencies - run: | - apt-get update -qq - apt-get install -y git curl unzip tar bash ca-certificates wget build-essential libssl-dev + - uses: actions/checkout@v5 + - name: Set up JDK 11 for x64 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + architecture: x64 - - name: Install Java 21 manually - run: | - apt-get update && apt-get install -y openjdk-21-jdk - export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 - export PATH=$JAVA_HOME/bin:$PATH - java -version - - - name: Install Maven manually - run: | - mkdir -p $HOME/maven - curl -sL https://archive.apache.org/dist/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz | tar -xz -C $HOME/maven --strip-components=1 - export PATH=$HOME/maven/bin:$PATH - mvn -version - + - name: Run the Maven verify phase + run: mvn --batch-mode --update-snapshots verify # Setup Java 21 and Maven with caching - name: Set up Java & Maven From 988a23aadf88ba1b5097f3515cc37c982df2d26d Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:16:47 +0100 Subject: [PATCH 044/102] action java maven --- .gitea/workflows/test.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 986441e..8037a48 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -105,19 +105,12 @@ jobs: java-version: '21' distribution: 'temurin' architecture: x64 + cache: maven + package: maven - name: Run the Maven verify phase run: mvn --batch-mode --update-snapshots verify - # Setup Java 21 and Maven with caching - - name: Set up Java & Maven - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: '21' - cache: maven - package: maven - - name: Cache Maven dependencies uses: actions/cache@v3 with: From a9065dcda28b7944fd8e02de8315d8b238379b40 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:18:48 +0100 Subject: [PATCH 045/102] action java maven --- .gitea/workflows/test.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 8037a48..fc2585c 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -99,17 +99,12 @@ jobs: echo "${{ gitea.repository }} cloned successfully." - uses: actions/checkout@v5 - - name: Set up JDK 11 for x64 + - name: Set up JDK 21 for x64 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'temurin' architecture: x64 - cache: maven - package: maven - - - name: Run the Maven verify phase - run: mvn --batch-mode --update-snapshots verify - name: Cache Maven dependencies uses: actions/cache@v3 @@ -119,6 +114,9 @@ jobs: restore-keys: | maven-${{ runner.os }}- + - name: Run the Maven verify phase + run: mvn --batch-mode --update-snapshots verify + - name: Test & build backend working-directory: ./src run: | From ae7670eb7e0cf0a74b972249fa01b212caba9a9c Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:22:25 +0100 Subject: [PATCH 046/102] action java maven --- .gitea/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index fc2585c..489e8eb 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -105,6 +105,9 @@ jobs: java-version: '21' distribution: 'temurin' architecture: x64 + cache: maven + check-latest: true + maven-version: '3.9.9' - name: Cache Maven dependencies uses: actions/cache@v3 From 02ad17673f121f2d964c17b77bdf2636a78e47d9 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:25:08 +0100 Subject: [PATCH 047/102] action java maven --- .gitea/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 489e8eb..c7686d4 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -108,6 +108,7 @@ jobs: cache: maven check-latest: true maven-version: '3.9.9' + run: mvn -v - name: Cache Maven dependencies uses: actions/cache@v3 From 8e592ce4580dc46fb8a190b24a3876ecd86dea23 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:29:47 +0100 Subject: [PATCH 048/102] action java maven --- .gitea/workflows/test.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index c7686d4..5a91435 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -106,9 +106,8 @@ jobs: distribution: 'temurin' architecture: x64 cache: maven - check-latest: true - maven-version: '3.9.9' - run: mvn -v + cache-dependency-path: 'sub-project/pom.xml' # optional + run: 'mvn --version' - name: Cache Maven dependencies uses: actions/cache@v3 From 4fa05e36169ba4528fbe586d08fb7c306d8ccff9 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:32:23 +0100 Subject: [PATCH 049/102] action java maven --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 5a91435..76011a4 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -106,7 +106,7 @@ jobs: distribution: 'temurin' architecture: x64 cache: maven - cache-dependency-path: 'sub-project/pom.xml' # optional + cache-dependency-path: '/pom.xml' # optional run: 'mvn --version' - name: Cache Maven dependencies From 49a177d557bc406e832d61c8d9303d5e9dbaee91 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:34:45 +0100 Subject: [PATCH 050/102] action java maven --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 76011a4..0d59e99 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -106,7 +106,7 @@ jobs: distribution: 'temurin' architecture: x64 cache: maven - cache-dependency-path: '/pom.xml' # optional + cache-dependency-path: 'pom.xml' # optional run: 'mvn --version' - name: Cache Maven dependencies From 94697dd7e2531c97bcfba782b97cd429a2f770cb Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:36:55 +0100 Subject: [PATCH 051/102] setup mvn --- .gitea/workflows/test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 0d59e99..680305e 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -107,7 +107,11 @@ jobs: architecture: x64 cache: maven cache-dependency-path: 'pom.xml' # optional - run: 'mvn --version' + + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.9.9 - name: Cache Maven dependencies uses: actions/cache@v3 From aec6f305ee1da4016af980228d729f36a9060b56 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:38:36 +0100 Subject: [PATCH 052/102] setup mvn --- .gitea/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 680305e..51dc88e 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -121,8 +121,8 @@ jobs: restore-keys: | maven-${{ runner.os }}- - - name: Run the Maven verify phase - run: mvn --batch-mode --update-snapshots verify + #- name: Run the Maven verify phase + # run: mvn --batch-mode --update-snapshots verify - name: Test & build backend working-directory: ./src From ef92fba5db5509885e084ee07531d2666dff4f39 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 30 Oct 2025 23:52:09 +0100 Subject: [PATCH 053/102] bash java --- .gitea/workflows/test.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 51dc88e..b4de00b 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -98,6 +98,17 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." + - name: Set up Java 21 and Maven + run: | + if command -v act >/dev/null 2>&1; then + echo "Detected act runner, installing OpenJDK 21 via apt-get..." + sudo apt-get update + sudo apt-get install -y openjdk-21-jdk maven + else + echo "Detected GitHub runner, using actions/setup-java..." + fi + shell: bash + - uses: actions/checkout@v5 - name: Set up JDK 21 for x64 uses: actions/setup-java@v4 @@ -121,9 +132,6 @@ jobs: restore-keys: | maven-${{ runner.os }}- - #- name: Run the Maven verify phase - # run: mvn --batch-mode --update-snapshots verify - - name: Test & build backend working-directory: ./src run: | From a5ee3c69a77c7cb8534bc24508822c2d92131b27 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 09:17:32 +0100 Subject: [PATCH 054/102] matrix --- .gitea/workflows/test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index b4de00b..f5b141c 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -113,8 +113,9 @@ jobs: - name: Set up JDK 21 for x64 uses: actions/setup-java@v4 with: - java-version: '21' + #java-version: '21' distribution: 'temurin' + java-version: ${{ matrix.java }} architecture: x64 cache: maven cache-dependency-path: 'pom.xml' # optional From cc114d68ce89dad8b039909dec02ad670f280f1f Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 09:22:37 +0100 Subject: [PATCH 055/102] mvn --- .gitea/workflows/test.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index f5b141c..4989602 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -113,9 +113,8 @@ jobs: - name: Set up JDK 21 for x64 uses: actions/setup-java@v4 with: - #java-version: '21' + java-version: '21' distribution: 'temurin' - java-version: ${{ matrix.java }} architecture: x64 cache: maven cache-dependency-path: 'pom.xml' # optional @@ -137,7 +136,6 @@ jobs: working-directory: ./src run: | echo "Started test & build backend..." - mvn clean install -B mvn clean verify package -B - name: Done From 67262d3a20ccc1b429694322270f7121464539ce Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 09:25:42 +0100 Subject: [PATCH 056/102] jdk --- .gitea/workflows/test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 4989602..e29a896 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -109,6 +109,11 @@ jobs: fi shell: bash + - name: Install Java (for act) + run: | + apt-get update + apt-get install -y openjdk-21-jdk + - uses: actions/checkout@v5 - name: Set up JDK 21 for x64 uses: actions/setup-java@v4 From 604348dbe761647f52cd7475b318acdba1e33c33 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 10:34:52 +0100 Subject: [PATCH 057/102] ls and clean --- .gitea/workflows/test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index e29a896..3293297 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -141,7 +141,9 @@ jobs: working-directory: ./src run: | echo "Started test & build backend..." - mvn clean verify package -B + ls . + mvn clean + # mvn clean verify package -B - name: Done run: echo "Workflow successfully completed." From 1dcb5f2d8eb54a4d03c8ebba4c63eda9b835d4ae Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 10:36:10 +0100 Subject: [PATCH 058/102] ls and clean --- .gitea/workflows/test.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 3293297..973e612 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -109,11 +109,6 @@ jobs: fi shell: bash - - name: Install Java (for act) - run: | - apt-get update - apt-get install -y openjdk-21-jdk - - uses: actions/checkout@v5 - name: Set up JDK 21 for x64 uses: actions/setup-java@v4 From 6f3b95d41deed17ec8335917d9835332a9785c74 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 10:44:18 +0100 Subject: [PATCH 059/102] update act --- .gitea/workflows/test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 973e612..4702cfb 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -137,7 +137,8 @@ jobs: run: | echo "Started test & build backend..." ls . - mvn clean + mvn clean verify -B + echo "Backend tests and build completed successfully." # mvn clean verify package -B - name: Done From 2ff51c4e9118f6fc2775f9aa15bd7c4fbb26a8b3 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 10:52:32 +0100 Subject: [PATCH 060/102] zulu --- .gitea/workflows/test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 4702cfb..df0cdbf 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -114,7 +114,8 @@ jobs: uses: actions/setup-java@v4 with: java-version: '21' - distribution: 'temurin' + distribution: 'zulu' + #distribution: 'temurin' architecture: x64 cache: maven cache-dependency-path: 'pom.xml' # optional From 045e04eb515136e823ad5852b9fe0b62485b5784 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 10:53:47 +0100 Subject: [PATCH 061/102] oracle --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index df0cdbf..15ccdc4 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -114,7 +114,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: '21' - distribution: 'zulu' + distribution: 'oracle' #distribution: 'temurin' architecture: x64 cache: maven From d7096e9610123c7e23c607d32f1c8dcbd3546158 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 10:54:28 +0100 Subject: [PATCH 062/102] corretto --- .gitea/workflows/test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 15ccdc4..b00e3cc 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -114,7 +114,8 @@ jobs: uses: actions/setup-java@v4 with: java-version: '21' - distribution: 'oracle' + #distribution: 'oracle' + distribution: 'corretto' #distribution: 'temurin' architecture: x64 cache: maven From 6f7801056cab99fc45e0b46d8e8a8c52b4ffc6da Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 10:58:05 +0100 Subject: [PATCH 063/102] install jdk --- .gitea/workflows/test.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index b00e3cc..3e61fc0 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -109,13 +109,26 @@ jobs: fi shell: bash + - name: Install OpenJDK 21 + run: | + # Ensure apt and necessary tools are available + apt-get update -y + apt-get install -y apt-transport-https ca-certificates curl gnupg wget software-properties-common + + # Download and install OpenJDK 21 (Oracle version) + wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb + + # Install the downloaded package + apt install -y ./jdk-21_linux-x64_bin.deb + + # Verify installation + java -version + - uses: actions/checkout@v5 - name: Set up JDK 21 for x64 uses: actions/setup-java@v4 with: java-version: '21' - #distribution: 'oracle' - distribution: 'corretto' #distribution: 'temurin' architecture: x64 cache: maven From 52f0e2e63a736cf3de969719588a9c055286c754 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 11:00:00 +0100 Subject: [PATCH 064/102] install deps --- .gitea/workflows/test.yml | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 3e61fc0..57d0fd9 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -110,18 +110,38 @@ jobs: shell: bash - name: Install OpenJDK 21 + shell: bash run: | - # Ensure apt and necessary tools are available + set -e + + # Check if apt-get exists; if not, install it + if ! command -v apt-get &> /dev/null; then + echo "apt-get not found. Attempting to install..." + if command -v apk &> /dev/null; then + echo "Using apk to install apt (Alpine detected)..." + apk update + apk add --no-cache apt + elif command -v dnf &> /dev/null; then + echo "Using dnf (Fedora/RHEL detected)..." + dnf install -y apt + elif command -v yum &> /dev/null; then + echo "Using yum (CentOS/RHEL detected)..." + yum install -y apt + else + echo "No supported package manager found!" + exit 1 + fi + fi + + # Continue installation using apt-get apt-get update -y apt-get install -y apt-transport-https ca-certificates curl gnupg wget software-properties-common - # Download and install OpenJDK 21 (Oracle version) + # Download and install Oracle JDK 21 wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb - - # Install the downloaded package apt install -y ./jdk-21_linux-x64_bin.deb - # Verify installation + # Verify installation java -version - uses: actions/checkout@v5 From 2ebd6a6a95607151bba416e5b8e47e0e605a74f3 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 11:03:12 +0100 Subject: [PATCH 065/102] install depss --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 57d0fd9..c2d1910 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -172,7 +172,7 @@ jobs: run: | echo "Started test & build backend..." ls . - mvn clean verify -B + mvn clean echo "Backend tests and build completed successfully." # mvn clean verify package -B From 993c8413cc51c736c7a9e516d1bdeb72d5e0c5ca Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 11:04:14 +0100 Subject: [PATCH 066/102] del --- .gitea/workflows/test.yml | 35 ----------------------------------- 1 file changed, 35 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index c2d1910..4e76dfc 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -109,41 +109,6 @@ jobs: fi shell: bash - - name: Install OpenJDK 21 - shell: bash - run: | - set -e - - # Check if apt-get exists; if not, install it - if ! command -v apt-get &> /dev/null; then - echo "apt-get not found. Attempting to install..." - if command -v apk &> /dev/null; then - echo "Using apk to install apt (Alpine detected)..." - apk update - apk add --no-cache apt - elif command -v dnf &> /dev/null; then - echo "Using dnf (Fedora/RHEL detected)..." - dnf install -y apt - elif command -v yum &> /dev/null; then - echo "Using yum (CentOS/RHEL detected)..." - yum install -y apt - else - echo "No supported package manager found!" - exit 1 - fi - fi - - # Continue installation using apt-get - apt-get update -y - apt-get install -y apt-transport-https ca-certificates curl gnupg wget software-properties-common - - # Download and install Oracle JDK 21 - wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb - apt install -y ./jdk-21_linux-x64_bin.deb - - # Verify installation - java -version - - uses: actions/checkout@v5 - name: Set up JDK 21 for x64 uses: actions/setup-java@v4 From 33b21b6b1351983264af1a61aca18a8ed53bdbea Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 11:07:06 +0100 Subject: [PATCH 067/102] install deps new --- .gitea/workflows/test.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 4e76dfc..733fc45 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -98,6 +98,41 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." + - name: Install OpenJDK 21 + shell: bash + run: | + set -e + + # Check if apt-get exists; if not, install it + if ! command -v apt-get &> /dev/null; then + echo "apt-get not found. Attempting to install..." + if command -v apk &> /dev/null; then + echo "Using apk to install apt (Alpine detected)..." + apk update + apk add --no-cache apt + elif command -v dnf &> /dev/null; then + echo "Using dnf (Fedora/RHEL detected)..." + dnf install -y apt + elif command -v yum &> /dev/null; then + echo "Using yum (CentOS/RHEL detected)..." + yum install -y apt + else + echo "No supported package manager found!" + exit 1 + fi + fi + + # Continue installation using apt-get + apt-get update -y + apt-get install -y apt-transport-https ca-certificates curl gnupg wget software-properties-common + + # Download and install Oracle JDK 21 + wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb + apt install -y ./jdk-21_linux-x64_bin.deb + + # Verify installation + java -version + - name: Set up Java 21 and Maven run: | if command -v act >/dev/null 2>&1; then From 6bd3005b955bf770cb51e11c89e5282091d43ea2 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 11:10:47 +0100 Subject: [PATCH 068/102] apk vs apt --- .gitea/workflows/test.yml | 54 +++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 733fc45..9b64eab 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -102,36 +102,36 @@ jobs: shell: bash run: | set -e - - # Check if apt-get exists; if not, install it - if ! command -v apt-get &> /dev/null; then - echo "apt-get not found. Attempting to install..." - if command -v apk &> /dev/null; then - echo "Using apk to install apt (Alpine detected)..." - apk update - apk add --no-cache apt - elif command -v dnf &> /dev/null; then - echo "Using dnf (Fedora/RHEL detected)..." - dnf install -y apt - elif command -v yum &> /dev/null; then - echo "Using yum (CentOS/RHEL detected)..." - yum install -y apt - else - echo "No supported package manager found!" - exit 1 - fi + + # Detect package manager + if command -v apt-get &> /dev/null; then + echo "Debian/Ubuntu detected, using apt-get..." + apt-get update -qq + apt-get install -y -qq wget curl ca-certificates gnupg software-properties-common + wget -q https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb + apt install -y -qq ./jdk-21_linux-x64_bin.deb + + elif command -v apk &> /dev/null; then + echo "Alpine detected, using apk..." + apk update >/dev/null + apk add --no-cache openjdk21 wget curl ca-certificates >/dev/null + + elif command -v yum &> /dev/null; then + echo "RHEL/CentOS detected, using yum..." + yum install -y -q wget curl ca-certificates gnupg2 >/dev/null + + elif command -v dnf &> /dev/null; then + echo "Fedora detected, using dnf..." + dnf install -y -q wget curl ca-certificates gnupg2 >/dev/null + + else + echo "No supported package manager found!" + exit 1 fi - - # Continue installation using apt-get - apt-get update -y - apt-get install -y apt-transport-https ca-certificates curl gnupg wget software-properties-common - - # Download and install Oracle JDK 21 - wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb - apt install -y ./jdk-21_linux-x64_bin.deb - + # Verify installation java -version + - name: Set up Java 21 and Maven run: | From 01f093f082966941bdbe95c972b8451d029f6c54 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 11:13:19 +0100 Subject: [PATCH 069/102] ubuntu --- .gitea/workflows/test.yml | 45 +++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 9b64eab..cfa89fd 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -103,35 +103,28 @@ jobs: run: | set -e - # Detect package manager - if command -v apt-get &> /dev/null; then - echo "Debian/Ubuntu detected, using apt-get..." - apt-get update -qq - apt-get install -y -qq wget curl ca-certificates gnupg software-properties-common - wget -q https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb - apt install -y -qq ./jdk-21_linux-x64_bin.deb + echo "Detected Ubuntu/Debian, preparing apt sources..." - elif command -v apk &> /dev/null; then - echo "Alpine detected, using apk..." - apk update >/dev/null - apk add --no-cache openjdk21 wget curl ca-certificates >/dev/null - - elif command -v yum &> /dev/null; then - echo "RHEL/CentOS detected, using yum..." - yum install -y -q wget curl ca-certificates gnupg2 >/dev/null - - elif command -v dnf &> /dev/null; then - echo "Fedora detected, using dnf..." - dnf install -y -q wget curl ca-certificates gnupg2 >/dev/null - - else - echo "No supported package manager found!" - exit 1 + # Rebuild sources list in case it’s empty (common in slim containers) + if [ ! -s /etc/apt/sources.list ]; then + echo "Rebuilding /etc/apt/sources.list..." + echo "deb http://archive.ubuntu.com/ubuntu/ noble main universe restricted multiverse" > /etc/apt/sources.list + echo "deb http://archive.ubuntu.com/ubuntu/ noble-updates main universe restricted multiverse" >> /etc/apt/sources.list + echo "deb http://archive.ubuntu.com/ubuntu/ noble-security main universe restricted multiverse" >> /etc/apt/sources.list fi - # Verify installation - java -version - + echo "Updating package lists..." + apt-get update -y -qq + + echo "Installing dependencies silently..." + DEBIAN_FRONTEND=noninteractive apt-get install -y -qq wget curl ca-certificates gnupg software-properties-common + + echo "Downloading and installing Oracle JDK 21..." + wget -q https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb + apt install -y -qq ./jdk-21_linux-x64_bin.deb + + echo "Verifying Java installation..." + java -version - name: Set up Java 21 and Maven run: | From aeff0bf11c0311bedd2fc45c1acb9e31ee9b366a Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 13:14:35 +0100 Subject: [PATCH 070/102] check apt-get --- .gitea/workflows/test.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index cfa89fd..4e76dfc 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -98,34 +98,6 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." - - name: Install OpenJDK 21 - shell: bash - run: | - set -e - - echo "Detected Ubuntu/Debian, preparing apt sources..." - - # Rebuild sources list in case it’s empty (common in slim containers) - if [ ! -s /etc/apt/sources.list ]; then - echo "Rebuilding /etc/apt/sources.list..." - echo "deb http://archive.ubuntu.com/ubuntu/ noble main universe restricted multiverse" > /etc/apt/sources.list - echo "deb http://archive.ubuntu.com/ubuntu/ noble-updates main universe restricted multiverse" >> /etc/apt/sources.list - echo "deb http://archive.ubuntu.com/ubuntu/ noble-security main universe restricted multiverse" >> /etc/apt/sources.list - fi - - echo "Updating package lists..." - apt-get update -y -qq - - echo "Installing dependencies silently..." - DEBIAN_FRONTEND=noninteractive apt-get install -y -qq wget curl ca-certificates gnupg software-properties-common - - echo "Downloading and installing Oracle JDK 21..." - wget -q https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb - apt install -y -qq ./jdk-21_linux-x64_bin.deb - - echo "Verifying Java installation..." - java -version - - name: Set up Java 21 and Maven run: | if command -v act >/dev/null 2>&1; then From cdde92015d98d87509024b5d55a4ebb7bd94a9a0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 13:16:54 +0100 Subject: [PATCH 071/102] check apt-get --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 4e76dfc..c2f6462 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -114,7 +114,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: '21' - #distribution: 'temurin' + distribution: 'oracle-jdk' architecture: x64 cache: maven cache-dependency-path: 'pom.xml' # optional From c6636c0f5a562497d0bc205ed271a07e982b5833 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 13:17:53 +0100 Subject: [PATCH 072/102] oracle --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index c2f6462..fef81f2 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -114,7 +114,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: '21' - distribution: 'oracle-jdk' + distribution: 'oracle' architecture: x64 cache: maven cache-dependency-path: 'pom.xml' # optional From dd1f3a9039811ebf7b820b72854491c06b671dce Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 13:24:26 +0100 Subject: [PATCH 073/102] linux --- .gitea/workflows/test.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index fef81f2..8b06144 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -119,6 +119,14 @@ jobs: cache: maven cache-dependency-path: 'pom.xml' # optional + - name: Setup Java 21 (for act) + if: ${{ runner.os == 'Linux' && env.ACT_RUNNER == 'true' }} + run: | + apt-get update -y + apt-get install -y openjdk-21-jdk + java -version + echo "Java 21 setup completed." + - name: Set up Maven uses: stCarolas/setup-maven@v5 with: From 88dc37bd0a4fa4970e3d2a20cdadaf720f6d4f31 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 13:27:13 +0100 Subject: [PATCH 074/102] linux --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 8b06144..3d10d27 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -120,7 +120,7 @@ jobs: cache-dependency-path: 'pom.xml' # optional - name: Setup Java 21 (for act) - if: ${{ runner.os == 'Linux' && env.ACT_RUNNER == 'true' }} + #if: ${{ runner.os == 'Linux' && env.ACT_RUNNER == 'true' }} run: | apt-get update -y apt-get install -y openjdk-21-jdk From dcde1bd0df632ce820148767ef6a4ad15c61c43a Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 13:49:55 +0100 Subject: [PATCH 075/102] y --- .gitea/workflows/demo.yaml | 142 ++++++++++++++++++++++++++++++------- 1 file changed, 115 insertions(+), 27 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 46464fd..16682dd 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -1,17 +1,14 @@ -name: Gitea Actions Demo -run-name: ${{ gitea.actor }} is testing out Gitea Actions +name: checks on: push: - branches: - - main pull_request: - branches: - - main jobs: - Explore-Gitea-Actions: + frontend-jobs: + name: Set up Node and other necessary dependencies for Frontend Tests and Build runs-on: ubuntu-latest + steps: - name: Info run: | @@ -19,40 +16,39 @@ jobs: echo "Branch: ${{ gitea.ref }}" echo "Repository: ${{ gitea.repository }}" - - name: Install Node.js, npm, and Yarn + - name: Install Node.js, npm, and Yarn (optimized) run: | set -e - echo "Detecting OS and installing Node.js, npm, and Yarn..." + echo "Preparing Node.js, npm, and Yarn setup..." if command -v apt >/dev/null 2>&1; then - echo "Using apt package manager (Debian/Ubuntu)..." - apt update -y - apt install -y curl ca-certificates - curl -fsSL https://deb.nodesource.com/setup_20.x | bash - - apt install -y nodejs - npm install -g yarn + echo "→ Using apt (Debian/Ubuntu)..." + export DEBIAN_FRONTEND=noninteractive + apt-get update -qq >/dev/null + apt-get install -y -qq curl ca-certificates >/dev/null + curl -fsSL https://deb.nodesource.com/setup_20.x | bash - >/dev/null 2>&1 + apt-get install -y -qq nodejs >/dev/null + npm install -g yarn --silent elif command -v apk >/dev/null 2>&1; then - echo "Using apk package manager (Alpine)..." - apk update - apk add --no-cache curl nodejs npm - npm install -g yarn + echo "→ Using apk (Alpine)..." + apk add --no-cache curl nodejs npm >/dev/null + npm install -g yarn --silent elif command -v dnf >/dev/null 2>&1; then - echo "Using dnf package manager (Fedora/RHEL)..." - dnf install -y curl ca-certificates nodejs npm - npm install -g yarn + echo "→ Using dnf (Fedora/RHEL)..." + dnf install -y -q curl ca-certificates nodejs npm >/dev/null + npm install -g yarn --silent else echo "No supported package manager found (apt, apk, dnf)." exit 1 fi - echo "Node.js, npm, and Yarn installed successfully." + echo "Node.js, npm, and Yarn installed successfully:" node -v npm -v yarn -v - - name: Checkout repository manually env: @@ -62,11 +58,103 @@ jobs: echo "Cloning from $CLONE_URL" echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") - git clone "$CLONE_URL_WITH_AUTH" . + git clone --quiet "$CLONE_URL_WITH_AUTH" . + echo "${{ gitea.repository }} cloned successfully." - - name: List repo files and dependencies versions + # Install frontend dependencies and run tests + - name: Install frontend dependencies and run tests + #uses: actions/cache@v3 + working-directory: ./frontend + with: + path: | + ~/.yarn/cache + ./node_modules + key: frontend-${{ runner.os }}-yarn-${{ hashFiles('frontend/yarn.lock') }} + restore-keys: | + frontend-${{ runner.os }}-yarn- run: | + yarn install --frozen-lockfile + #yarn test --watchAll=false --ci + + #Check frontend linting + - name: Check frontend linting + working-directory: ./frontend + run: yarn lint + + backend-jobs: + name: Set up Java for Backend Tests and Build + runs-on: ubuntu-latest + + steps: + # Checkout repository first + - name: Checkout repository manually + env: + TOKEN: ${{ secrets.ACCESS_TOKEN }} + CLONE_URL: ${{ vars.CLONE_URL }} + run: | + echo "Cloning from $CLONE_URL" + echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") + git clone --quiet "$CLONE_URL_WITH_AUTH" . + echo "${{ gitea.repository }} cloned successfully." + + - name: Set up Java 21 and Maven + run: | + if command -v act >/dev/null 2>&1; then + echo "Detected act runner, installing OpenJDK 21 via apt-get..." + sudo apt-get update + sudo apt-get install -y openjdk-21-jdk maven + else + echo "Detected GitHub runner, using actions/setup-java..." + fi + shell: bash + + - uses: actions/checkout@v5 + - name: Set up JDK 21 for x64 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'oracle' + architecture: x64 + cache: maven + cache-dependency-path: 'pom.xml' # optional + + - name: Setup Java 21 (for act) + run: | + # Ensure keyrings are updated + apt-get update -y --allow-unauthenticated || true + apt-get install -y --no-install-recommends wget gnupg software-properties-common + + # Add the missing public key + apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C || true + + # Update sources and install Java 21 + apt-get update -y + apt-get install -y openjdk-21-jdk + java -version + echo "Java 21 setup completed." + + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.9.9 + + - name: Cache Maven dependencies + uses: actions/cache@v3 + with: + path: ~/.m2/repository + key: maven-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} + restore-keys: | + maven-${{ runner.os }}- + + - name: Test & build backend + working-directory: ./src + run: | + echo "Started test & build backend..." ls . + mvn clean + echo "Backend tests and build completed successfully." + # mvn clean verify package -B - name: Done - run: echo "Workflow finished." + run: echo "Workflow successfully completed." From 830d05dc9d3afed834d8916fc3300667d798435d Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 13:55:55 +0100 Subject: [PATCH 076/102] ma --- .gitea/workflows/demo.yaml | 85 +++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 16682dd..508b346 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -86,59 +86,63 @@ jobs: runs-on: ubuntu-latest steps: - # Checkout repository first + # Checkout repository - name: Checkout repository manually env: TOKEN: ${{ secrets.ACCESS_TOKEN }} CLONE_URL: ${{ vars.CLONE_URL }} run: | - echo "Cloning from $CLONE_URL" - echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" - CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$TOKEN@#") git clone --quiet "$CLONE_URL_WITH_AUTH" . - echo "${{ gitea.repository }} cloned successfully." + echo "Repository cloned successfully." - - name: Set up Java 21 and Maven + # Manual Java 21 installation + - name: Install OpenJDK 21 manually run: | + set -e + # Detect if running in act if command -v act >/dev/null 2>&1; then - echo "Detected act runner, installing OpenJDK 21 via apt-get..." - sudo apt-get update - sudo apt-get install -y openjdk-21-jdk maven - else - echo "Detected GitHub runner, using actions/setup-java..." + echo "Detected act runner, installing Java 21 via apt silently..." fi - shell: bash - - uses: actions/checkout@v5 - - name: Set up JDK 21 for x64 - uses: actions/setup-java@v4 - with: - java-version: '21' - distribution: 'oracle' - architecture: x64 - cache: maven - cache-dependency-path: 'pom.xml' # optional + # Install prerequisites silently + sudo apt-get update -qq + sudo apt-get install -y -qq wget tar gzip gnupg --no-install-recommends - - name: Setup Java 21 (for act) - run: | - # Ensure keyrings are updated - apt-get update -y --allow-unauthenticated || true - apt-get install -y --no-install-recommends wget gnupg software-properties-common + # Download OpenJDK 21 tar.gz from Eclipse Temurin (or AdoptOpenJDK) + JDK_VERSION="21.0.0+35" + JDK_DIR="/opt/jdk-21" + TMP_TAR="/tmp/openjdk-21.tar.gz" + wget -qO "$TMP_TAR" "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.0%2B35/OpenJDK21U-jdk_x64_linux_hotspot_21.0.0_35.tar.gz" - # Add the missing public key - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C || true + # Extract silently + sudo mkdir -p "$JDK_DIR" + sudo tar --strip-components=1 -xzf "$TMP_TAR" -C "$JDK_DIR" >/dev/null + + # Set environment variables for all steps + echo "JAVA_HOME=$JDK_DIR" | sudo tee /etc/profile.d/jdk21.sh + echo "PATH=$JDK_DIR/bin:\$PATH" | sudo tee -a /etc/profile.d/jdk21.sh + export JAVA_HOME="$JDK_DIR" + export PATH="$JAVA_HOME/bin:$PATH" - # Update sources and install Java 21 - apt-get update -y - apt-get install -y openjdk-21-jdk java -version - echo "Java 21 setup completed." + echo "OpenJDK 21 installed successfully." - - name: Set up Maven - uses: stCarolas/setup-maven@v5 - with: - maven-version: 3.9.9 + # Install Maven manually + - name: Install Maven silently + run: | + MAVEN_VERSION="3.9.9" + MAVEN_DIR="/opt/maven" + wget -qO /tmp/apache-maven.tar.gz "https://downloads.apache.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" + sudo mkdir -p "$MAVEN_DIR" + sudo tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 -C "$MAVEN_DIR" >/dev/null + echo "MAVEN_HOME=$MAVEN_DIR" | sudo tee /etc/profile.d/maven.sh + echo "PATH=$MAVEN_DIR/bin:\$PATH" | sudo tee -a /etc/profile.d/maven.sh + export MAVEN_HOME="$MAVEN_DIR" + export PATH="$MAVEN_HOME/bin:$PATH" + mvn -v + # Cache Maven dependencies - name: Cache Maven dependencies uses: actions/cache@v3 with: @@ -147,14 +151,11 @@ jobs: restore-keys: | maven-${{ runner.os }}- + # Run backend tests and build - name: Test & build backend working-directory: ./src run: | - echo "Started test & build backend..." - ls . - mvn clean - echo "Backend tests and build completed successfully." - # mvn clean verify package -B + mvn clean verify -B - name: Done - run: echo "Workflow successfully completed." + run: echo "Workflow successfully completed." \ No newline at end of file From bac0751241434e0245c92446f4036c4a1be03f1d Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 14:05:54 +0100 Subject: [PATCH 077/102] ma 1 --- .gitea/workflows/test.yml | 70 --------------------------------------- 1 file changed, 70 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 3d10d27..135c2d1 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -81,73 +81,3 @@ jobs: working-directory: ./frontend run: yarn lint - backend-jobs: - name: Set up Java for Backend Tests and Build - runs-on: ubuntu-latest - - steps: - # Checkout repository first - - name: Checkout repository manually - env: - TOKEN: ${{ secrets.ACCESS_TOKEN }} - CLONE_URL: ${{ vars.CLONE_URL }} - run: | - echo "Cloning from $CLONE_URL" - echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" - CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") - git clone --quiet "$CLONE_URL_WITH_AUTH" . - echo "${{ gitea.repository }} cloned successfully." - - - name: Set up Java 21 and Maven - run: | - if command -v act >/dev/null 2>&1; then - echo "Detected act runner, installing OpenJDK 21 via apt-get..." - sudo apt-get update - sudo apt-get install -y openjdk-21-jdk maven - else - echo "Detected GitHub runner, using actions/setup-java..." - fi - shell: bash - - - uses: actions/checkout@v5 - - name: Set up JDK 21 for x64 - uses: actions/setup-java@v4 - with: - java-version: '21' - distribution: 'oracle' - architecture: x64 - cache: maven - cache-dependency-path: 'pom.xml' # optional - - - name: Setup Java 21 (for act) - #if: ${{ runner.os == 'Linux' && env.ACT_RUNNER == 'true' }} - run: | - apt-get update -y - apt-get install -y openjdk-21-jdk - java -version - echo "Java 21 setup completed." - - - name: Set up Maven - uses: stCarolas/setup-maven@v5 - with: - maven-version: 3.9.9 - - - name: Cache Maven dependencies - uses: actions/cache@v3 - with: - path: ~/.m2/repository - key: maven-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - maven-${{ runner.os }}- - - - name: Test & build backend - working-directory: ./src - run: | - echo "Started test & build backend..." - ls . - mvn clean - echo "Backend tests and build completed successfully." - # mvn clean verify package -B - - - name: Done - run: echo "Workflow successfully completed." From 8808556fe15151d0a3c95ed4c2904c5736ad2413 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 14:10:27 +0100 Subject: [PATCH 078/102] ma 2 --- .gitea/workflows/test.yml | 70 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 135c2d1..3d10d27 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -81,3 +81,73 @@ jobs: working-directory: ./frontend run: yarn lint + backend-jobs: + name: Set up Java for Backend Tests and Build + runs-on: ubuntu-latest + + steps: + # Checkout repository first + - name: Checkout repository manually + env: + TOKEN: ${{ secrets.ACCESS_TOKEN }} + CLONE_URL: ${{ vars.CLONE_URL }} + run: | + echo "Cloning from $CLONE_URL" + echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") + git clone --quiet "$CLONE_URL_WITH_AUTH" . + echo "${{ gitea.repository }} cloned successfully." + + - name: Set up Java 21 and Maven + run: | + if command -v act >/dev/null 2>&1; then + echo "Detected act runner, installing OpenJDK 21 via apt-get..." + sudo apt-get update + sudo apt-get install -y openjdk-21-jdk maven + else + echo "Detected GitHub runner, using actions/setup-java..." + fi + shell: bash + + - uses: actions/checkout@v5 + - name: Set up JDK 21 for x64 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'oracle' + architecture: x64 + cache: maven + cache-dependency-path: 'pom.xml' # optional + + - name: Setup Java 21 (for act) + #if: ${{ runner.os == 'Linux' && env.ACT_RUNNER == 'true' }} + run: | + apt-get update -y + apt-get install -y openjdk-21-jdk + java -version + echo "Java 21 setup completed." + + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.9.9 + + - name: Cache Maven dependencies + uses: actions/cache@v3 + with: + path: ~/.m2/repository + key: maven-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} + restore-keys: | + maven-${{ runner.os }}- + + - name: Test & build backend + working-directory: ./src + run: | + echo "Started test & build backend..." + ls . + mvn clean + echo "Backend tests and build completed successfully." + # mvn clean verify package -B + + - name: Done + run: echo "Workflow successfully completed." From fe818f5f4c29cf3ee95282c597afbcaa42f66c21 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 14:15:46 +0100 Subject: [PATCH 079/102] ma img --- .gitea/workflows/demo.yaml | 37 +++---------------------------------- 1 file changed, 3 insertions(+), 34 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 508b346..7723b42 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -84,6 +84,8 @@ jobs: backend-jobs: name: Set up Java for Backend Tests and Build runs-on: ubuntu-latest + container: + image: ghcr.io/adoptium/temurin:21-jdk steps: # Checkout repository @@ -96,38 +98,6 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "Repository cloned successfully." - # Manual Java 21 installation - - name: Install OpenJDK 21 manually - run: | - set -e - # Detect if running in act - if command -v act >/dev/null 2>&1; then - echo "Detected act runner, installing Java 21 via apt silently..." - fi - - # Install prerequisites silently - sudo apt-get update -qq - sudo apt-get install -y -qq wget tar gzip gnupg --no-install-recommends - - # Download OpenJDK 21 tar.gz from Eclipse Temurin (or AdoptOpenJDK) - JDK_VERSION="21.0.0+35" - JDK_DIR="/opt/jdk-21" - TMP_TAR="/tmp/openjdk-21.tar.gz" - wget -qO "$TMP_TAR" "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.0%2B35/OpenJDK21U-jdk_x64_linux_hotspot_21.0.0_35.tar.gz" - - # Extract silently - sudo mkdir -p "$JDK_DIR" - sudo tar --strip-components=1 -xzf "$TMP_TAR" -C "$JDK_DIR" >/dev/null - - # Set environment variables for all steps - echo "JAVA_HOME=$JDK_DIR" | sudo tee /etc/profile.d/jdk21.sh - echo "PATH=$JDK_DIR/bin:\$PATH" | sudo tee -a /etc/profile.d/jdk21.sh - export JAVA_HOME="$JDK_DIR" - export PATH="$JAVA_HOME/bin:$PATH" - - java -version - echo "OpenJDK 21 installed successfully." - # Install Maven manually - name: Install Maven silently run: | @@ -154,8 +124,7 @@ jobs: # Run backend tests and build - name: Test & build backend working-directory: ./src - run: | - mvn clean verify -B + run: mvn clean verify -B - name: Done run: echo "Workflow successfully completed." \ No newline at end of file From 80ef645fc63656191dcb61069f6e1b317fccfd20 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 14:18:22 +0100 Subject: [PATCH 080/102] ma img --- .gitea/workflows/demo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 7723b42..98718c7 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -85,7 +85,7 @@ jobs: name: Set up Java for Backend Tests and Build runs-on: ubuntu-latest container: - image: ghcr.io/adoptium/temurin:21-jdk + image: eclipse-temurin:21-jdk steps: # Checkout repository From 7adaab5733d8cff537cd2b1a8dcc646a600a2ba0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 14:25:24 +0100 Subject: [PATCH 081/102] ma img --- .gitea/workflows/demo.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 98718c7..36f0bf6 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -88,6 +88,29 @@ jobs: image: eclipse-temurin:21-jdk steps: + - name: Detect act environment + id: detect-act + run: | + if command -v act >/dev/null 2>&1; then + echo "Running inside act" + echo "ACT=true" >> $GITHUB_ENV + else + echo "ACT=false" >> $GITHUB_ENV + fi + + - name: Install dependencies (for both GitHub and act) + run: | + if [ "$ACT" = "true" ]; then + echo "Installing dependencies for act..." + if ! command -v sudo >/dev/null 2>&1; then + apt-get update && apt-get install -y sudo + fi + sudo apt-get update && sudo apt-get install -y curl build-essential + else + echo "Installing dependencies for GitHub Actions..." + sudo apt-get update -qq + sudo apt-get install -y curl build-essential + fi # Checkout repository - name: Checkout repository manually env: From 3446fb901b665d9ae4ffa1d776f8e2253630fac7 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 14:54:10 +0100 Subject: [PATCH 082/102] ma imgd --- .gitea/workflows/demo.yaml | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 36f0bf6..771b56f 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -84,33 +84,10 @@ jobs: backend-jobs: name: Set up Java for Backend Tests and Build runs-on: ubuntu-latest - container: - image: eclipse-temurin:21-jdk + #container: + #image: eclipse-temurin:21-jdk steps: - - name: Detect act environment - id: detect-act - run: | - if command -v act >/dev/null 2>&1; then - echo "Running inside act" - echo "ACT=true" >> $GITHUB_ENV - else - echo "ACT=false" >> $GITHUB_ENV - fi - - - name: Install dependencies (for both GitHub and act) - run: | - if [ "$ACT" = "true" ]; then - echo "Installing dependencies for act..." - if ! command -v sudo >/dev/null 2>&1; then - apt-get update && apt-get install -y sudo - fi - sudo apt-get update && sudo apt-get install -y curl build-essential - else - echo "Installing dependencies for GitHub Actions..." - sudo apt-get update -qq - sudo apt-get install -y curl build-essential - fi # Checkout repository - name: Checkout repository manually env: From 79e0160e50260d1f74725316936aaa07a41133b0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:09:07 +0100 Subject: [PATCH 083/102] ma jdk --- .gitea/workflows/demo.yaml | 46 ++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 771b56f..8506406 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -99,27 +99,35 @@ jobs: echo "Repository cloned successfully." # Install Maven manually - - name: Install Maven silently - run: | - MAVEN_VERSION="3.9.9" - MAVEN_DIR="/opt/maven" - wget -qO /tmp/apache-maven.tar.gz "https://downloads.apache.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" - sudo mkdir -p "$MAVEN_DIR" - sudo tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 -C "$MAVEN_DIR" >/dev/null - echo "MAVEN_HOME=$MAVEN_DIR" | sudo tee /etc/profile.d/maven.sh - echo "PATH=$MAVEN_DIR/bin:\$PATH" | sudo tee -a /etc/profile.d/maven.sh - export MAVEN_HOME="$MAVEN_DIR" - export PATH="$MAVEN_HOME/bin:$PATH" - mvn -v + - name: Checkout code + uses: actions/checkout@v4 - # Cache Maven dependencies - - name: Cache Maven dependencies - uses: actions/cache@v3 + # 1️⃣ Download OpenJDK 21 (example source URL) + - name: Download OpenJDK 21 + run: | + download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" + wget -O $RUNNER_TEMP/java_package.tar.gz $download_url + + # 2️⃣ Setup Java from local JDK file + - name: Set up OpenJDK 21 + uses: actions/setup-java@v5 with: - path: ~/.m2/repository - key: maven-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - maven-${{ runner.os }}- + distribution: 'jdkfile' # Use locally downloaded JDK + jdkFile: ${{ runner.temp }}/java_package.tar.gz + java-version: '21' + architecture: x64 + mvn-toolchain-vendor: 'Oracle' + cache: 'maven' # Enable Maven dependency caching + + # 3️⃣ Verify Java installation + - name: Verify Java setup + run: | + java -version + echo "JAVA_HOME=$JAVA_HOME" + + # 4️⃣ Build and test with Maven + - name: Build with Maven + run: mvn -B verify # Run backend tests and build - name: Test & build backend From 41957e97de3eeb61b51fda3555ff939607a67f93 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:11:16 +0100 Subject: [PATCH 084/102] ma jdk ch --- .gitea/workflows/demo.yaml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 8506406..953e99a 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -88,16 +88,6 @@ jobs: #image: eclipse-temurin:21-jdk steps: - # Checkout repository - - name: Checkout repository manually - env: - TOKEN: ${{ secrets.ACCESS_TOKEN }} - CLONE_URL: ${{ vars.CLONE_URL }} - run: | - CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$TOKEN@#") - git clone --quiet "$CLONE_URL_WITH_AUTH" . - echo "Repository cloned successfully." - # Install Maven manually - name: Checkout code uses: actions/checkout@v4 From de196ce36a259ac5966e8e1cfbf69b680edb1455 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:26:56 +0100 Subject: [PATCH 085/102] ma jdk ch --- .gitea/workflows/demo.yaml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 953e99a..6465183 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -99,15 +99,14 @@ jobs: wget -O $RUNNER_TEMP/java_package.tar.gz $download_url # 2️⃣ Setup Java from local JDK file - - name: Set up OpenJDK 21 - uses: actions/setup-java@v5 - with: - distribution: 'jdkfile' # Use locally downloaded JDK - jdkFile: ${{ runner.temp }}/java_package.tar.gz - java-version: '21' - architecture: x64 - mvn-toolchain-vendor: 'Oracle' - cache: 'maven' # Enable Maven dependency caching + - name: Download and extract OpenJDK 21 + run: | + download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" + wget -O $RUNNER_TEMP/java_package.tar.gz $download_url + mkdir -p $RUNNER_TEMP/jdk + tar -xzf $RUNNER_TEMP/java_package.tar.gz -C $RUNNER_TEMP/jdk --strip-components=1 + echo "JAVA_HOME=$RUNNER_TEMP/jdk" >> $GITHUB_ENV + echo "$RUNNER_TEMP/jdk/bin" >> $GITHUB_PATH # 3️⃣ Verify Java installation - name: Verify Java setup From bfb2d525ddf927c0ab39537c104b9b3ab2aeff63 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:28:48 +0100 Subject: [PATCH 086/102] ma jdk ch --- .gitea/workflows/demo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 6465183..c42afcf 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -111,7 +111,7 @@ jobs: # 3️⃣ Verify Java installation - name: Verify Java setup run: | - java -version + # java -version echo "JAVA_HOME=$JAVA_HOME" # 4️⃣ Build and test with Maven From 014c6f01a41e3c4b5de823bbcff8d111191614a0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:29:47 +0100 Subject: [PATCH 087/102] ma jdk ch --- .gitea/workflows/demo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index c42afcf..387bbbc 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -111,7 +111,7 @@ jobs: # 3️⃣ Verify Java installation - name: Verify Java setup run: | - # java -version + #java -version echo "JAVA_HOME=$JAVA_HOME" # 4️⃣ Build and test with Maven From 3057d6209acec02dfc436aeade1ba23fcde1b11e Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:31:14 +0100 Subject: [PATCH 088/102] ma jdk ch --- .gitea/workflows/demo.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index 387bbbc..f59283d 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -112,6 +112,7 @@ jobs: - name: Verify Java setup run: | #java -version + java echo "JAVA_HOME=$JAVA_HOME" # 4️⃣ Build and test with Maven From 99f4666c51f635dc64d5f3a7a528c4562b0ebdc4 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:37:18 +0100 Subject: [PATCH 089/102] ma jdk ch --- .gitea/workflows/jdk.yaml | 123 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 .gitea/workflows/jdk.yaml diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml new file mode 100644 index 0000000..3b8a66b --- /dev/null +++ b/.gitea/workflows/jdk.yaml @@ -0,0 +1,123 @@ +name: checks + +on: + push: + pull_request: + +jobs: + frontend-jobs: + name: Set up Node and other necessary dependencies for Frontend Tests and Build + runs-on: ubuntu-latest + + steps: + - name: Info + run: | + echo "Triggered by ${{ gitea.event_name }} event" + echo "Branch: ${{ gitea.ref }}" + echo "Repository: ${{ gitea.repository }}" + + - name: Install Node.js, npm, and Yarn (optimized) + run: | + set -e + echo "Preparing Node.js, npm, and Yarn setup..." + + if command -v apt >/dev/null 2>&1; then + echo "→ Using apt (Debian/Ubuntu)..." + export DEBIAN_FRONTEND=noninteractive + apt-get update -qq >/dev/null + apt-get install -y -qq curl ca-certificates >/dev/null + curl -fsSL https://deb.nodesource.com/setup_20.x | bash - >/dev/null 2>&1 + apt-get install -y -qq nodejs >/dev/null + npm install -g yarn --silent + + elif command -v apk >/dev/null 2>&1; then + echo "→ Using apk (Alpine)..." + apk add --no-cache curl nodejs npm >/dev/null + npm install -g yarn --silent + + elif command -v dnf >/dev/null 2>&1; then + echo "→ Using dnf (Fedora/RHEL)..." + dnf install -y -q curl ca-certificates nodejs npm >/dev/null + npm install -g yarn --silent + + else + echo "No supported package manager found (apt, apk, dnf)." + exit 1 + fi + + echo "Node.js, npm, and Yarn installed successfully:" + node -v + npm -v + yarn -v + + - name: Checkout repository manually + env: + TOKEN: ${{ secrets.ACCESS_TOKEN }} + CLONE_URL: ${{ vars.CLONE_URL }} + run: | + echo "Cloning from $CLONE_URL" + echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" + CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") + git clone --quiet "$CLONE_URL_WITH_AUTH" . + echo "${{ gitea.repository }} cloned successfully." + + # Install frontend dependencies and run tests + - name: Install frontend dependencies and run tests + #uses: actions/cache@v3 + working-directory: ./frontend + with: + path: | + ~/.yarn/cache + ./node_modules + key: frontend-${{ runner.os }}-yarn-${{ hashFiles('frontend/yarn.lock') }} + restore-keys: | + frontend-${{ runner.os }}-yarn- + run: | + yarn install --frozen-lockfile + #yarn test --watchAll=false --ci + + #Check frontend linting + - name: Check frontend linting + working-directory: ./frontend + run: yarn lint + + backend-jobs: + name: Set up Java for Backend Tests and Build + runs-on: ubuntu-latest + #container: + #image: eclipse-temurin:21-jdk + + steps: + # Install Maven manually + - name: Download and extract OpenJDK 21 + run: | + download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" + wget -O $RUNNER_TEMP/java_package.tar.gz $download_url + + mkdir -p $RUNNER_TEMP/jdk-extracted + tar -xzf $RUNNER_TEMP/java_package.tar.gz -C $RUNNER_TEMP/jdk-extracted + + # Detect the inner directory name (e.g., jdk-21.0.1) + extracted_dir=$(find $RUNNER_TEMP/jdk-extracted -maxdepth 1 -type d -name "jdk*" | head -n 1) + + echo "Detected JDK directory: $extracted_dir" + echo "JAVA_HOME=$extracted_dir" >> $GITHUB_ENV + echo "$extracted_dir/bin" >> $GITHUB_PATH + + - name: Verify Java setup + run: | + ls -l $JAVA_HOME/bin/java + file $JAVA_HOME/bin/java || true + java -version + + # 4️⃣ Build and test with Maven + - name: Build with Maven + run: mvn -B verify + + # Run backend tests and build + - name: Test & build backend + working-directory: ./src + run: mvn clean verify -B + + - name: Done + run: echo "Workflow successfully completed." \ No newline at end of file From 1157f0eeeac4e1ec471a18bc882ccb1458494fc0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:41:31 +0100 Subject: [PATCH 090/102] ma jdk ch --- .gitea/workflows/jdk.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index 3b8a66b..bbff9fa 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -88,6 +88,19 @@ jobs: #image: eclipse-temurin:21-jdk steps: + - name: Setup Java 21 manually + run: | + download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" + wget -q -O /tmp/jdk.tar.gz $download_url + mkdir -p /opt/jdk + tar -xzf /tmp/jdk.tar.gz -C /opt/jdk --strip-components=1 + echo "JAVA_HOME=/opt/jdk" >> $GITHUB_ENV + echo "/opt/jdk/bin" >> $GITHUB_PATH + + - name: Verify Java setup + run: | + java -version + # Install Maven manually - name: Download and extract OpenJDK 21 run: | From 54c8949856d037fd5f560d8bbcef055b4eb8cd1b Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:46:03 +0100 Subject: [PATCH 091/102] ma jdk ch 21 --- .gitea/workflows/jdk.yaml | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index bbff9fa..cd05ff8 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -88,45 +88,25 @@ jobs: #image: eclipse-temurin:21-jdk steps: - - name: Setup Java 21 manually - run: | - download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" - wget -q -O /tmp/jdk.tar.gz $download_url - mkdir -p /opt/jdk - tar -xzf /tmp/jdk.tar.gz -C /opt/jdk --strip-components=1 - echo "JAVA_HOME=/opt/jdk" >> $GITHUB_ENV - echo "/opt/jdk/bin" >> $GITHUB_PATH + - name: Set up Java 21 (Temurin) + uses: actions/setup-java@v5 + with: + distribution: 'temurin' + java-version: '21' + cache-dependency-path: 'pom.xml' # optional + cache: 'maven' + package: 'maven' - name: Verify Java setup run: | java -version - # Install Maven manually - - name: Download and extract OpenJDK 21 - run: | - download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" - wget -O $RUNNER_TEMP/java_package.tar.gz $download_url - - mkdir -p $RUNNER_TEMP/jdk-extracted - tar -xzf $RUNNER_TEMP/java_package.tar.gz -C $RUNNER_TEMP/jdk-extracted - - # Detect the inner directory name (e.g., jdk-21.0.1) - extracted_dir=$(find $RUNNER_TEMP/jdk-extracted -maxdepth 1 -type d -name "jdk*" | head -n 1) - - echo "Detected JDK directory: $extracted_dir" - echo "JAVA_HOME=$extracted_dir" >> $GITHUB_ENV - echo "$extracted_dir/bin" >> $GITHUB_PATH - - name: Verify Java setup run: | ls -l $JAVA_HOME/bin/java file $JAVA_HOME/bin/java || true java -version - # 4️⃣ Build and test with Maven - - name: Build with Maven - run: mvn -B verify - # Run backend tests and build - name: Test & build backend working-directory: ./src From acdb5c8bfc0892a2256181e6b6d4341a31288eb6 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:48:06 +0100 Subject: [PATCH 092/102] ma jdk ch 21 --- .gitea/workflows/jdk.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index cd05ff8..c0b483b 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -88,6 +88,9 @@ jobs: #image: eclipse-temurin:21-jdk steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Set up Java 21 (Temurin) uses: actions/setup-java@v5 with: From 267be7073a5eeb27e22612f276d4a61ae1ab918e Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 15:58:25 +0100 Subject: [PATCH 093/102] ma jdk ch 21 --- .gitea/workflows/jdk.yaml | 53 +++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index c0b483b..607f0f7 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -91,14 +91,51 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Set up Java 21 (Temurin) - uses: actions/setup-java@v5 - with: - distribution: 'temurin' - java-version: '21' - cache-dependency-path: 'pom.xml' # optional - cache: 'maven' - package: 'maven' + - name: Setup Java 21 + Maven + run: | + echo "Detecting package manager..." + if command -v apt-get >/dev/null 2>&1; then + PM=apt + elif command -v apk >/dev/null 2>&1; then + PM=apk + elif command -v yum >/dev/null 2>&1; then + PM=yum + else + echo "No known package manager found. Will install JDK manually." + PM=none + fi + + echo "Package manager detected: $PM" + + if [ "$PM" = "apt" ]; then + apt-get update -y + apt-get install -y openjdk-21-jdk maven wget tar + JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 + elif [ "$PM" = "apk" ]; then + apk update + apk add openjdk21 maven wget tar + JAVA_HOME=/usr/lib/jvm/java-21-openjdk + elif [ "$PM" = "yum" ]; then + yum install -y java-21-openjdk-devel maven wget tar + JAVA_HOME=/usr/lib/jvm/java-21-openjdk + else + # Fallback: manual download + JDK_URL="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" + mkdir -p /opt/jdk + wget -q -O /tmp/jdk.tar.gz $JDK_URL + tar -xzf /tmp/jdk.tar.gz -C /opt/jdk --strip-components=1 + JAVA_HOME=/opt/jdk + fi + + # Export JAVA_HOME and update PATH for subsequent steps + echo "JAVA_HOME=$JAVA_HOME" >> $GITEA_ENV + echo "$JAVA_HOME/bin" >> $GITEA_PATH + export JAVA_HOME=$JAVA_HOME + export PATH=$JAVA_HOME/bin:$PATH + + # Verify Java and Maven installation + java -version + mvn -version - name: Verify Java setup run: | From d67df1b61881eac0a527c5169f996599a0598b0c Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 16:02:22 +0100 Subject: [PATCH 094/102] mvn clean build --- .gitea/workflows/jdk.yaml | 2 +- .gitea/workflows/test.yml | 105 ++++++++++++++++++++------------------ 2 files changed, 55 insertions(+), 52 deletions(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index 607f0f7..46618e3 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -150,7 +150,7 @@ jobs: # Run backend tests and build - name: Test & build backend working-directory: ./src - run: mvn clean verify -B + run: mvn clean build - name: Done run: echo "Workflow successfully completed." \ No newline at end of file diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 3d10d27..98e5686 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -84,70 +84,73 @@ jobs: backend-jobs: name: Set up Java for Backend Tests and Build runs-on: ubuntu-latest + #container: + #image: eclipse-temurin:21-jdk steps: - # Checkout repository first - - name: Checkout repository manually - env: - TOKEN: ${{ secrets.ACCESS_TOKEN }} - CLONE_URL: ${{ vars.CLONE_URL }} - run: | - echo "Cloning from $CLONE_URL" - echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" - CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") - git clone --quiet "$CLONE_URL_WITH_AUTH" . - echo "${{ gitea.repository }} cloned successfully." + - name: Checkout repository + uses: actions/checkout@v4 - - name: Set up Java 21 and Maven + - name: Setup Java 21 + Maven run: | - if command -v act >/dev/null 2>&1; then - echo "Detected act runner, installing OpenJDK 21 via apt-get..." - sudo apt-get update - sudo apt-get install -y openjdk-21-jdk maven + echo "Detecting package manager..." + if command -v apt-get >/dev/null 2>&1; then + PM=apt + elif command -v apk >/dev/null 2>&1; then + PM=apk + elif command -v yum >/dev/null 2>&1; then + PM=yum else - echo "Detected GitHub runner, using actions/setup-java..." + echo "No known package manager found. Will install JDK manually." + PM=none fi - shell: bash - - uses: actions/checkout@v5 - - name: Set up JDK 21 for x64 - uses: actions/setup-java@v4 - with: - java-version: '21' - distribution: 'oracle' - architecture: x64 - cache: maven - cache-dependency-path: 'pom.xml' # optional + echo "Package manager detected: $PM" - - name: Setup Java 21 (for act) - #if: ${{ runner.os == 'Linux' && env.ACT_RUNNER == 'true' }} - run: | - apt-get update -y - apt-get install -y openjdk-21-jdk + if [ "$PM" = "apt" ]; then + apt-get update -y + apt-get install -y openjdk-21-jdk maven wget tar + JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 + elif [ "$PM" = "apk" ]; then + apk update + apk add openjdk21 maven wget tar + JAVA_HOME=/usr/lib/jvm/java-21-openjdk + elif [ "$PM" = "yum" ]; then + yum install -y java-21-openjdk-devel maven wget tar + JAVA_HOME=/usr/lib/jvm/java-21-openjdk + else + # Fallback: manual download + JDK_URL="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" + mkdir -p /opt/jdk + wget -q -O /tmp/jdk.tar.gz $JDK_URL + tar -xzf /tmp/jdk.tar.gz -C /opt/jdk --strip-components=1 + JAVA_HOME=/opt/jdk + fi + + # Export JAVA_HOME and update PATH for subsequent steps + echo "JAVA_HOME=$JAVA_HOME" >> $GITEA_ENV + echo "$JAVA_HOME/bin" >> $GITEA_PATH + export JAVA_HOME=$JAVA_HOME + export PATH=$JAVA_HOME/bin:$PATH + + # Verify Java and Maven installation java -version - echo "Java 21 setup completed." + mvn -version - - name: Set up Maven - uses: stCarolas/setup-maven@v5 - with: - maven-version: 3.9.9 + - name: Verify Java setup + run: | + java -version - - name: Cache Maven dependencies - uses: actions/cache@v3 - with: - path: ~/.m2/repository - key: maven-${{ runner.os }}-${{ hashFiles('**/pom.xml') }} - restore-keys: | - maven-${{ runner.os }}- + - name: Verify Java setup + run: | + ls -l $JAVA_HOME/bin/java + file $JAVA_HOME/bin/java || true + java -version + # Run backend tests and build - name: Test & build backend working-directory: ./src - run: | - echo "Started test & build backend..." - ls . - mvn clean - echo "Backend tests and build completed successfully." - # mvn clean verify package -B + run: mvn clean - name: Done - run: echo "Workflow successfully completed." + run: echo "Workflow successfully completed." \ No newline at end of file From 17210d5da924add77f803c45ac731f73fba046c3 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 16:07:51 +0100 Subject: [PATCH 095/102] mvn clean build 2 --- .gitea/workflows/jdk.yaml | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index 46618e3..b90d037 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -88,9 +88,6 @@ jobs: #image: eclipse-temurin:21-jdk steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Setup Java 21 + Maven run: | echo "Detecting package manager..." @@ -101,7 +98,6 @@ jobs: elif command -v yum >/dev/null 2>&1; then PM=yum else - echo "No known package manager found. Will install JDK manually." PM=none fi @@ -119,7 +115,6 @@ jobs: yum install -y java-21-openjdk-devel maven wget tar JAVA_HOME=/usr/lib/jvm/java-21-openjdk else - # Fallback: manual download JDK_URL="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" mkdir -p /opt/jdk wget -q -O /tmp/jdk.tar.gz $JDK_URL @@ -127,15 +122,29 @@ jobs: JAVA_HOME=/opt/jdk fi - # Export JAVA_HOME and update PATH for subsequent steps echo "JAVA_HOME=$JAVA_HOME" >> $GITEA_ENV echo "$JAVA_HOME/bin" >> $GITEA_PATH export JAVA_HOME=$JAVA_HOME export PATH=$JAVA_HOME/bin:$PATH - # Verify Java and Maven installation + # Restore Maven cache if it exists + if [ -d "$GITEA_WORKSPACE/.m2_cache" ]; then + echo "Restoring Maven cache..." + mkdir -p ~/.m2 + cp -r $GITEA_WORKSPACE/.m2_cache/* ~/.m2/ + fi + java -version - mvn -version + mvn -version + + - name: Build project with Maven + run: | + mvn -B verify + + - name: Save Maven cache + run: | + mkdir -p $GITEA_WORKSPACE/.m2_cache + cp -r ~/.m2/* $GITEA_WORKSPACE/.m2_cache/ - name: Verify Java setup run: | From b0e822092b2226346d1661372b07c7abbab957bd Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 16:23:25 +0100 Subject: [PATCH 096/102] mvn clean build 2 --- .gitea/workflows/jdk.yaml | 2 +- src/main/resources/application.properties | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index b90d037..3939fee 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -159,7 +159,7 @@ jobs: # Run backend tests and build - name: Test & build backend working-directory: ./src - run: mvn clean build + run: mvn clean install - name: Done run: echo "Workflow successfully completed." \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index ba7942f..5145dd5 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,9 +1,10 @@ spring.application.name=cruddemo -spring.datasource.url=jdbc:mysql://localhost:3306/student_tracker -spring.datasource.username=springstudent -spring.datasource.password=springstudent +spring.datasource.url=jdbc:mysql://localhost:33070/student_tracker +spring.datasource.username=root +spring.datasource.password=password spring.jpa.hibernate.ddl-auto=update +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect #Turn off the springboot logo spring.main.banner-mode=off From d604efda37d3faadf072e9d549c825105a20cfb7 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 16:27:35 +0100 Subject: [PATCH 097/102] root dir --- .gitea/workflows/jdk.yaml | 2 +- .gitea/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index 3939fee..551c820 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -158,7 +158,7 @@ jobs: # Run backend tests and build - name: Test & build backend - working-directory: ./src + working-directory: . run: mvn clean install - name: Done diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 98e5686..ee6a64d 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -149,7 +149,7 @@ jobs: # Run backend tests and build - name: Test & build backend - working-directory: ./src + working-directory: . run: mvn clean - name: Done From 1c68fb9fedecf6dbd43b6c83f032e0ea2a3ecaa6 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 16:35:44 +0100 Subject: [PATCH 098/102] root dir --- .gitea/workflows/jdk.yaml | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index 551c820..a7f802e 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -84,10 +84,13 @@ jobs: backend-jobs: name: Set up Java for Backend Tests and Build runs-on: ubuntu-latest - #container: + #container: #image: eclipse-temurin:21-jdk steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Setup Java 21 + Maven run: | echo "Detecting package manager..." @@ -98,6 +101,7 @@ jobs: elif command -v yum >/dev/null 2>&1; then PM=yum else + echo "No known package manager found. Will install JDK manually." PM=none fi @@ -115,6 +119,7 @@ jobs: yum install -y java-21-openjdk-devel maven wget tar JAVA_HOME=/usr/lib/jvm/java-21-openjdk else + # Fallback: manual download JDK_URL="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" mkdir -p /opt/jdk wget -q -O /tmp/jdk.tar.gz $JDK_URL @@ -122,29 +127,15 @@ jobs: JAVA_HOME=/opt/jdk fi + # Export JAVA_HOME and update PATH for subsequent steps echo "JAVA_HOME=$JAVA_HOME" >> $GITEA_ENV echo "$JAVA_HOME/bin" >> $GITEA_PATH export JAVA_HOME=$JAVA_HOME export PATH=$JAVA_HOME/bin:$PATH - # Restore Maven cache if it exists - if [ -d "$GITEA_WORKSPACE/.m2_cache" ]; then - echo "Restoring Maven cache..." - mkdir -p ~/.m2 - cp -r $GITEA_WORKSPACE/.m2_cache/* ~/.m2/ - fi - + # Verify Java and Maven installation java -version - mvn -version - - - name: Build project with Maven - run: | - mvn -B verify - - - name: Save Maven cache - run: | - mkdir -p $GITEA_WORKSPACE/.m2_cache - cp -r ~/.m2/* $GITEA_WORKSPACE/.m2_cache/ + mvn -version - name: Verify Java setup run: | @@ -155,7 +146,7 @@ jobs: ls -l $JAVA_HOME/bin/java file $JAVA_HOME/bin/java || true java -version - + # Run backend tests and build - name: Test & build backend working-directory: . From 8b759a663b5bef6d6a9a4e865375304cdfb63782 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 17:03:10 +0100 Subject: [PATCH 099/102] root dir --- .gitea/workflows/jdk.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index a7f802e..5cb93d7 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -150,7 +150,7 @@ jobs: # Run backend tests and build - name: Test & build backend working-directory: . - run: mvn clean install + run: mvn clean test - name: Done run: echo "Workflow successfully completed." \ No newline at end of file From 9e740965cd8a63559015d16bcd0cacfd65891180 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 17:25:47 +0100 Subject: [PATCH 100/102] add h2 --- pom.xml | 5 +++++ src/main/resources/application-test.properties | 6 ++++++ .../cruddemo/serviceimpl/StudentServiceImplTest.java | 2 ++ 3 files changed, 13 insertions(+) create mode 100644 src/main/resources/application-test.properties diff --git a/pom.xml b/pom.xml index 1964257..f4ecbdb 100644 --- a/pom.xml +++ b/pom.xml @@ -45,6 +45,11 @@ spring-boot-starter-test test + + com.h2database + h2 + test + org.projectlombok lombok diff --git a/src/main/resources/application-test.properties b/src/main/resources/application-test.properties new file mode 100644 index 0000000..c576915 --- /dev/null +++ b/src/main/resources/application-test.properties @@ -0,0 +1,6 @@ +spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1 +spring.datasource.username=sa +spring.datasource.password= +spring.datasource.driver-class-name=org.h2.Driver +spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect diff --git a/src/test/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImplTest.java b/src/test/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImplTest.java index c32120b..d3cff93 100644 --- a/src/test/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImplTest.java +++ b/src/test/java/com/ebrains/cruddemo/serviceimpl/StudentServiceImplTest.java @@ -6,12 +6,14 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.test.context.ActiveProfiles; import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.Mockito.*; @ExtendWith(MockitoExtension.class) +@ActiveProfiles("test") // ensures application-test.properties is used public class StudentServiceImplTest { private final StudentRepository studentRepository = mock(StudentRepository.class); From 04edd6f0254ed600066c112e4fffe4f4310aef2c Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 17:27:18 +0100 Subject: [PATCH 101/102] add h2, set profile --- .gitea/workflows/jdk.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml index 5cb93d7..3912c07 100644 --- a/.gitea/workflows/jdk.yaml +++ b/.gitea/workflows/jdk.yaml @@ -150,7 +150,8 @@ jobs: # Run backend tests and build - name: Test & build backend working-directory: . - run: mvn clean test + run: #mvn clean test + mvn clean test -Dspring.profiles.active=test - name: Done run: echo "Workflow successfully completed." \ No newline at end of file From 9b4102f474cf88055a4693a045dfbf01725f40f8 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 31 Oct 2025 17:31:39 +0100 Subject: [PATCH 102/102] add frontend and backend jobs --- .gitea/workflows/demo.yaml | 79 +++--------------- .gitea/workflows/demo2.yaml | 75 ----------------- .gitea/workflows/jdk.yaml | 157 ------------------------------------ .gitea/workflows/test.yml | 3 +- 4 files changed, 15 insertions(+), 299 deletions(-) delete mode 100644 .gitea/workflows/demo2.yaml delete mode 100644 .gitea/workflows/jdk.yaml diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml index f59283d..d3f1e27 100644 --- a/.gitea/workflows/demo.yaml +++ b/.gitea/workflows/demo.yaml @@ -1,14 +1,17 @@ -name: checks +name: Gitea Actions Demo +run-name: ${{ gitea.actor }} is testing out Gitea Actions on: push: + branches: + - main pull_request: + branches: + - main jobs: - frontend-jobs: - name: Set up Node and other necessary dependencies for Frontend Tests and Build + Explore-Gitea-Actions-2: runs-on: ubuntu-latest - steps: - name: Info run: | @@ -61,68 +64,12 @@ jobs: git clone --quiet "$CLONE_URL_WITH_AUTH" . echo "${{ gitea.repository }} cloned successfully." - # Install frontend dependencies and run tests - - name: Install frontend dependencies and run tests - #uses: actions/cache@v3 - working-directory: ./frontend - with: - path: | - ~/.yarn/cache - ./node_modules - key: frontend-${{ runner.os }}-yarn-${{ hashFiles('frontend/yarn.lock') }} - restore-keys: | - frontend-${{ runner.os }}-yarn- + - name: List repo files run: | - yarn install --frozen-lockfile - #yarn test --watchAll=false --ci - - #Check frontend linting - - name: Check frontend linting - working-directory: ./frontend - run: yarn lint - - backend-jobs: - name: Set up Java for Backend Tests and Build - runs-on: ubuntu-latest - #container: - #image: eclipse-temurin:21-jdk - - steps: - # Install Maven manually - - name: Checkout code - uses: actions/checkout@v4 - - # 1️⃣ Download OpenJDK 21 (example source URL) - - name: Download OpenJDK 21 - run: | - download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" - wget -O $RUNNER_TEMP/java_package.tar.gz $download_url - - # 2️⃣ Setup Java from local JDK file - - name: Download and extract OpenJDK 21 - run: | - download_url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" - wget -O $RUNNER_TEMP/java_package.tar.gz $download_url - mkdir -p $RUNNER_TEMP/jdk - tar -xzf $RUNNER_TEMP/java_package.tar.gz -C $RUNNER_TEMP/jdk --strip-components=1 - echo "JAVA_HOME=$RUNNER_TEMP/jdk" >> $GITHUB_ENV - echo "$RUNNER_TEMP/jdk/bin" >> $GITHUB_PATH - - # 3️⃣ Verify Java installation - - name: Verify Java setup - run: | - #java -version - java - echo "JAVA_HOME=$JAVA_HOME" - - # 4️⃣ Build and test with Maven - - name: Build with Maven - run: mvn -B verify - - # Run backend tests and build - - name: Test & build backend - working-directory: ./src - run: mvn clean verify -B + ls . + node -v + npm -v + yarn -v - name: Done - run: echo "Workflow successfully completed." \ No newline at end of file + run: echo "Workflow finished." \ No newline at end of file diff --git a/.gitea/workflows/demo2.yaml b/.gitea/workflows/demo2.yaml deleted file mode 100644 index aed9ce0..0000000 --- a/.gitea/workflows/demo2.yaml +++ /dev/null @@ -1,75 +0,0 @@ -name: Gitea Actions Demo -run-name: ${{ gitea.actor }} is testing out Gitea Actions - -on: - push: - branches: - - main - pull_request: - branches: - - main - -jobs: - Explore-Gitea-Actions-2: - runs-on: ubuntu-latest - steps: - - name: Info - run: | - echo "Triggered by ${{ gitea.event_name }} event" - echo "Branch: ${{ gitea.ref }}" - echo "Repository: ${{ gitea.repository }}" - - - name: Install Node.js, npm, and Yarn (optimized) - run: | - set -e - echo "Preparing Node.js, npm, and Yarn setup..." - - if command -v apt >/dev/null 2>&1; then - echo "→ Using apt (Debian/Ubuntu)..." - export DEBIAN_FRONTEND=noninteractive - apt-get update -qq >/dev/null - apt-get install -y -qq curl ca-certificates >/dev/null - curl -fsSL https://deb.nodesource.com/setup_20.x | bash - >/dev/null 2>&1 - apt-get install -y -qq nodejs >/dev/null - npm install -g yarn --silent - - elif command -v apk >/dev/null 2>&1; then - echo "→ Using apk (Alpine)..." - apk add --no-cache curl nodejs npm >/dev/null - npm install -g yarn --silent - - elif command -v dnf >/dev/null 2>&1; then - echo "→ Using dnf (Fedora/RHEL)..." - dnf install -y -q curl ca-certificates nodejs npm >/dev/null - npm install -g yarn --silent - - else - echo "No supported package manager found (apt, apk, dnf)." - exit 1 - fi - - echo "Node.js, npm, and Yarn installed successfully:" - node -v - npm -v - yarn -v - - - name: Checkout repository manually - env: - TOKEN: ${{ secrets.ACCESS_TOKEN }} - CLONE_URL: ${{ vars.CLONE_URL }} - run: | - echo "Cloning from $CLONE_URL" - echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" - CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") - git clone --quiet "$CLONE_URL_WITH_AUTH" . - echo "${{ gitea.repository }} cloned successfully." - - - name: List repo files - run: | - ls . - node -v - npm -v - yarn -v - - - name: Done - run: echo "Workflow finished." diff --git a/.gitea/workflows/jdk.yaml b/.gitea/workflows/jdk.yaml deleted file mode 100644 index 3912c07..0000000 --- a/.gitea/workflows/jdk.yaml +++ /dev/null @@ -1,157 +0,0 @@ -name: checks - -on: - push: - pull_request: - -jobs: - frontend-jobs: - name: Set up Node and other necessary dependencies for Frontend Tests and Build - runs-on: ubuntu-latest - - steps: - - name: Info - run: | - echo "Triggered by ${{ gitea.event_name }} event" - echo "Branch: ${{ gitea.ref }}" - echo "Repository: ${{ gitea.repository }}" - - - name: Install Node.js, npm, and Yarn (optimized) - run: | - set -e - echo "Preparing Node.js, npm, and Yarn setup..." - - if command -v apt >/dev/null 2>&1; then - echo "→ Using apt (Debian/Ubuntu)..." - export DEBIAN_FRONTEND=noninteractive - apt-get update -qq >/dev/null - apt-get install -y -qq curl ca-certificates >/dev/null - curl -fsSL https://deb.nodesource.com/setup_20.x | bash - >/dev/null 2>&1 - apt-get install -y -qq nodejs >/dev/null - npm install -g yarn --silent - - elif command -v apk >/dev/null 2>&1; then - echo "→ Using apk (Alpine)..." - apk add --no-cache curl nodejs npm >/dev/null - npm install -g yarn --silent - - elif command -v dnf >/dev/null 2>&1; then - echo "→ Using dnf (Fedora/RHEL)..." - dnf install -y -q curl ca-certificates nodejs npm >/dev/null - npm install -g yarn --silent - - else - echo "No supported package manager found (apt, apk, dnf)." - exit 1 - fi - - echo "Node.js, npm, and Yarn installed successfully:" - node -v - npm -v - yarn -v - - - name: Checkout repository manually - env: - TOKEN: ${{ secrets.ACCESS_TOKEN }} - CLONE_URL: ${{ vars.CLONE_URL }} - run: | - echo "Cloning from $CLONE_URL" - echo "Cloning ALL_REPO_TOKEN $ALL_REPO_TOKEN" - CLONE_URL_WITH_AUTH=$(echo "$CLONE_URL" | sed "s#https://#https://$ALL_REPO_TOKEN@#") - git clone --quiet "$CLONE_URL_WITH_AUTH" . - echo "${{ gitea.repository }} cloned successfully." - - # Install frontend dependencies and run tests - - name: Install frontend dependencies and run tests - #uses: actions/cache@v3 - working-directory: ./frontend - with: - path: | - ~/.yarn/cache - ./node_modules - key: frontend-${{ runner.os }}-yarn-${{ hashFiles('frontend/yarn.lock') }} - restore-keys: | - frontend-${{ runner.os }}-yarn- - run: | - yarn install --frozen-lockfile - #yarn test --watchAll=false --ci - - #Check frontend linting - - name: Check frontend linting - working-directory: ./frontend - run: yarn lint - - backend-jobs: - name: Set up Java for Backend Tests and Build - runs-on: ubuntu-latest - #container: - #image: eclipse-temurin:21-jdk - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Java 21 + Maven - run: | - echo "Detecting package manager..." - if command -v apt-get >/dev/null 2>&1; then - PM=apt - elif command -v apk >/dev/null 2>&1; then - PM=apk - elif command -v yum >/dev/null 2>&1; then - PM=yum - else - echo "No known package manager found. Will install JDK manually." - PM=none - fi - - echo "Package manager detected: $PM" - - if [ "$PM" = "apt" ]; then - apt-get update -y - apt-get install -y openjdk-21-jdk maven wget tar - JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 - elif [ "$PM" = "apk" ]; then - apk update - apk add openjdk21 maven wget tar - JAVA_HOME=/usr/lib/jvm/java-21-openjdk - elif [ "$PM" = "yum" ]; then - yum install -y java-21-openjdk-devel maven wget tar - JAVA_HOME=/usr/lib/jvm/java-21-openjdk - else - # Fallback: manual download - JDK_URL="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz" - mkdir -p /opt/jdk - wget -q -O /tmp/jdk.tar.gz $JDK_URL - tar -xzf /tmp/jdk.tar.gz -C /opt/jdk --strip-components=1 - JAVA_HOME=/opt/jdk - fi - - # Export JAVA_HOME and update PATH for subsequent steps - echo "JAVA_HOME=$JAVA_HOME" >> $GITEA_ENV - echo "$JAVA_HOME/bin" >> $GITEA_PATH - export JAVA_HOME=$JAVA_HOME - export PATH=$JAVA_HOME/bin:$PATH - - # Verify Java and Maven installation - java -version - mvn -version - - - name: Verify Java setup - run: | - java -version - - - name: Verify Java setup - run: | - ls -l $JAVA_HOME/bin/java - file $JAVA_HOME/bin/java || true - java -version - - # Run backend tests and build - - name: Test & build backend - working-directory: . - run: #mvn clean test - mvn clean test -Dspring.profiles.active=test - - - name: Done - run: echo "Workflow successfully completed." \ No newline at end of file diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index ee6a64d..8fc17ec 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -150,7 +150,8 @@ jobs: # Run backend tests and build - name: Test & build backend working-directory: . - run: mvn clean + run: + mvn clean test -Dspring.profiles.active=test - name: Done run: echo "Workflow successfully completed." \ No newline at end of file