-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #223 from walt-id/222-introduce-new-release-process
222 introduce new release process
- Loading branch information
Showing
7 changed files
with
157 additions
and
150 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,64 @@ | ||
name: CI/CD Workflow for walt.id SSI Kit | ||
name: Build on every push | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
push: | ||
branches: | ||
- '*' | ||
- '*/*' | ||
- '**' | ||
- '!main' | ||
|
||
jobs: | ||
verify-wrapper: | ||
name: "Verification" | ||
runs-on: "ubuntu-latest" | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v2 | ||
- name: Validate gradle wrapper | ||
uses: gradle/wrapper-validation-action@v1 | ||
|
||
gradle: | ||
needs: verify-wrapper | ||
name: "Build" | ||
strategy: | ||
matrix: | ||
# os: [ubuntu-latest, macos-latest] | ||
os: [ubuntu-latest] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v2 | ||
- name: Setup java | ||
uses: actions/[email protected] | ||
with: | ||
distribution: 'adopt-hotspot' | ||
java-version: '16' | ||
- name: Running gradle build | ||
uses: eskatos/[email protected] | ||
with: | ||
arguments: build --no-daemon --info | ||
jobs: | ||
build: | ||
name: "Build" | ||
runs-on: "ubuntu-latest" | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Calculate release version | ||
run: | | ||
echo "release_version=1.$(date +'%g%m%d%H%M').$(echo ${{ github.ref_name }} | tr / -)" >> $GITHUB_ENV | ||
- name: Set version | ||
run: | | ||
sed -i "s/1.SNAPSHOT/${{ env.release_version }}/g" build.gradle.kts src/main/kotlin/id/walt/Values.kt | ||
- run: | | ||
git tag v${{ env.release_version }} | ||
git push --tags | ||
- name: Setup java | ||
uses: actions/[email protected] | ||
with: | ||
distribution: 'adopt-hotspot' | ||
java-version: '16' | ||
- name: Setup cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | ||
restore-keys: | | ||
${{ runner.os }}-gradle- | ||
- name: Gradle wrapper validation | ||
uses: gradle/wrapper-validation-action@v1 | ||
- name: Running gradle build | ||
uses: eskatos/[email protected] | ||
env: | ||
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} | ||
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} | ||
with: | ||
arguments: build publish --no-daemon | ||
- name: Docker Build and Push SNAPSHOT | ||
uses: philpotisk/github-action-docker-build-push@master | ||
env: | ||
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}} | ||
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} | ||
DOCKER_FILE: Dockerfile | ||
CONTAINER_TAG: waltid/ssikit:latest | ||
- name: Prepare CD K8S | ||
run: sed "s/_DEFAULT_DEPLOYMENT_/$GITHUB_SHA/g" k8s/deployment-dev.yaml > k8s/deployment-dev_mod.yaml | ||
- name: Continuous deployment K8S | ||
uses: actions-hub/kubectl@master | ||
env: | ||
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} | ||
with: | ||
args: apply -n dev -f k8s/deployment-dev_mod.yaml |
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,97 +1,90 @@ | ||
name: "Release" | ||
name: Release on push to main | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
versionName: | ||
description: 'Version name (1.2.3)' | ||
required: true | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
release: | ||
name: "Release" | ||
runs-on: "ubuntu-latest" | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Calc release version | ||
run: | | ||
echo "release_version=1.$(date +'%g%m%d%k')" >> $GITHUB_ENV | ||
- name: Set version | ||
run: | | ||
sed -i "s/1.SNAPSHOT/${{ env.release_version }}/g" build.gradle.kts src/main/kotlin/id/walt/Values.kt ssikit.sh | ||
- name: Setup java | ||
uses: actions/[email protected] | ||
with: | ||
distribution: 'adopt-hotspot' | ||
java-version: '16' | ||
|
||
- name: Setup cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | ||
restore-keys: | | ||
${{ runner.os }}-gradle- | ||
- name: Gradle Wrapper Validation | ||
uses: gradle/wrapper-validation-action@v1 | ||
|
||
- name: Running gradle publish | ||
uses: eskatos/[email protected] | ||
env: | ||
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} | ||
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} | ||
with: | ||
arguments: publish --no-daemon | ||
|
||
- name: Bump version and push tag | ||
id: tag_version | ||
uses: mathieudutour/[email protected] | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
custom_tag: ${{ github.event.inputs.versionName }} | ||
|
||
- name: Update changelog | ||
uses: thomaseizinger/keep-a-changelog-new-release@v1 | ||
with: | ||
version: ${{ github.event.inputs.versionName }} | ||
|
||
- name: Commit & Push changes | ||
uses: actions-js/push@master | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
message: Automatic release commits for ${{ github.event.inputs.versionName }} | ||
branch: master | ||
|
||
- name: Docker Build and Push | ||
uses: philpotisk/github-action-docker-build-push@master | ||
env: | ||
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}} | ||
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} | ||
DOCKER_FILE: Dockerfile | ||
CONTAINER_TAG: waltid/ssikit:${{ github.event.inputs.versionName }} | ||
|
||
- name: Release | ||
uses: softprops/action-gh-release@v1 | ||
with: | ||
body_path: CHANGELOG.md | ||
tag_name: ${{ github.event.inputs.versionName }} | ||
files: | | ||
LICENSE.txt | ||
build/libs/*.jar | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Prepare CD K8S | ||
run: sed "s/_DEFAULT_DEPLOYMENT_/$GITHUB_SHA/g" k8s/deployment-prod.yaml > k8s/deployment-prod_mod.yaml | ||
- name: Continuous deployment K8S | ||
uses: actions-hub/kubectl@master | ||
env: | ||
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG_PROD }} | ||
with: | ||
args: apply -n default -f k8s/deployment-prod_mod.yaml | ||
release: | ||
name: "Release" | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Calculate release version | ||
run: | | ||
echo "release_version=1.$(date +'%g%m%d%H%M').0" >> $GITHUB_ENV | ||
- name: Set version | ||
run: | | ||
sed -i "s/1.SNAPSHOT/${{ env.release_version }}/g" build.gradle.kts src/main/kotlin/id/walt/Values.kt | ||
- run: | | ||
git tag v${{ env.release_version }} | ||
git push --tags | ||
- name: Setup cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | ||
restore-keys: | | ||
${{ runner.os }}-gradle- | ||
- name: Gradle wrapper validation | ||
uses: gradle/wrapper-validation-action@v1 | ||
- name: Running gradle build | ||
uses: eskatos/[email protected] | ||
env: | ||
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} | ||
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} | ||
with: | ||
arguments: build publish --no-daemon | ||
- name: Docker build and push | ||
uses: philpotisk/github-action-docker-build-push@master | ||
env: | ||
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}} | ||
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} | ||
DOCKER_FILE: Dockerfile | ||
CONTAINER_TAG: waltid/ssikit:latest | ||
- name: Changelog | ||
uses: ardalanamini/auto-changelog@v3 | ||
id: changelog | ||
with: | ||
github-token: ${{ github.token }} | ||
commit-types: | | ||
breaking: Breaking Changes | ||
feat: New Features | ||
fix: Bug Fixes | ||
revert: Reverts | ||
perf: Performance Improvements | ||
refactor: Refactors | ||
deps: Dependencies | ||
docs: Documentation Changes | ||
style: Code Style Changes | ||
build: Build System | ||
ci: Continuous Integration | ||
test: Tests | ||
chore: Chores | ||
other: Other Changes | ||
default-commit-type: Other Changes | ||
release-name: ${{ env.release_version }} | ||
mention-authors: true | ||
mention-new-contributors: true | ||
include-compare: true | ||
semver: true | ||
- name: Create Release | ||
uses: softprops/action-gh-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: v${{ env.release_version }} | ||
body: | | ||
${{ steps.changelog.outputs.changelog }} | ||
prerelease: ${{ steps.changelog.outputs.prerelease }} | ||
- name: Prepare CD K8S | ||
run: sed "s/_DEFAULT_DEPLOYMENT_/$GITHUB_SHA/g" k8s/deployment-prod.yaml > k8s/deployment-prod_mod.yaml | ||
- name: Continuous deployment K8S | ||
uses: actions-hub/kubectl@master | ||
env: | ||
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG_PROD }} | ||
with: | ||
args: apply -n default -f k8s/deployment-prod_mod.yaml |
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
rootProject.name = "waltid-ssi-kit" | ||
rootProject.name = "waltid-ssikit" |
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