WIP: CI: Add a script to automatically build, test and release the Module. #1

Draft
Kocoder wants to merge 3 commits from ci into dev
3 changed files with 91 additions and 2 deletions

50
.gitea/workflows/ci.yml Normal file
View File

@ -0,0 +1,50 @@
on:
push:
branches:
- main
- ci
pull_request:
branches:
- main
- ci
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout Module
uses: https://github.com/actions/checkout@v4
with:
path: Module.EventRegistration
- name: Checkout Oqtane
uses: https://github.com/actions/checkout@v4
with:
repository: Diplomarbeit-Absolventenverein/oqtane.framework
path: oqtane.framework
ref: v6.1.1
- name: Setup Dotnet SDK
uses: https://github.com/actions/setup-dotnet@v4
with:
dotnet-version: '9.x'
# - name: Setup NuGet
# uses: https://github.com/nuget/setup-nuget@v2
# with:
# nuget-api-key: ${{ secrets.NuGetAPIKey }}
# nuget-version: '5.x'
- name: Build Oqtane
run: dotnet build ./oqtane.framework/Oqtane.sln --configuration Debug
- name: Build Module
run: dotnet build ./Module.EventRegistration/SZUAbsolventenverein.Module.EventRegistration.sln --configuration Release
- name: Test
run: dotnet test ./Module.EventRegistration/SZUAbsolventenverein.Module.EventRegistration.sln --configuration Release --no-build
- name: Create Release
uses: akkuman/gitea-release-action@v1
env:
NODE_OPTIONS: '--experimental-fetch' # if nodejs < 18
with:
body: "Test-release"
draft: true
files: |-
./**/*.nupkg
./*.nupkg

View File

@ -0,0 +1,35 @@
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
release:
types:
- published
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
- name: Verify commit exists in origin/main
run: |
git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/*
git branch --remote --contains | grep origin/main
- name: Set VERSION variable from tag
run: echo "VERSION=${GITEA_REF/refs\/tags\/v/}" >> $GITEA_ENV
- name: Setup Dotnet SDK
uses: https://github.com/actions/setup-dotnet@v4
- name: Build
run: dotnet build --configuration Release /p:Version=${VERSION}
- name: Test
run: dotnet test --configuration Release /p:Version=${VERSION} --no-build
- name: Pack
run: dotnet pack --configuration Release /p:Version=${VERSION} --no-build --output .
- uses: https://github.com/actions/upload-artifact@v4
with:
name: nuget
if-no-files-found: error
retention-days: 7
path: ./*.nupkg

View File

@ -1,5 +1,9 @@
TargetFramework=$1 TargetFramework=$1
ProjectName=$2 ProjectName=$2
"..\..\oqtane.framework\oqtane.package\nuget.exe" pack %ProjectName%.nuspec -Properties targetframework=%TargetFramework%;projectname=%ProjectName% # chmod +x ../../oqtane.framework/Oqtane.Package/nuget.exe
cp -f "*.nupkg" "..\..\oqtane.framework\Oqtane.Server\Packages\" # "../../oqtane.framework/Oqtane.Package/nuget.exe" pack %ProjectName%.nuspec -Properties targetframework=%TargetFramework%;projectname=%ProjectName%
# https://learn.microsoft.com/en-us/nuget/reference/dotnet-commands
dotnet pack SZUAbsolventenverein.Module.EventRegistration.Package.csproj --no-build
#cp -f "*.nupkg" "..\..\oqtane.framework\Oqtane.Server\Packages\"