Skip to content

Commit

Permalink
Merge pull request #20 from firasrg/config/2-setting-github-actions-c…
Browse files Browse the repository at this point in the history
…i-pipeline

[Configuration][DevOps] Setting a first github action script
  • Loading branch information
firasrg authored Aug 11, 2024
2 parents a0c38bc + 89c554a commit 72523e5
Show file tree
Hide file tree
Showing 6 changed files with 107 additions and 3 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/basic.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Basic Verifications

on:
push:
branches: [main, develop]

pull_request:
types: [opened, synchronize, reopened]

jobs:
basic-verifications:
name: Verify code format and run tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up JDK ${{ vars.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
java-version: ${{ vars.JAVA_VERSION }}
distribution: 'temurin'
cache: 'maven'

- name: Verify code and apply tests
run: ./mvnw verify
64 changes: 64 additions & 0 deletions .github/workflows/code-analysis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Code Analysis

on:
push:
branches: [main, develop]

pull_request:
types: [opened, synchronize, reopened]

jobs:
sonarcloud:
name: SonarCloud Analysis
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up JDK ${{ vars.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
java-version: ${{ vars.JAVA_VERSION }}
distribution: 'temurin'
cache: 'maven'

- name: Perform the scan
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: ./mvnw verify -B sonar:sonar -Dsonar.organization=${{ secrets.SONAR_ORGANIZATION }} -Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }}

code-ql:
name: CodeQL Analysis
runs-on: ubuntu-latest

permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: ['java']

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up JDK ${{ vars.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
java-version: ${{ vars.JAVA_VERSION }}
distribution: 'temurin'

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}

- name: Build with Maven
run: ./mvnw compile

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Car Service REST API sample

[![Code Analysis](https://github.com/firasrg/car-service-rest-api/actions/workflows/code-analysis.yaml/badge.svg)](https://github.com/firasrg/car-service-rest-api/actions/workflows/code-analysis.yaml)
[![java-version](https://img.shields.io/badge/Java-17-f0fc03)](https://img.shields.io/badge/Java-17-f0fc03)

[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=firasrg_car-service-rest-api&metric=bugs)](https://sonarcloud.io/summary/new_code?id=firasrg_car-service-rest-api)
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=firasrg_car-service-rest-api&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=firasrg_car-service-rest-api)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=firasrg_car-service-rest-api&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=firasrg_car-service-rest-api)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=firasrg_car-service-rest-api&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=firasrg_car-service-rest-api)

## Overview

The **Car Service REST API** 🚗🧑‍🔧 offers a comprehensive solution for managing car service systems. This developer-friendly project is designed to enhance proficiency with modern Spring applications, providing hands-on experience with real-world scenarios and best practices for backend development.
Expand Down
2 changes: 1 addition & 1 deletion configs/git-hooks/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#

# Run the Maven verify command
./mvnw verify --offline
./mvnw spotless:apply verify --offline

# Capture exit status of Maven command
RESULT=$?
Expand Down
Empty file modified mvnw
100644 → 100755
Empty file.
10 changes: 8 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<version>3.2.8</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<groupId>com.frg</groupId>
<artifactId>car-service-rest-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
Expand All @@ -29,6 +29,7 @@
</scm>
<properties>
<java.version>17</java.version>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
</properties>
<dependencies>
<dependency>
Expand Down Expand Up @@ -121,7 +122,7 @@
<id>spotless-validate</id>
<phase>validate</phase>
<goals>
<goal>apply</goal>
<goal>check</goal>
</goals>
</execution>
</executions>
Expand Down Expand Up @@ -163,6 +164,11 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>4.0.0.4121</version>
</plugin>
</plugins>
</build>
</project>

0 comments on commit 72523e5

Please sign in to comment.