CI for RandomChat #24
This file contains hidden or 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 for RandomChat | |
| # Trigger workflow on push/pull request to main branch and manually | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| branch: | |
| description: 'Branch to deploy' | |
| required: true | |
| default: 'main' | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Step 1: Checkout code | |
| - name: Checkout repository | |
| uses: actions/checkout@v3 | |
| with: | |
| # Checkout the branch from input or default | |
| ref: ${{ github.event.inputs.branch || github.ref }} | |
| # Step 2: Set up Java (match your Spring Boot version) | |
| - name: Set up Java 21 | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| # Step 3: Cache Maven dependencies (optional, speeds up builds) | |
| - name: Cache Maven packages | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.m2/repository | |
| key: ${{ runner.os }}-maven-${{ hashFiles('/pom.xml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-maven- | |
| # Step 4: Build the Spring Boot project | |
| - name: Build with Maven | |
| run: mvn clean package -DskipTests | |
| # Step 5: Run tests | |
| - name: Run tests | |
| run: mvn test | |
| # Step 6: List the generated jar | |
| - name: List target directory | |
| run: ls -l target/ | |
| # Step 7 Trigger deployment via webhook | |
| - name: Trigger deployment via webhook | |
| env: | |
| DEPLOY_HOOK_URL: ${{ secrets.RENDER_DEPLOY_HOOK_URL }} | |
| run: | | |
| echo "Triggering deployment..." | |
| curl -X POST "$DEPLOY_HOOK_URL" | |
| echo "Deployment triggered via webhook." | |
| # Step 8: Wait a few seconds for deployment to register | |
| - name: Wait for deployment to start | |
| run: | | |
| sleep 10 | |
| echo "Deployment started! wait for 5 min and try opening https://randomchat-hfta.onrender.com" |