Skip to content

feat: ---

feat: --- #11

Workflow file for this run

name: CI for main
on:
pull_request:
branches: [ main ]
env:
RDS_ENDPOINT: ${{ secrets.RDS_ENDPOINT }}
RDS_PORT: ${{ secrets.RDS_PORT }}
RDS_USERNAME: ${{ secrets.MYSQL_DB_USERNAME }}
RDS_PASSWORD: ${{ secrets.MYSQL_DB_PASSWORD }}
RDS_DB_NAME: ${{ secrets.MYSQL_DB_NAME }}
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Clean and reinitialize workspace
run: |
rm -rf ./*
git checkout HEAD -- .
git clean -fdx
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'corretto'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Verify application-ci.yml exists
run: |
echo "Checking for application-ci.yml..."
if [ -f "src/main/resources/application-ci.yml" ]; then
echo "application-ci.yml FOUND."
else
echo "ERROR: application-ci.yml NOT FOUND."
exit 1
fi
- name: Check RDS Secrets Availability
run: |
if [ -z "${{ secrets.RDS_ENDPOINT }}" ]; then echo "Error: RDS_ENDPOINT is not set"; else echo "RDS_ENDPOINT is set"; fi
if [ -z "${{ secrets.MYSQL_DB_USERNAME }}" ]; then echo "Error: MYSQL_DB_USERNAME is not set"; else echo "RDS_USERNAME is set"; fi
if [ -z "${{ secrets.MYSQL_DB_PASSWORD }}" ]; then echo "Error: MYSQL_DB_PASSWORD is not set"; else echo "RDS_PASSWORD is set"; fi
if [ -z "${{ secrets.MYSQL_DB_NAME }}" ]; then echo "Error: MYSQL_DB_NAME is not set"; else echo "RDS_DB_NAME is set"; fi
- name: Build and Test with Gradle
env:
SPRING_PROFILES_ACTIVE: ci
MYSQL_DB_USERNAME: ${{ secrets.MYSQL_DB_USERNAME }}
MYSQL_DB_PASSWORD: ${{ secrets.MYSQL_DB_PASSWORD }}
MYSQL_DB_NAME: ${{ secrets.MYSQL_DB_NAME }}
MYSQL_DB_PORT: ${{ secrets.RDS_PORT }}
MYSQL_DB_HOST: ${{ secrets.RDS_ENDPOINT }}
run: |
./gradlew clean build --info
- name: Upload Test Report Artifact
if: failure()
uses: actions/upload-artifact@v4
with:
name: test-report
path: build/reports/tests/test/
retention-days: 7