Skip to content

Commit

Permalink
feat: move to dotnet 8.0.2
Browse files Browse the repository at this point in the history
move to dotnet 8.0.2

BREAKING CHANGE: move to dotnet 8.0.2
  • Loading branch information
jvandaal committed Mar 14, 2024
1 parent 891deb5 commit 735b8fa
Show file tree
Hide file tree
Showing 40 changed files with 6,922 additions and 7,125 deletions.
8 changes: 1 addition & 7 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,8 @@
"version": 1,
"isRoot": true,
"tools": {
"fake-cli": {
"version": "5.22.0",
"commands": [
"fake"
]
},
"paket": {
"version": "7.0.2",
"version": "8.0.3",
"commands": [
"paket"
]
Expand Down
163 changes: 163 additions & 0 deletions .github/workflows/build-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
name: Build image

on:
workflow_call:
inputs:
registry:
required: true
type: string
image-file: #sr-api-backoffice.tar
required: true
type: string
image-name: #api-backoffice
required: true
type: string
test-project: #StreetNameRegistry.Tests
required: true
type: string
build-project: #StreetNameRegistry.Api.BackOffice
required: true
type: string
semver:
required: true
type: string
runtime: #linux-x64, linux-arm64
required: false
type: string
dotnet-version:
required: false
type: string

jobs:
build-image:
runs-on: ubuntu-latest

steps:
- name: Check version
shell: bash
run: echo $SEMVER
env:
SEMVER: ${{ inputs.semver }}

- name: Checkout Code
uses: actions/checkout@v4

- name: Cache Paket
uses: actions/cache@v4
env:
cache-name: cache-paket
with:
path: packages
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('paket.lock') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
- name: Parse repository name
run: echo REPOSITORY_NAME=$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}' | sed -e "s/:refs//") >> $GITHUB_ENV
shell: bash

- name: Setup .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ inputs.dotnet-version || secrets.VBR_DOTNET_VERSION }}

- name: .NET version
shell: bash
run: dotnet --info

- name: Restore dotnet tools
shell: bash
run: |
dotnet tool restore
- name: Paket restore
shell: bash
run: dotnet paket restore

- name: Dotnet restore tests
shell: bash
run: dotnet restore test/${{ inputs.test-project }} --runtime $RUNTIME
env:
RUNTIME: ${{ inputs.runtime || 'linux-x64' }}

- name: Dotnet build tests
shell: bash
run: dotnet build --no-restore --runtime $RUNTIME --self-contained test/${{ inputs.test-project }}
env:
RUNTIME: ${{ inputs.runtime || 'linux-x64' }}

- name: Run all tests
run: dotnet test test/${{ inputs.test-project }}

- name: Dotnet restore
shell: bash
run: dotnet restore src/${{ inputs.build-project }} --runtime $RUNTIME
env:
RUNTIME: ${{ inputs.runtime || 'linux-x64' }}

- name: Dotnet build
shell: bash
run: dotnet build --no-restore -c Release --runtime $RUNTIME --self-contained src/${{ inputs.build-project }} -p:Version=$VERSION -p:FileVersion=$VERSION -p:Copyright="$COPYRIGHT" -p:Company="$COMPANY" -p:Product="$PRODUCT" -p:InformationalVersion=$GIT_HASH
env:
RUNTIME: ${{ inputs.runtime || 'linux-x64' }}
VERSION: ${{ inputs.semver }}
COPYRIGHT: "Copyright \\(c\\) Vlaamse overheid"
PRODUCT: "Basisregisters Vlaanderen"
COMPANY: "Vlaamse overheid"
GIT_HASH: ${{ github.sha }}

- name: Dotnet publish
shell: bash
run: dotnet publish -o dist/${{ inputs.build-project }}/linux --no-build --no-restore --runtime $RUNTIME -p:PublishReadyToRun=true --self-contained src/${{ inputs.build-project }}
env:
RUNTIME: ${{ inputs.runtime || 'linux-x64' }}

