Update UI: app, client, user #16
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: Build and Release | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
tags: | |
- v*.** | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
docker-build: | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') | |
steps: | |
- uses: actions/checkout@master | |
- name: Build docker image | |
run: | | |
git_hash=$(git rev-parse --short "$GITHUB_SHA") | |
git_branch=${GITHUB_REF#refs/heads/} | |
# determine version from tag | |
export VERSION=$(echo "${GITHUB_REF}" | cut -d "/" -f3) | |
if [[ $VERSION != v* ]] | |
then | |
export VERSION="git-${git_branch}-${git_hash}" | |
echo "Building version-less (${VERSION})" | |
else | |
export VERSION=${VERSION:1:${#VERSION}} | |
echo "Building as ${VERSION}" | |
fi | |
echo "##[set-output name=version;]$VERSION" | |
docker build -t ghcr.io/fraunhofer-aisec/omejdn-ui:dev . | |
id: build_docker | |
- name: Push Docker Image | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
docker push ghcr.io/fraunhofer-aisec/omejdn-ui:dev | |
if: github.ref == 'refs/heads/main' | |
- name: Push branch docker image | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
git_branch=${GITHUB_REF#refs/heads/} | |
docker tag ghcr.io/fraunhofer-aisec/omejdn-ui:dev ghcr.io/fraunhofer-aisec/omejdn-ui:$git_branch | |
docker push ghcr.io/fraunhofer-aisec/omejdn-ui:$git_branch | |
if: (github.ref != 'refs/heads/main') && startsWith(github.ref, 'refs/heads') | |
- name: Push release docker image | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
docker tag ghcr.io/fraunhofer-aisec/omejdn-ui:dev ghcr.io/fraunhofer-aisec/omejdn-ui:${{ steps.build_docker.outputs.version }} | |
docker tag ghcr.io/fraunhofer-aisec/omejdn-ui:dev ghcr.io/fraunhofer-aisec/omejdn-ui:latest | |
docker push ghcr.io/fraunhofer-aisec/omejdn-ui:${{ steps.build_docker.outputs.version }} | |
docker push ghcr.io/fraunhofer-aisec/omejdn-ui:latest | |
if: startsWith(github.ref, 'refs/tags/v') | |
- name: "Create Release" | |
if: startsWith(github.ref, 'refs/tags/v') | |
id: create_release | |
uses: actions/create-release@latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: ${{ steps.build_docker.outputs.version }} | |
draft: false | |
prerelease: false | |
- name: "Upload Release SBOM" | |
if: startsWith(github.ref, 'refs/tags/v') | |
id: upload-release-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: bom.xml | |
asset_name: bom-${{ steps.build_docker.outputs.version }}.xml | |
asset_content_type: application/xml |