Skip to content

SNAPSHOT: v1.16

SNAPSHOT: v1.16 #29

Workflow file for this run

name: build
on:
push:
branches:
- dev
- main
env:
DOCKERHUB_ORG: tech1io
DOCKERHUB_MONGODB_REPOSITORY: tech1-framework-b2b-mongodb-server
DOCKERHUB_POSTGRES_REPOSITORY: tech1-framework-b2b-postgres-server
jobs:
init:
runs-on: ubuntu-latest
outputs:
docker_tag: ${{ steps.setvars.outputs.docker_tag }}
steps:
- name: Set variables
id: setvars
run: |
if [[ "${{github.base_ref}}" == "dev" || "${{github.ref}}" == "refs/heads/dev" ]]; then
echo "docker_tag=dev" >> $GITHUB_OUTPUT
fi
if [[ "${{github.base_ref}}" == "main" || "${{github.ref}}" == "refs/heads/main" ]]; then
echo "docker_tag=prod" >> $GITHUB_OUTPUT
fi
build:
runs-on: ubuntu-latest
needs: init
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Java17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Install GPG secret key
run: |
cat <(echo -e "${{ secrets.GPG_PRIVATE_KEY }}") | gpg --batch --import
- name: Maven [dev]
if: github.ref == 'refs/heads/dev'
run: |
mvn clean install \
-Dossrh_username=${{ secrets.OSSRH_USERNAME }} -Dossrh_password=${{ secrets.OSSRH_PASSWORD }} \
-Dgpg.keyname=${{ secrets.GPG_KEYNAME }} -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} \
-s release/m2-settings.xml deploy -Prelease
- name: Maven [main]
if: github.ref == 'refs/heads/main'
run: |
mvn clean install \
-Dossrh_username=${{ secrets.OSSRH_USERNAME }} -Dossrh_password=${{ secrets.OSSRH_PASSWORD }} \
-Dgpg.keyname=${{ secrets.GPG_KEYNAME }} -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} \
-Dmaven.test.skip -DskipTests -s release/m2-settings.xml deploy -Prelease
- name: Sonar
if: github.ref == 'refs/heads/dev'
uses: sonarsource/sonarqube-scan-action@master
env:
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Docker login
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_ACCESS_TOKEN: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
run: |
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_ACCESS_TOKEN
- name: Docker [mongo]
run: |
cd $DOCKERHUB_MONGODB_REPOSITORY
docker build -t $DOCKERHUB_ORG/$DOCKERHUB_MONGODB_REPOSITORY:${{ needs.init.outputs.docker_tag }} .
docker push $DOCKERHUB_ORG/$DOCKERHUB_MONGODB_REPOSITORY:${{ needs.init.outputs.docker_tag }}
- name: Docker [postgres]
run: |
cd $DOCKERHUB_POSTGRES_REPOSITORY
docker build -t $DOCKERHUB_ORG/$DOCKERHUB_POSTGRES_REPOSITORY:${{ needs.init.outputs.docker_tag }} .
docker push $DOCKERHUB_ORG/$DOCKERHUB_POSTGRES_REPOSITORY:${{ needs.init.outputs.docker_tag }}
- name: Mails
if: always()
uses: dawidd6/action-send-mail@v3
with:
server_address: smtp.gmail.com
server_port: 465
username: ${{ secrets.SMTP_GMAIL_USERNAME }}
password: ${{ secrets.SMTP_GMAIL_PASSWORD }}
subject: '${{ job.status }}: ${{ github.repository }} » ${{ github.ref_name }}, ${{ github.job }} # ${{ github.run_number }}'
to: ${{ secrets.EMAILS_ADMINS }}
from: Tech1 Ops
html_body: |
<b>Status</b>: ${{ job.status }}<br>
<b>CommitterId</b>: ${{ github.actor }}<br>
<b>Actions</b>: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}<br>
<b>Changes</b>: https://github.com/${{ github.repository }}/commit/${{ github.sha }}<br>
<b>Committer</b>: ${{ github.event.commits[0].committer.name }}<br>
<b>Message</b>: ${{ github.event.commits[0].message }}