Skip to content

Create Draft Release #8

Create Draft Release

Create Draft Release #8

# /********************************************************************************
# * Copyright (c) 2024 Contributors to the Eclipse Foundation
# *
# * See the NOTICE file(s) distributed with this work for additional
# * information regarding copyright ownership.
# *
# * This program and the accompanying materials are made available under the
# * terms of the Apache License 2.0 which is available at
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * SPDX-License-Identifier: Apache-2.0
# ********************************************************************************/
name: Create Draft Release
on:
workflow_dispatch: # input version manually. Overrides push tag
inputs:
tag:
description: "Release version, eg:latest, 0.2.1"
required: true
default: "0.0.0"
# As of today trigger only manually
#push:
# tags:
# - "*.*.*"
# Needed if GITHUB_TOKEN by default do not have right to create release
permissions:
contents: write
packages: write
jobs:
get_version:
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
version: ${{ steps.eval_version.outputs.version }}
steps:
- name: Get tag or user release version
id: eval_version
run: |
GIT_VER="${GITHUB_REF/refs\/tags\//}"
echo "### Detected tag: $GIT_VER"
if [ -n "${{ github.event.inputs.tag }}" ]; then
GIT_VER="${{ github.event.inputs.tag }}"
echo "Forced release version: $GIT_VER"
echo "version=${GIT_VER}" >> $GITHUB_OUTPUT
else
echo "version=${GIT_VER}" >> $GITHUB_OUTPUT
fi
call_kuksa_databroker_build:
uses: ./.github/workflows/kuksa_databroker_build.yml
secrets:
QUAY_IO_TOKEN: ${{ secrets.QUAY_IO_TOKEN }}
QUAY_IO_USERNAME: ${{ secrets.QUAY_IO_USERNAME }}
call_kuksa_databroker-cli_build:
uses: ./.github/workflows/kuksa_databroker-cli_build.yml
secrets:
QUAY_IO_TOKEN: ${{ secrets.QUAY_IO_TOKEN }}
QUAY_IO_USERNAME: ${{ secrets.QUAY_IO_USERNAME }}
create_release:
runs-on: ubuntu-latest
needs:
[
get_version,
call_kuksa_databroker_build,
call_kuksa_databroker-cli_build,
]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: build-artifacts
# Only packed binaries shall start with "databroker"
# As of now do not upload separate dash and third party reports
pattern: databroker*
merge-multiple: true
- name: Display structure of downloaded files
run: |
ls -R build-artifacts
cd build-artifacts
# Rename, add release name (usually tag)
for f in databroker*.tar.gz; do mv "$f" "$(echo "$f" | sed s/.tar.gz/-${{ needs.get_version.outputs.version }}.tar.gz/)"; done
- name: Create release
id: create_release
uses: softprops/action-gh-release@v2
# if: startsWith(github.ref, 'refs/tags/'
with:
draft: true
tag_name: KUKSA Databroker ${{ needs.get_version.outputs.version }}
fail_on_unmatched_files: true
files: |
build-artifacts/*
LICENSE
NOTICE.md