test #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI/CD Pipeline | |
on: | |
#Manually trigger workflow runs | |
workflow_dispatch: | |
#Trigger the workflow on push from the main branch | |
push: | |
branches: | |
- main | |
jobs: | |
#Test's job | |
tests: | |
name: Unit tests | |
#Run on Ubuntu using the latest version | |
runs-on: ubuntu-latest | |
#Job's steps | |
steps: | |
#Check-out your repository under $GITHUB_WORKSPACE, so your workflow can access it | |
- uses: actions/checkout@v1 | |
#Set up JDK 17 | |
- name: Set up JDK | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '17' | |
#Set up Maven cache | |
- name: Cache Maven packages | |
#This action allows caching dependencies and build outputs to improve workflow execution time. | |
uses: actions/cache@v1 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-m2 | |
#Run Tests | |
- name: Run Tests | |
run: mvn -B test | |
#Build's job | |
build: | |
#Depends on sonar's job | |
needs: tests | |
name: Build | |
#Run on Ubuntu using the latest version | |
runs-on: ubuntu-latest | |
steps: | |
#Check-out your repository under $GITHUB_WORKSPACE, so your workflow can access it | |
- uses: actions/checkout@v1 | |
#Set up JDK 17 | |
- name: Set up JDK | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '17' | |
#Set up Maven cache | |
- name: Cache Maven packages | |
#This action allows caching dependencies and build outputs to improve workflow execution time. | |
uses: actions/cache@v1 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-m2 | |
#Build the application using Maven | |
- name: Build with Maven | |
run: mvn -B package -DskipTests --file pom.xml | |
#Build the application using Maven | |
- name: Upload JAR | |
#This uploads artifacts from your workflow allowing you to share data between jobs and store data once a workflow is complete. | |
uses: actions/upload-artifact@v2 | |
with: | |
#Set artifact name | |
name: setups-service | |
#From this path | |
path: setups-service/target/setups-service-1.0.0.jar |