Skip to content

refactor: Refactor main system to start writing tests #585

refactor: Refactor main system to start writing tests

refactor: Refactor main system to start writing tests #585

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 : Java CI with Gradle
on :
push :
branches : [ master, next, staging ]
pull_request :
branches : [ master, next, staging ]
jobs :
build :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
- name : Set up JDK 11
uses : actions/setup-java@v3
with :
java-version : 17
distribution : 'temurin'
- name : Setup Node.js environment
uses : actions/setup-node@v3
with :
node-version : 18
- name : Run Npm CI
run : npm ci
- name : Grant execute permission for update-since-tags
run : chmod +x ./scripts/update-since-tags.sh
- name : Validate Gradle wrapper
uses : gradle/wrapper-validation-action@ccb4328a959376b642e027874838f60f8e596de3
- name : Build with Gradle
uses : gradle/gradle-build-action@749f47bda3e44aa060e82d7b3ef7e40d953bd629
with :
arguments : assemble
- name : Deploy with Semantic Release
run : npm run release
env :
GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
- name : Set up Docker Buildx
uses : docker/setup-buildx-action@v2
- name : Login to Docker Hub
uses : docker/login-action@v2
with :
username : ${{ secrets.DOCKERHUB_USERNAME }}
password : ${{ secrets.DOCKERHUB_TOKEN }}
- name : Build Docker Image
uses : gradle/gradle-build-action@749f47bda3e44aa060e82d7b3ef7e40d953bd629
with :
arguments : :app:bootBuildImage
- name : Get Version
run : |
echo "VERSION=$(grep -E 'version\s*=\s*([a-zA-Z0-9\-\.]+)' ./gradle.properties | cut -d ' ' -f3)" >> $GITHUB_ENV
- name : Docker Push
run : |
docker tag babblebot-server:${{ env.VERSION }} ${{ secrets.DOCKERHUB_USERNAME }}/server:${{ env.VERSION }}
docker push ${{ secrets.DOCKERHUB_USERNAME }}/server:${{ env.VERSION }}
- name : Docker Push Latest
if : github.ref == 'refs/heads/dev'
run : |
docker tag ${{ secrets.DOCKERHUB_USERNAME }}/server:${{ env.VERSION }} ${{ secrets.DOCKERHUB_USERNAME }}/server:latest
docker push ${{ secrets.DOCKERHUB_USERNAME }}/server:latest