From 0f2211f3857eec0af675720d4551317faa1cb038 Mon Sep 17 00:00:00 2001 From: Syed Abdullah <32728839+syedabdullahrahman@users.noreply.github.com> Date: Thu, 10 Oct 2024 15:34:30 +0600 Subject: [PATCH] Create maven.yml --- .github/workflows/maven.yml | 93 +++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .github/workflows/maven.yml diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000..8408917 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,93 @@ +# # This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# # This workflow uses actions that are not certified by GitHub. +# # They are provided by a third-party and are governed by +# # separate terms of service, privacy policy, and support +# # documentation. + +# name: Java CI with Maven + +# on: +# push: +# branches: [ "main" ] +# pull_request: +# branches: [ "main" ] + +# jobs: +# build: + +# runs-on: ubuntu-latest + +# steps: +# - uses: actions/checkout@v4 +# - name: Set up JDK 17 +# uses: actions/setup-java@v4 +# with: +# java-version: '17' +# distribution: 'temurin' +# cache: maven +# - name: Build with Maven +# run: mvn -B package --file pom.xml + +# # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive +# - name: Update dependency graph +# uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 + + + +name: Build and Test + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + build: + + runs-on: ubuntu-latest + + services: + mysql: + image: mysql:latest + env: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: ecommerce + MYSQL_USER: user + MYSQL_PASSWORD: password + ports: + - 3306:3306 + options: >- + --health-cmd="mysqladmin ping -h localhost" + --health-interval=10s + --health-timeout=5s + --health-retries=3 + + steps: + - name: Check out code + uses: actions/checkout@v2 + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'adopt' + + - name: Cache Maven dependencies + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + + - name: Build with Maven + run: mvn clean install + + - name: Run tests + run: mvn test +