Skip to content

Commit

Permalink
build: update actions
Browse files Browse the repository at this point in the history
  • Loading branch information
MiroKaku committed Nov 30, 2024
1 parent ca3f434 commit 907c020
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 132 deletions.
95 changes: 95 additions & 0 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the main branch
on:
push:
branches:
- main
tags:
- v*
pull_request:
# The branches below must be a subset of the branches above
branches:
- main

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: windows-latest

# Any commit that contains [build] will now trigger these jobs, everything else will be skipped.
# if: "contains(github.event.head_commit.message, '[build]')"

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive

- name: Setup Version
if: startsWith(github.ref, 'refs/tags/v')
shell: pwsh
run: |
if (startsWith(github.ref, 'refs/tags/v')){
$BuildVersion=${{ github.ref_name }}.Substring(1);
}
else{
$BuildVersion=${{ github.ref_name }};
}
echo "BuildVersion=$BuildVersion" >> $env:GITHUB_ENV
echo ${{env.BuildVersion}}
- name: Build Test
shell: cmd
run: |
.\Veil.Test\BuildAllTargets.cmd
- name: Build NuGet
if: startsWith(github.ref, 'refs/tags/v')
shell: pwsh
run: |
# github的内置版本有Bug,此行必须添加,否则无法获得内容
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
$releaseNotes = & git tag -l --format='%(contents)' $env:GITHUB_REF.Remove(0, 10)
$content = [System.IO.File]::ReadAllText("Veil.NuGet\Musa.Veil.nuspec")
$releaseNotesToken = '$releaseNotes$'
$releaseNotesIndex = $content.IndexOf($releaseNotesToken)
if($releaseNotesIndex -ne -1)
{
echo $content.Substring(0, $releaseNotesIndex) | out-file "Veil.NuGet\Musa.Veil-New.nuspec" -NoNewline
echo $releaseNotes | out-file "Veil.NuGet\Musa.Veil-New.nuspec" -Append
echo $content.Remove(0, $releaseNotesIndex + $releaseNotesToken.Length) | out-file "Veil.NuGet\Musa.Veil-New.nuspec" -NoNewline -Append
}
- name: Package
if: startsWith(github.ref, 'refs/tags/v')
shell: cmd
run: |
if "${{env.BuildVersion}}" NEQ "" (
NuGet pack .\Veil.NuGet\Musa.Veil-New.nuspec -Properties version=${{env.BuildVersion}};commit=%GITHUB_SHA%
)
if %ERRORLEVEL% NEQ 0 exit /B %ERRORLEVEL%
- name: Publish NuGet
if: startsWith(github.ref, 'refs/tags/v')
shell: cmd
run: |
NuGet push Musa.Veil.${{env.BuildVersion}}.nupkg -ApiKey ${{ secrets.NUGET_TOKEN }} -Source https://api.nuget.org/v3/index.json
if %ERRORLEVEL% NEQ 0 exit /B %ERRORLEVEL%
- name: Publish
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/v')
with:
files: |
*.nupkg
41 changes: 0 additions & 41 deletions .github/workflows/build.yaml

This file was deleted.

91 changes: 0 additions & 91 deletions .github/workflows/publish.yaml

This file was deleted.

0 comments on commit 907c020

Please sign in to comment.