diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b72362c..f925cf8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,74 +8,68 @@ on: types: [published] jobs: - #app-tests-analyze: - # runs-on: ubuntu-latest - # services: - # mysql: - # image: mysql:latest - # env: - # MYSQL_ROOT_PASSWORD: root - # MYSQL_DATABASE: test_database - # ports: - # - 3306:3306 - # options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 -# - # steps: - # - uses: actions/checkout@v2 -# - # - name: Cache Maven packages - # uses: actions/cache@v2 - # with: - # path: | - # ~/.m2 - # key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} - # restore-keys: | - # ${{ runner.os }}-m2 -# - # - name: Set up JDK 17 - # uses: actions/setup-java@v1 - # with: - # java-version: '17' -# - # - name: Add exec permission to mvnw - # run: chmod +x mvnw -# - # - name: Compile the application - # run: ./mvnw -B clean install -DskipTests=true -# - # - name: Start the application - # run: | - # ./mvnw spring-boot:run > logs.txt 2>&1 & - # echo $! > spring-boot-app.pid - # sleep 5 - # env: - # SPRING_DATASOURCE_URL: jdbc:mysql://localhost:3306/test_database - # SPRING_DATASOURCE_USERNAME: root - # SPRING_DATASOURCE_PASSWORD: root - # SPRING_DATASOURCE_DRIVER_CLASS_NAME: com.mysql.cj.jdbc.Driver - # SPRING_PROFILES_ACTIVE: test - # - name: Check listening ports - # run: ss -tuln - # - name: Run tests - # run: | - # ./mvnw org.jacoco:jacoco-maven-plugin:prepare-agent verify -Dspring.datasource.url=jdbc:mysql://localhost:3306/test_database -Dspring.datasource.username=root -Dspring.datasource.password=root -Dspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver - # env: - # SPRING_PROFILES_ACTIVE: test - # headless: true - # EXCLUDE_JUNIT: true - # - name: Show app logs - # if: always() - # run: | - # cat logs.txt - # - name: Shut down the application - # run: | - # kill $(cat spring-boot-app.pid) - # - name: Collect Jacoco report and send to Sonar - # run: | - # ./mvnw org.jacoco:jacoco-maven-plugin:report sonar:sonar -Dsonar.projectKey=Arquisoft_wiq_es04b -Dsonar.organization=arquisoft -Dsonar.branch.name=${{ github.head_ref || github.ref_name }} -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }} -Dspring.profiles.active=test + app-tests-analyze: + runs-on: ubuntu-latest + services: + mysql: + image: mysql:latest + env: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: test_database + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 +# steps: + - uses: actions/checkout@v2 +# - name: Cache Maven packages + uses: actions/cache@v2 + with: + path: | + ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-m2 +# - name: Set up JDK 17 + uses: actions/setup-java@v1 + with: + java-version: '17' +# - name: Add exec permission to mvnw + run: chmod +x mvnw +# - name: Compile the application + run: ./mvnw -B clean install -DskipTests=true +# - name: Start the application + run: | + ./mvnw spring-boot:run > logs.txt 2>&1 & + echo $! > spring-boot-app.pid + sleep 5 + env: + SPRING_DATASOURCE_URL: jdbc:mysql://localhost:3306/test_database + SPRING_DATASOURCE_USERNAME: root + SPRING_DATASOURCE_PASSWORD: root + SPRING_DATASOURCE_DRIVER_CLASS_NAME: com.mysql.cj.jdbc.Driver + SPRING_PROFILES_ACTIVE: test + - name: Check listening ports + run: ss -tuln + - name: Run tests + run: | + ./mvnw org.jacoco:jacoco-maven-plugin:prepare-agent verify -Dspring.datasource.url=jdbc:mysql://localhost:3306/test_database -Dspring.datasource.username=root -Dspring.datasource.password=root -Dspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + env: + SPRING_PROFILES_ACTIVE: test + headless: true + EXCLUDE_JUNIT: true + - name: Show app logs + if: always() + run: | + cat logs.txt + - name: Shut down the application + run: | + kill $(cat spring-boot-app.pid) + - name: Collect Jacoco report and send to Sonar + run: | + ./mvnw org.jacoco:jacoco-maven-plugin:report sonar:sonar -Dsonar.projectKey=Arquisoft_wiq_es04b -Dsonar.organization=arquisoft -Dsonar.branch.name=${{ github.head_ref || github.ref_name }} -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }} -Dspring.profiles.active=test build-and-push: runs-on: ubuntu-latest - #needs: app-tests-analyze + needs: app-tests-analyze steps: - uses: actions/checkout@v4