Skip to content

Merge pull request #157 from ptkis/adminsdk-key #86

Merge pull request #157 from ptkis/adminsdk-key

Merge pull request #157 from ptkis/adminsdk-key #86

Workflow file for this run

# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
name: Publish and Deploy with Docker
on:
push:
branches: [ main, master ]
concurrency:
group: ${{ github.workflow }}-${{ github.actor }}
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 120
permissions:
checks: write
contents: read
issues: read
pull-requests: write
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin
- name: Install docker
run: |
command docker -v || curl -fsSL get.docker.com | sudo bash
- name: Remove Rabbit MQ
run: docker rm -f rabbitmq || true
- name: Start Rabbit MQ
run: docker run -d --name=rabbitmq -p 5672:5672 -e RABBITMQ_NODE_PORT=5672 ptkis/rabbitmq-federated:10-mining-amd64
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- run: echo "$APPLICATION_SECRET_PROPERTIES" > src/test/resources/application-secret.properties
env:
APPLICATION_SECRET_PROPERTIES: ${{ secrets.APPLICATION_SECRET_PROPERTIES }}
- name: Get FIREBASE_JSON from secrets
run: |
echo $FIREBASE_JSON > src/main/resources/banyuwangi-dashboard-firebase-adminsdk.json
env:
FIREBASE_JSON: ${{ secrets.FIREBASE_JSON }}
- name: Test and assemble with Gradle
run: ./gradlew assemble
env:
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: chmod +x deploy.sh
- name: Deploy to docker
run: ./deploy.sh
env:
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
with:
report_paths: '**/build/test-results/test/TEST-*.xml'
if: always()
- name: Remove application-secret.properties
run: rm -f src/test/resources/application-secret.properties || true
if: always()
- name: Remove Rabbit MQ
run: docker rm -f --volumes rabbitmq || true
if: always()
- name: Upload openapi artifacts
uses: actions/upload-artifact@v2
with:
name: openapi
path: build/openapi.json