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: Test and create Docker image | |
on: [push, pull_request] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11' | |
cache: 'maven' | |
- name: Build with Maven | |
run: mvn --file pom.xml clean install | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Upload .jar file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: mqtt-pulsar-gateway-jar-with-dependencies.jar | |
path: target/mqtt-pulsar-gateway-jar-with-dependencies.jar | |
build-develop-docker-image: | |
needs: test | |
runs-on: ubuntu-latest | |
# Run only on develop branch | |
if: github.ref == 'refs/heads/develop' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download .jar file | |
uses: actions/download-artifact@v3 | |
with: | |
name: mqtt-pulsar-gateway-jar-with-dependencies.jar | |
path: target | |
- name: Build and publish develop Docker image | |
uses: elgohr/Publish-Docker-Github-Action@master | |
with: | |
name: hsldevcom/mqtt-pulsar-gateway | |
username: ${{ secrets.TRANSITDATA_DOCKERHUB_USER }} | |
password: ${{ secrets.TRANSITDATA_DOCKERHUB_TOKEN }} | |
tags: develop | |
build-release-docker-image: | |
needs: test | |
runs-on: ubuntu-latest | |
# Run only for tagged commits | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download .jar file | |
uses: actions/download-artifact@v3 | |
with: | |
name: mqtt-pulsar-gateway-jar-with-dependencies.jar | |
path: target | |
- name: Build and publish release Docker image | |
uses: elgohr/Publish-Docker-Github-Action@master | |
with: | |
name: hsldevcom/mqtt-pulsar-gateway | |
username: ${{ secrets.TRANSITDATA_DOCKERHUB_USER }} | |
password: ${{ secrets.TRANSITDATA_DOCKERHUB_TOKEN }} | |
tag_semver: true |