Skip to content
Merged
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
5 changes: 0 additions & 5 deletions .dockerignore

This file was deleted.

18 changes: 18 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: CI

on:
push:
tags:
- v*
branches:
- master
- main
pull_request:

permissions:
contents: write

jobs:
build_validate_test:
uses: openmcp-project/build/.github/workflows/ci.lib.yaml@main
secrets: inherit
100 changes: 5 additions & 95 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -1,105 +1,15 @@
name: publish
name: Publish

on:
push:
tags:
- v*
workflow_dispatch:


permissions:
packages: write

env:
OCI_URL: ghcr.io/openmcp-project

jobs:
release_tag:
name: Release version
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.PUSH_KEY }}
fetch-tags: true
fetch-depth: 0

- name: Read and validate VERSION
id: version
run: |
VERSION=$(cat VERSION)
if [[ ! "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-dev)?$ ]]; then
echo "Invalid version format in VERSION file: $VERSION"
exit 1
fi
echo "New version: $VERSION"
echo "version=$VERSION" >> $GITHUB_ENV

- name: Skip release if version is a dev version
if: contains(env.version, '-dev')
run: |
echo "Skipping development version release: ${{ env.version }}"
echo "SKIP=true" >> $GITHUB_ENV
exit 0

- name: Set up Docker
uses: docker/setup-docker-action@v4
with:
daemon-config: |
{
"features": {
"containerd-snapshotter": true
}
}

- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Set up Docker Context for Buildx
id: buildx-context
run: |
docker context create builders

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Docker Buildx
timeout-minutes: 5
uses: docker/setup-buildx-action@v2
with:
version: latest

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Build the ${{ github.repository }}
run: |
make reviewable
make build-docker-binary

- name: Build and push Images
run: |
IMG=ghcr.io/openmcp-project/metrics-operator:${{ env.version }} make docker-buildx docker-push

- name: Package and push helm chart
run: |
make helm-package helm-push

- name: setup OCM
uses: open-component-model/ocm-setup-action@main

- name: Create OCM CTF
run: |
ocm add componentversions --create \
--file ctf component-constructor.yaml \
--settings settings.yaml -- VERSION=${{ env.version }}

- name: Push CTF
run: |
ocm transfer ctf --overwrite ./ctf ${{ env.OCI_URL }}
release_publish:
uses: openmcp-project/build/.github/workflows/publish.lib.yaml@main
secrets: inherit
113 changes: 2 additions & 111 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,114 +11,5 @@ permissions:

jobs:
release_tag:
name: Release version
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.PUSH_KEY }}
fetch-tags: true
fetch-depth: 0

- name: Read and validate VERSION
id: version
run: |
VERSION=$(cat VERSION)
if [[ ! "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-dev)?$ ]]; then
echo "Invalid version format in VERSION file: $VERSION"
exit 1
fi
echo "New version: $VERSION"
echo "version=$VERSION" >> $GITHUB_ENV

- name: Skip release if version is a dev version
if: contains(env.version, '-dev')
run: |
echo "Skipping development version release: ${{ env.version }}"
echo "SKIP=true" >> $GITHUB_ENV
exit 0

- name: Check if VERSION is already tagged
id: check_tag
run: |
if git rev-parse "refs/tags/${{ env.version }}" >/dev/null 2>&1; then
echo "Tag ${{ env.version }} already exists. Skipping release."
echo "SKIP=true" >> $GITHUB_ENV
exit 0
fi
echo "Tag ${{ env.version }} doesn't exists. Proceeding with release."

- name: Create Git tag
if: ${{ env.SKIP != 'true' }}
run: |
AUTHOR_NAME=$(git log -1 --pretty=format:'%an')
AUTHOR_EMAIL=$(git log -1 --pretty=format:'%ae')
echo "Tagging as $AUTHOR_NAME <$AUTHOR_EMAIL>"

echo "AUTHOR_NAME=$AUTHOR_NAME" >> $GITHUB_ENV
echo "AUTHOR_EMAIL=$AUTHOR_EMAIL" >> $GITHUB_ENV

git config user.name "$AUTHOR_NAME"
git config user.email "$AUTHOR_EMAIL"

git tag -a "${{ env.version }}" -m "Release ${{ env.version }}"
git push origin "${{ env.version }}"

- name: Build Changelog
id: github_release

uses: mikepenz/release-changelog-builder-action@v5
with:
mode: "PR"
configurationJson: |
{
"template": "#{{CHANGELOG}}",
"pr_template": "- #{{TITLE}}: ##{{NUMBER}}",
"categories": [
{
"title": "## Feature",
"labels": ["feat", "feature"]
},
{
"title": "## Fix",
"labels": ["fix", "bug"]
},
{
"title": "## Other",
"labels": []
}
],
"label_extractor": [
{
"pattern": "^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test){1}(\\([\\w\\-\\.]+\\))?(!)?: ([\\w ])+([\\s\\S]*)",
"on_property": "title",
"target": "$1"
}
]
}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create GitHub release
if: ${{ env.SKIP != 'true' }}
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.version }}
name: Release ${{ env.version }}
body: ${{steps.github_release.outputs.changelog}}
draft: true
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Push dev VERSION
if: ${{ env.SKIP != 'true' }}
run: |
echo "${{ env.version }}-dev" > VERSION
make helm-chart
git config user.name "${{ env.AUTHOR_NAME }}"
git config user.email "${{ env.AUTHOR_EMAIL }}"
git add VERSION charts/metrics-operator/Chart.yaml charts/metrics-operator/values.yaml
git commit -m "chore: update VERSION to ${{ env.version }}-dev"
git push origin main
uses: openmcp-project/build/.github/workflows/release.lib.yaml@main
secrets: inherit
19 changes: 0 additions & 19 deletions .github/workflows/reuse-scan.yaml

This file was deleted.

11 changes: 11 additions & 0 deletions .github/workflows/reuse.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: REUSE Compliance Check

on: [push, pull_request]

permissions:
contents: read

jobs:
run_reuse:
uses: openmcp-project/build/.github/workflows/reuse.lib.yaml@main
secrets: inherit
53 changes: 0 additions & 53 deletions .github/workflows/reviewable.yaml

This file was deleted.

15 changes: 15 additions & 0 deletions .github/workflows/validate-pr-content.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Validate Pull Request Content

on:
pull_request:
types:
- opened
- edited

permissions:
contents: read

jobs:
validate_pr_content:
uses: openmcp-project/build/.github/workflows/validate-pr-content.lib.yaml@main
secrets: inherit
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "hack/common"]
path = hack/common
url = https://github.com/openmcp-project/build
Loading
Loading