Skip to content

Refactored workflow yaml file #33

Refactored workflow yaml file

Refactored workflow yaml file #33

Workflow file for this run

name: CI
on:
push:
branches:
- main
- test-ci-cd-workflow
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '17'
- name: Install Maven
run: sudo apt-get install -y maven
- name: Install dependencies
run: mvn install -DskipTests
- name: Set up Chromedriver
run: |
sudo apt-get install -y wget unzip
wget https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/local/bin/
sudo chmod +x /usr/local/bin/chromedriver
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: mhk1/acebook_penguins:latest
- name: Run Docker container
run: |
docker run -d --name acebook_penguins -p 5432:5432 -p 8080:8080 mhk1/acebook_penguins:latest
sleep 30
- name: Run unit tests
run: mvn test -Dtest=PostTest
- name: Health check
run: |
echo "Waiting for the application to start..."
sleep 30
curl -f http://localhost:8080 || exit 1
- name: Stop Docker container
run: docker stop acebook_penguins
- name: Remove Docker container
run: docker rm acebook_penguins