Merge pull request #188 from KvalitetsIT/java-dependency-updates #46
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: CICD | |
on: | |
push: | |
branches: [ main ] | |
tags: | |
- 'v*.*.*' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Set docker image names. | |
- name: Setup env variables | |
run: | | |
echo "DOCKER_SERVICE=kvalitetsit/medcom-vdx-healthcheck" >> $GITHUB_ENV | |
echo "DOCKER_DOCUMENTATION=kvalitetsit/medcom-vdx-healthcheck-documentation" >> $GITHUB_ENV | |
# Checkout source code | |
- uses: actions/checkout@v3 | |
# Fail if DOCKER_SERVICE is medcom-vdx-healthcheck and repo is not medcom-vdx-healthcheck. This step can be deleted once | |
- name: Initial build | |
run: ./build/failOnFirstBuild.sh | |
# Cache maven stuff | |
- name: Cache local Maven repository | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
# if below step is skipped this build is a tag build. Can be used for skipping other steps. | |
- name: Is Tag Build | |
id: tag | |
if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/} | |
# Login to docker hub using secrets in GitHub. | |
- name: Login to docker | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USER }} | |
password: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
- name: Build and test | |
run: ./build/build.sh | |
- name: Tag service dev docker image | |
run: ./build/docker-tag.sh ${{ env.DOCKER_SERVICE }}:latest ${{ env.DOCKER_SERVICE }}:dev | |
- name: Push service dev docker image | |
run: ./build/docker-push.sh ${{ env.DOCKER_SERVICE }}:dev | |
- name: Tag service git id docker image | |
run: ./build/docker-tag.sh ${{ env.DOCKER_SERVICE }}:latest ${{ env.DOCKER_SERVICE }}:${{ github.sha }} | |
- name: Push service git id docker image. | |
run: ./build/docker-push.sh ${{ env.DOCKER_SERVICE }}:${{ github.sha }} | |
- name: Tag documentation dev docker image | |
run: ./build/docker-tag.sh ${{ env.DOCKER_DOCUMENTATION }}:latest ${{ env.DOCKER_DOCUMENTATION }}:dev | |
- name: Push documentation dev docker image | |
run: ./build/docker-push.sh ${{ env.DOCKER_DOCUMENTATION }}:dev | |
- name: Tag documentation git id docker image | |
run: ./build/docker-tag.sh ${{ env.DOCKER_DOCUMENTATION }}:latest ${{ env.DOCKER_DOCUMENTATION }}:${{ github.sha }} | |
- name: Push documentation git id docker image. | |
run: ./build/docker-push.sh ${{ env.DOCKER_DOCUMENTATION }}:${{ github.sha }} | |
- name: Push latest service docker image | |
if: ${{ steps.tag.conclusion != 'skipped' }} | |
run: ./build/docker-push.sh ${{ env.DOCKER_SERVICE }}:latest | |
- name: Tag version service docker image | |
if: ${{ steps.tag.conclusion != 'skipped' }} | |
run: ./build/docker-tag.sh ${{ env.DOCKER_SERVICE }}:latest ${{ env.DOCKER_SERVICE }}:${{ steps.tag.outputs.VERSION }} | |
- name: Push version service docker image. | |
if: ${{ steps.tag.conclusion != 'skipped' }} | |
run: ./build/docker-push.sh ${{ env.DOCKER_SERVICE }}:${{ steps.tag.outputs.VERSION }} | |
- name: Push latest documentation docker image | |
if: ${{ steps.tag.conclusion != 'skipped' }} | |
run: ./build/docker-push.sh ${{ env.DOCKER_DOCUMENTATION }}:latest | |
- name: Tag version documentation docker image | |
if: ${{ steps.tag.conclusion != 'skipped' }} | |
run: ./build/docker-tag.sh ${{ env.DOCKER_DOCUMENTATION }}:latest ${{ env.DOCKER_DOCUMENTATION }}:${{ steps.tag.outputs.VERSION }} | |
- name: Push version documentation docker image. | |
if: ${{ steps.tag.conclusion != 'skipped' }} | |
run: ./build/docker-push.sh ${{ env.DOCKER_DOCUMENTATION }}:${{ steps.tag.outputs.VERSION }} | |
- name: Create Release Notes | |
uses: softprops/action-gh-release@v1 | |
if: ${{ steps.tag.conclusion != 'skipped' }} | |
with: | |
generate_release_notes: true |