-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: enable workflows, docker images and helm chart (#1)
* add helm chart * add dockerfiles * add workflows * change header * remove eclipse code of conduct --------- Reviewed-by: Phil Schneider <[email protected]>
- Loading branch information
Showing
164 changed files
with
3,403 additions
and
214 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 |
---|---|---|
@@ -0,0 +1,57 @@ | ||
############################################################### | ||
# Copyright (c) 2024 BMW Group AG | ||
# | ||
# 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, Version 2.0 which is available at | ||
# https://www.apache.org/licenses/LICENSE-2.0. | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||
# License for the specific language governing permissions and limitations | ||
# under the License. | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
############################################################### | ||
|
||
--- | ||
version: 2 | ||
updates: | ||
# NuGet | ||
- | ||
package-ecosystem: "nuget" | ||
directory: / | ||
labels: | ||
- "dependabot" | ||
- "dependencies" | ||
schedule: | ||
interval: "weekly" | ||
ignore: | ||
- dependency-name: "*" | ||
update-types: ["version-update:semver-major"] | ||
|
||
# Github Actions | ||
- | ||
package-ecosystem: "github-actions" | ||
directory: / | ||
labels: | ||
- "dependabot" | ||
- "github-actions" | ||
schedule: | ||
interval: "weekly" | ||
|
||
# Docker | ||
- | ||
package-ecosystem: "docker" | ||
directory: ./docker/ | ||
labels: | ||
- "dependabot" | ||
- "docker" | ||
schedule: | ||
interval: "weekly" | ||
ignore: | ||
- dependency-name: "*" | ||
update-types: ["version-update:semver-major"] |
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 |
---|---|---|
@@ -0,0 +1,22 @@ | ||
## Description | ||
|
||
Please include a summary of the change. | ||
|
||
## Why | ||
|
||
Please include an explanation of why this change is necessary as well as relevant motivation and context. List any dependencies that are required for this change. | ||
|
||
## Issue | ||
|
||
Link to Github issue. | ||
|
||
## Checklist | ||
|
||
Please delete options that are not relevant. | ||
|
||
- [ ] I have performed a self-review of my own code | ||
- [ ] I have successfully tested my changes locally | ||
- [ ] I have added tests that prove my changes work | ||
- [ ] I have checked that new and existing tests pass locally with my changes | ||
- [ ] I have commented my code, particularly in hard-to-understand areas | ||
- [ ] I have added copyright and license headers, footers (for .md files) or files (for images) |
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 |
---|---|---|
@@ -0,0 +1,86 @@ | ||
############################################################### | ||
# Copyright (c) 2024 BMW Group AG | ||
# | ||
# 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, Version 2.0 which is available at | ||
# https://www.apache.org/licenses/LICENSE-2.0. | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||
# License for the specific language governing permissions and limitations | ||
# under the License. | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
############################################################### | ||
|
||
name: Release Chart | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
paths: | ||
- 'charts/**' | ||
branches: | ||
- main | ||
|
||
jobs: | ||
release: | ||
# depending on default permission settings for your org (contents being read-only or read-write for workloads), you will have to add permissions | ||
# see: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token | ||
permissions: | ||
contents: write | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Configure Git | ||
run: | | ||
git config user.name "$GITHUB_ACTOR" | ||
git config user.email "[email protected]" | ||
- name: Install Helm | ||
uses: azure/setup-helm@b7246b12e77f7134dc2d460a3d5bad15bbe29390 # v4 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Update helm dependencies for dim | ||
run: | | ||
cd charts/dim | ||
helm repo add bitnami https://charts.bitnami.com/bitnami | ||
helm dependency update | ||
- name: Run chart-releaser | ||
uses: helm/[email protected] | ||
Check warning on line 60 in .github/workflows/chart-release.yaml GitHub Actions / Analyze[MEDIUM] Unpinned Actions Full Length Commit SHA
Check warning on line 60 in .github/workflows/chart-release.yaml GitHub Actions / Analyze[MEDIUM] Unpinned Actions Full Length Commit SHA
|
||
env: | ||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | ||
CR_SKIP_EXISTING: "true" | ||
|
||
- name: Get current helm chart version | ||
id: chart-version | ||
run: | | ||
current=$(cat ./charts/dim/Chart.yaml | grep "version:" | head -1 | cut -d ":" -d " " -f2) | ||
echo "current=$current" >> $GITHUB_OUTPUT | ||
echo "Exported $current helm chart version" | ||
- name: Check for previous version | ||
id: version-check | ||
run: | | ||
exists=$(git tag -l "v${{ steps.chart-version.outputs.current }}") | ||
if [[ -n "$exists" ]]; then | ||
echo "exists=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "exists=false" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Create and push git tag for release workflow to be triggered | ||
run: | | ||
git tag v${{ steps.chart-version.outputs.current }} | ||
git push origin v${{ steps.chart-version.outputs.current }} | ||
if: steps.version-check.outputs.exists == 'false' |
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 |
---|---|---|
@@ -0,0 +1,128 @@ | ||
############################################################### | ||
# Copyright (c) 2024 BMW Group AG | ||
# | ||
# 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, Version 2.0 which is available at | ||
# https://www.apache.org/licenses/LICENSE-2.0. | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||
# License for the specific language governing permissions and limitations | ||
# under the License. | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
############################################################### | ||
|
||
name: Lint and Test Chart | ||
|
||
on: | ||
push: | ||
paths: | ||
- 'charts/dim/**' | ||
branches: [main] | ||
pull_request: | ||
paths: | ||
- 'charts/dim/**' | ||
workflow_dispatch: | ||
inputs: | ||
node_image: | ||
description: 'kindest/node image for k8s kind cluster' | ||
# k8s version | ||
default: 'kindest/node:v1.27.3' | ||
required: false | ||
type: string | ||
upgrade_from: | ||
description: 'dim chart version to upgrade from' | ||
# tbd | ||
default: 'tbd' | ||
required: false | ||
type: string | ||
|
||
jobs: | ||
|
||
lint-test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Kubernetes KinD Cluster | ||
uses: container-tools/kind-action@0ad70e2299366b0e1552c7240f4e4567148f723e # v2.0.4 | ||
with: | ||
# upgrade version, default (v0.17.0) uses node image v1.21.1 and doesn't work with more recent node image versions | ||
version: v0.20.0 | ||
# default value for event_name != workflow_dispatch | ||
node_image: ${{ github.event.inputs.node_image || 'kindest/node:v1.27.3' }} | ||
|
||
- name: Build migration image | ||
id: build-migration-image | ||
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 | ||
with: | ||
context: . | ||
file: docker/Dockerfile-dim-migrations | ||
push: true | ||
tags: kind-registry:5000/dim-migrations:testing | ||
|
||
- name: Build service image | ||
id: build-service-image | ||
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 | ||
with: | ||
context: . | ||
file: docker/Dockerfile-dim-service | ||
push: true | ||
tags: kind-registry:5000/dim-service:testing | ||
|
||
- name: Build processes worker | ||
id: build-processes-worker-image | ||
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 | ||
with: | ||
context: . | ||
file: docker/Dockerfile-dim-processes-worker | ||
push: true | ||
tags: kind-registry:5000/dim-processes-worker:testing | ||
|
||
- name: Set up Helm | ||
uses: azure/setup-helm@b7246b12e77f7134dc2d460a3d5bad15bbe29390 # v4 | ||
with: | ||
version: v3.9.3 | ||
|
||
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 | ||
with: | ||
python-version: '3.9' | ||
check-latest: true | ||
|
||
- name: Set up chart-testing | ||
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1 | ||
|
||
- name: Run chart-testing (list-changed) | ||
id: list-changed | ||
run: | | ||
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) | ||
if [[ -n "$changed" ]]; then | ||
echo "changed=true" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Run chart-testing (lint) | ||
run: ct lint --validate-maintainers=false --check-version-increment=false --target-branch ${{ github.event.repository.default_branch }} | ||
|
||
- name: Run chart-testing (install) | ||
run: ct install --charts charts/dim --config charts/chart-testing-config.yaml --helm-extra-set-args "--set dim.image.name=kind-registry:5000/dim-service --set dim.image.tag=testing --set migrations.image.name=kind-registry:5000/dim-migrations --set migrations.image.tag=testing --set processesworker.image.name=kind-registry:5000/dim-processes-worker --set processesworker.image.tag=testing" | ||
if: github.event_name != 'pull_request' || steps.list-changed.outputs.changed == 'true' | ||
|
||
# TODO: re-add the step after the first version release | ||
# Upgrade the released chart version with the locally available chart | ||
# default value for event_name != workflow_dispatch | ||
# - name: Run helm upgrade | ||
# run: | | ||
# helm repo add bitnami https://charts.bitnami.com/bitnami | ||
# helm repo add tractusx-dev https://eclipse-tractusx.github.io/charts/dev | ||
# helm install dim tractusx-dev/dim --version ${{ github.event.inputs.upgrade_from || 'tbd' }} --namespace upgrade --create-namespace | ||
# helm dependency update charts/dim | ||
# helm upgrade dim charts/dim --set dim.image.name=kind-registry:5000/dim-service --set dim.image.tag=testing --set migrations.image.name=kind-registry:5000/dim-migrations --set migrations.image.tag=testing --set processesworker.image.name=kind-registry:5000/dim-processes-worker --set processesworker.image.tag=testing --namespace upgrade | ||
# if: github.event_name != 'pull_request' || steps.list-changed.outputs.changed == 'true' |
Oops, something went wrong.