- name: Containerize
shell: bash
run: docker build . --no-cache --tag $TAG --build-arg BUILD_NUMBER=$SEMVER
working-directory: dist/${{ inputs.build-project }}/linux
env:
TAG: ${{ inputs.registry }}/${{ inputs.image-name }}:${{ inputs.semver }}
SEMVER: ${{ inputs.semver }}

- name: Show images
shell: bash
run: docker images

- name: Save Image
if: inputs.semver != 'none'
shell: bash
run: docker image save ${{ inputs.registry }}/${{ inputs.image-name }}:$SEMVER -o ~/${{ inputs.image-file}}
env:
SEMVER: ${{ inputs.semver }}

- name: Upload image
if: inputs.semver != 'none'
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.image-name }}-${{ inputs.semver }}
path: ~/${{ inputs.image-file }}

# - name: Shows logs ACM container
# if: ${{ failure() }}
# shell: bash
# run: |
# docker logs acm

# - name: Shows logs elasticsearch container
# if: ${{ failure() }}
# shell: bash
# run: |
# docker logs elasticsearch

# - name: Shows logs db container
# if: ${{ failure() }}
# shell: bash
# run: |
# docker logs db

# - name: Shows logs minio container
# if: ${{ failure() }}
# shell: bash
# run: |
# docker logs minio
26 changes: 13 additions & 13 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,17 @@ jobs:

steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
persist-credentials: false
uses: actions/checkout@v4

# needed for Sonar, default is 11 and is decprecated
- name: Set up JDK 17
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'

- name: Cache Paket
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-paket
with:
Expand All @@ -39,9 +38,9 @@ jobs:
shell: bash

- name: Setup .NET Core
uses: actions/setup-dotnet@v2
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ secrets.VBR_DOTNET_VERSION }}
dotnet-version: ${{ vars.VBR_DOTNET_VERSION_8 }}

- name: .NET version
shell: bash
Expand All @@ -51,18 +50,19 @@ jobs:
shell: bash
run: |
dotnet tool restore
dotnet paket install
dotnet paket restore
dotnet restore
- name: Cache SonarCloud packages
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ~/sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar

- name: Cache SonarCloud scanner
id: cache-sonar-scanner
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ./.sonar/scanner
key: ${{ runner.os }}-sonar-scanner
Expand All @@ -80,14 +80,14 @@ jobs:
mkdir .sonar
mkdir .sonar/scanner
dotnet tool update dotnet-sonarscanner --tool-path ./.sonar/scanner
- name: Sonar begin build & analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.VBR_SONAR_TOKEN }}
shell: bash
run: |
./.sonar/scanner/dotnet-sonarscanner begin /k:"Informatievlaanderen_ticketing-system" /o:"informatievlaanderen" /d:sonar.login="${{ secrets.VBR_SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.dotcover.reportsPaths=dotCover.Output.html > /dev/null 2>&1
./.sonar/scanner/dotnet-sonarscanner begin /k:"Informatievlaanderen_ticketing-system" /o:"informatievlaanderen" /d:sonar.token="${{ secrets.VBR_SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.dotcover.reportsPaths=dotCover.Output.html > /dev/null 2>&1
- name: Build
shell: bash
Expand All @@ -104,4 +104,4 @@ jobs:
SONAR_TOKEN: ${{ secrets.VBR_SONAR_TOKEN }}
shell: bash
run: |
./.sonar/scanner/dotnet-sonarscanner end /d:sonar.login="${{ secrets.VBR_SONAR_TOKEN }}" > /dev/null 2>&1
./.sonar/scanner/dotnet-sonarscanner end /d:sonar.token="${{ secrets.VBR_SONAR_TOKEN }}" > /dev/null 2>&1
Loading

0 comments on commit 735b8fa

Please sign in to comment.