Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Simplify process of making releases #582

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/workflows/docker-image-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Release Docker images

on:
release:
types: [published]

jobs:
release:
runs-on: ubuntu-latest
if: github.event_name == 'release' && github.event.prerelease == false

steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build JARs
run: mvn $MAVEN_CLI_OPTS package
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Knowledge Directory Docker image
uses: docker/build-push-action@v6
with:
context: ./knowledge-directory
platforms: linux/amd64, linux/arm64
tags: ghcr.io/tno/knowledge-engine/knowledge-directory:${{ github.event.release.tag_name }}
push: true
- name: Build and push Smart Connector Docker image
uses: docker/build-push-action@v6
with:
context: ./smart-connector-rest-dist
platforms: linux/amd64, linux/arm64
tags: ghcr.io/tno/knowledge-engine/smart-connector:${{ github.event.release.tag_name }}
push: true
- name: Build and push Admin UI Docker image
uses: docker/build-push-action@v6
with:
context: ./admin-ui
platforms: linux/amd64, linux/arm64
tags: ghcr.io/tno/knowledge-engine/admin-ui:${{ github.event.release.tag_name }}
push: true
41 changes: 41 additions & 0 deletions .github/workflows/draft-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Make draft release

on:
workflow_dispatch:
inputs:
version:
description: "Version for new release (X.Y.Z)"
required: true
type: string

env:
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true
MAVEN_CLI_OPTS: --batch-mode --errors --fail-at-end --show-version

jobs:
setup:
runs-on: ubuntu-latest
container:
image: maven:3.9.9-eclipse-temurin-17-focal
options: --user 1001

steps:
- uses: actions/checkout@v4
- name: Build JARs
run: mvn $MAVEN_CLI_OPTS package
- name: Create tag
run: |
git config user.email "github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
git tag -a ${{ inputs.version }} -m ${{ inputs.version }}
git push origin ${{ inputs.version }}
- name: Draft release
uses: softprops/action-gh-release@v2
with:
files: |
smart-connector-rest-dist-${{ inputs.version }}-with-dependencies.jar
knowledge-directory-${{ inputs.version }}-with-dependencies.jar
tag_name: ${{ inputs.version }}
draft: true
generate_release_notes: true
make_latest: true
Loading