Feat/dotenv init #103
Workflow file for this run
This file contains 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: Secure Continuous Integration | |
on: | |
pull_request_target: | |
branches: | |
- dev | |
- weekly/* | |
- Review | |
jobs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: make .env file | |
run: | | |
cd ./docker | |
cat <<EOF > .env | |
DB_USERNAME=ci_tester | |
DB_PASSWORD=plz | |
DB_ROOT_PASSWORD=never_use_in_root | |
DB_HOST_PORT=3306 | |
DB_CONTAINER_PORT=3306 | |
DB_NAME=super_poo | |
DB_CONTAINER_NAME=super_poo_container | |
EOF | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'corretto' | |
java-version: '21' | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
with: | |
gradle-version: 8.10 | |
- name: Start Docker Compose and wait for database | |
run: | | |
chmod +x ./gradlew | |
cd ./docker | |
docker compose up -d | |
# Wait for database to be ready | |
echo "Waiting for database to be ready..." | |
timeout 60s bash -c 'until docker exec -i $(docker ps -q --filter "name=super_poo") mysqladmin ping -h "127.0.0.1" --silent; do sleep 1; done' | |
- name: Install dependencies | |
run: ./gradlew build -x test | |
- name: Run Tests | |
run: ./gradlew --info test | |
- name: Publish Unit Test Results | |
uses: EnricoMi/publish-unit-test-result-action@v1 | |
if: ${{ always() }} | |
with: | |
files: build/test-results/**/*.xml | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v3 | |
if: success() || failure() | |
with: | |
report_paths: '**/build/test-results/test/TEST-*.xml' | |
- name: Package the application | |
run: ./gradlew assemble | |
- name: Cleanup | |
if: always() | |
run: | | |
cd ./docker | |
docker compose down |