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
|
||||
ProjectName=$2
|
||||
|
||||
"..\..\oqtane.framework\oqtane.package\nuget.exe" pack %ProjectName%.nuspec -Properties targetframework=%TargetFramework%;projectname=%ProjectName%
|
||||
cp -f "*.nupkg" "..\..\oqtane.framework\Oqtane.Server\Packages\"
|
||||
# chmod +x ../../oqtane.framework/Oqtane.Package/nuget.exe
|
||||
# "../../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