WIP: CI: Add a script to automatically build, test and release the Module. #1
50
.gitea/workflows/ci.yml
Normal file
50
.gitea/workflows/ci.yml
Normal 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
|
35
.gitea/workflows/release.yml
Normal file
35
.gitea/workflows/release.yml
Normal 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
|
@ -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\"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user