build(2.0.0-rc10): merge main into dev #603
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
############################################################### | |
# 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, 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 | |
############################################################### | |
# This workflow builds all services and related projects, checks the formatting and if all tests are passing. | |
# If framework related code changed, all steps mentioned above will happen for framework related code as well as a check for a version update of the nuget packages will be made | |
name: Pre Checks | |
on: | |
push: | |
branches: [main, dev] | |
paths: | |
- 'src/**' | |
pull_request: | |
types: [opened, synchronize, reopened] | |
paths: | |
- 'src/**' | |
workflow_dispatch: | |
jobs: | |
changes: | |
name: Get changed paths | |
runs-on: ubuntu-latest | |
outputs: | |
framework: ${{ steps.changes.outputs.framework }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- uses: dorny/paths-filter@v3 | |
id: changes | |
with: | |
filters: | | |
framework: | |
- 'src/framework/**' | |
checkServices: | |
name: Build, check and test services | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
dotnet-version: ['8.0'] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }} | |
uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0 | |
with: | |
dotnet-version: ${{ matrix.dotnet-version }} | |
- name: Install dotnet-format | |
run: dotnet tool install -g dotnet-format | |
- name: Install dependencies | |
run: dotnet restore src | |
- name: Build | |
run: dotnet build src --configuration Release --no-restore | |
- name: Check Format | |
run: dotnet format src --verify-no-changes --no-restore | |
- name: Test | |
run: dotnet test src --filter FullyQualifiedName\!~Org.Eclipse.TractusX.Portal.Backend.EndToEnd.Tests --no-restore --verbosity normal | |
checkFramework: | |
name: Check nuget packages | |
needs: changes | |
if: ${{ needs.changes.outputs.framework == 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
fetch-depth: 0 | |
- name: Check Package Versions | |
shell: bash | |
run: | | |
script_output=$(./scripts/nuget_version_check.sh origin/${{ github.event.pull_request.base.ref }}) | |
if [ -z "$script_output" ]; then | |
echo "Expected version updates were made" | |
else | |
echo "the following packages need a version update:" | |
echo "$script_output" | |
echo "Please see https://github.com/eclipse-tractusx/portal-backend/blob/main/src/framework/README.md for further information" | |
exit 1 | |
fi |