diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5f96473..1eed9e7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,15 +8,41 @@ on: jobs: release: runs-on: ubuntu-latest - if: "!contains(github.event.head_commit.message, '[ci skip]')" + if: ${{ ! contains(github.event.head_commit.message, '[ci skip]') }} steps: - uses: actions/checkout@v3 with: fetch-depth: 2 + - name: Extract data from pom.xml + id: pom-data + uses: andreacomo/maven-gav-extractor@v2 + + - name: Get Changelog Entry based on pom.xml version + id: changelog_for_pom_version + uses: mindsers/changelog-reader-action@v2 + with: + version: ${{ steps.pom-data.outputs.version }} + validation_level: error + validation_depth: 5 + + - name: check tag on version + uses: mukunku/tag-exists-action@v1.1.0 + id: tag-for-pom-version + with: + tag: OpenKIM-${{ steps.pom-data.outputs.version }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: cancel action on tag exist + if: steps.tag-for-pom-version.outputs.exists == 'true' + run: | + echo "::error::Tag for version ${{ steps.pom-data.outputs.version }} already exist." + exit 1 + - name: Set up JDK 17 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: java-version: 17 distribution: 'zulu' @@ -28,55 +54,28 @@ jobs: git config --global user.name "Release Bot" git clone https://github.com/gematik/api-telematik.git - - name: Extract release notes - id: extract-release-notes - uses: ffurrer2/extract-release-notes@v1 - - name: Build with Maven id: build_maven run: | mvn -B package --file pom.xml - VERSION=$(mvn --non-recursive help:evaluate -Dexpression=project.version -q -DforceStdout | grep -v '\[.*') - echo "::set-output name=version::$VERSION" - - - uses: mukunku/tag-exists-action@v1.1.0 - id: checkTag - with: - tag: OpenKIM-${{ steps.build_maven.outputs.version }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Publish new version - if: steps.checkTag.outputs.exists == 'false' - uses: svenstaro/upload-release-action@v2 - with: - repo_name: sberg-net/openkim - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: target/openkim-${{ steps.build_maven.outputs.version }}.jar - tag: OpenKIM-${{ steps.build_maven.outputs.version }} - overwrite: false - body: ${{ steps.extract-release-notes.outputs.release_notes }} - name: Docker meta - if: steps.checkTag.outputs.exists == 'false' id: meta - uses: docker/metadata-action@v3 + uses: docker/metadata-action@v5 with: images: | - sbergit/openkim + ${{ secrets.DOCKER_HUB_USER }}/openkim tags: | type=raw,value=latest - type=match,pattern=[0-9]+.[0-9]+.[0-9]+,value=v${{ steps.build_maven.outputs.version }} - #type=match,pattern=[0-9]+.[0-9]+,value=v${{ steps.build_maven.outputs.version }} + type=match,pattern=[0-9]+.[0-9]+.[0-9]+,value=v${{ steps.pom-data.outputs.version }} + #type=match,pattern=[0-9]+.[0-9]+,value=v${{ steps.pom-data.outputs.version }} #type=sha - name: Set up Docker Buildx - if: steps.checkTag.outputs.exists == 'false' id: buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Inspect builder - if: steps.checkTag.outputs.exists == 'false' run: | echo "Name: ${{ steps.buildx.outputs.name }}" echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}" @@ -86,15 +85,13 @@ jobs: echo "Tags: ${{ steps.meta.outputs.tags }}" - name: Login to DockerHub - if: steps.checkTag.outputs.exists == 'false' uses: docker/login-action@v3 with: - username: sbergit - password: ${{ secrets.DOCKER_HUB }} + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} - - name: Build and push - if: steps.checkTag.outputs.exists == 'false' - uses: docker/build-push-action@v2 + - name: Build and push docker images + uses: docker/build-push-action@v5 with: context: . file: docker/Dockerfile @@ -104,3 +101,12 @@ jobs: labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max + + - name: Publish new version + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: target/openkim-${{ steps.pom-data.outputs.version }}.jar + tag: OpenKIM-${{ steps.pom-data.outputs.version }} + overwrite: false + body: ${{ steps.changelog_for_pom_version.outputs.changes }} diff --git a/CHANGELOG.md b/CHANGELOG.md index ff5aa1f..fdd0565 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,16 +2,26 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] -## [0.18.2] +### Added + +### Changed + +### Fixed + +## [0.19.0] ### Added -- arm64 Docker Image +- arm64 docker image to dockerHub + +### Changed + +- refactor release action ## [0.18.1] @@ -50,54 +60,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.14.1] -### Added -``` -``` - -### Changed -``` -``` - ### Fixed -``` + - Pipeline-Operationen -``` + ## [0.14.0] ### Added -``` + - OpenKIM im Modus keine TI getestet - SMTP/POP3 - Protokoll des Gateways getestet -``` -### Changed -``` -``` - -### Fixed -``` -``` ## [0.13.1] -### Added -``` -``` - -### Changed -``` -``` - ### Fixed -``` + - Pipeline-Struktur -``` + ## [0.13.0] ### Added -``` + - Hinzufügen einer Pipeline-Struktur für die Operationen (z.b. Signieren einer Mail) - bessere Test- und Erweiterbarkeit - besseres Handling der Komplexität @@ -106,67 +92,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Testen ohne Fachdienst-Servern, mit Konnektor und mit "handelsüblichen" Mailservern -> Checken, ob die Konnektor-Kommunikation funktioniert - Testen "Fullstack" -> mit Fachdienst-Servern und Konnektor - Weitere Umbauarbeiten -``` - -### Changed -``` -``` - -### Fixed -``` -``` ## [0.12.0] ### Added -``` + - Hinzufügen einer Pipeline-Struktur für die Operationen (z.b. Signieren einer Mail) - bessere Test- und Erweiterbarkeit -``` - -### Changed -``` -``` - -### Fixed -``` -``` -## [0.11.0] - -### Added -``` -``` - -### Changed -``` -``` - -### Fixed -``` -``` ## [0.9.0] ### Added -``` + - Erstellen des Git-Repositorys - Github Actions - Dockerfile inklusive build und push zu [Dockerhub] -``` - -### Changed -``` -``` - -### Fixed -``` -``` - -[unreleased]: https://github.com/sberg-net/openkim/compare/0.12.0...HEAD -[0.12.0]: https://github.com/sberg-net/openkim/releases/tag/OpenKIM-0.12.0 -[0.11.0]: https://github.com/sberg-net/openkim/releases/tag/OpenKIM-0.11.0 -[0.10.0-dev1]: https://github.com/sberg-net/openkim/releases/tag/OpenKIM-0.10.0-dev1 -[0.9.1]: https://github.com/sberg-net/openkim/releases/tag/OpenKIM-0.9.1 -[0.9.0]: https://github.com/sberg-net/openkim/releases/tag/OpenKIM-0.9.0 -[dockerhub]: https://hub.docker.com/repository/docker/sbergit/openkim diff --git a/pom.xml b/pom.xml index dcba005..5270764 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ net.sberg openkim - 0.18.2 + 0.19.0 openkim Open KIM Client Modul