add github action
This commit is contained in:
parent
4fccef5bf9
commit
231b91aa46
4
.github/labeler.yml
vendored
Normal file
4
.github/labeler.yml
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# Configuration for labeler - https://github.com/actions/labeler
|
||||
|
||||
🛠 Improvement: FastGithub/**/*
|
||||
Actions: .github/workflows/**/*
|
||||
43
.github/release-drafter.yml
vendored
Normal file
43
.github/release-drafter.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
name-template: "v$RESOLVED_VERSION 🌈"
|
||||
tag-template: "v$RESOLVED_VERSION"
|
||||
categories:
|
||||
- title: "💥 Breaking Changes"
|
||||
label: "💥 Breaking Change"
|
||||
|
||||
- title: "🌟 New Features"
|
||||
label: "🌟 New Feature"
|
||||
|
||||
- title: "⭐ Features"
|
||||
label: "⭐ Feature"
|
||||
|
||||
- title: "🐞 Bug Fixes"
|
||||
label: "🐞 Bug Fix"
|
||||
|
||||
- title: "🛠 Improvements"
|
||||
label: "🛠 Improvement"
|
||||
|
||||
- title: "🌀 External Changes"
|
||||
label: "🔌 3rd Party Plugin"
|
||||
|
||||
- title: "📖 Documentation"
|
||||
label: "📖 Docs"
|
||||
|
||||
- title: "🌍 Localization"
|
||||
label: "🌍 i18n"
|
||||
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
|
||||
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
|
||||
version-resolver:
|
||||
major:
|
||||
labels:
|
||||
- "major"
|
||||
minor:
|
||||
labels:
|
||||
- "minor"
|
||||
patch:
|
||||
labels:
|
||||
- "patch"
|
||||
default: patch
|
||||
template: |
|
||||
## Changes
|
||||
|
||||
$CHANGES
|
||||
11
.github/workflows/labeler.yml
vendored
Normal file
11
.github/workflows/labeler.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
name: "Pull Request Labeler"
|
||||
on:
|
||||
- pull_request_target
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@v3
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
39
.github/workflows/main.yml
vendored
Normal file
39
.github/workflows/main.yml
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
name: Amazing Favorites build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
- feature/ci
|
||||
- feature/ut
|
||||
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: "6.0.x"
|
||||
include-prerelease: true
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd .
|
||||
dotnet restore
|
||||
- name: build and test
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
|
||||
run: |
|
||||
dotnet build . --configuration Release
|
||||
29
.github/workflows/release-drafter.yml
vendored
Normal file
29
.github/workflows/release-drafter.yml
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
name: Release Drafter
|
||||
|
||||
on:
|
||||
push:
|
||||
# branches to consider in the event; optional, defaults to all
|
||||
branches:
|
||||
- master
|
||||
# pull_request event is required only for autolabeler
|
||||
pull_request:
|
||||
# Only following types are handled by the action, but one can default to all as well
|
||||
types: [opened, reopened, synchronize]
|
||||
|
||||
jobs:
|
||||
update_release_draft:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# (Optional) GitHub Enterprise requires GHE_HOST variable set
|
||||
#- name: Set GHE_HOST
|
||||
# run: |
|
||||
# echo "GHE_HOST=${GITHUB_SERVER_URL##https:\/\/}" >> $GITHUB_ENV
|
||||
|
||||
# Drafts your next Release notes as Pull Requests are merged into "master"
|
||||
- uses: release-drafter/release-drafter@v5
|
||||
# (Optional) specify config name to use, relative to .github/. Default: release-drafter.yml
|
||||
# with:
|
||||
# config-name: my-config.yml
|
||||
# disable-autolabeler: true
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
65
.github/workflows/release.yml
vendored
Normal file
65
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
os: [win-x64, linux-x64, osx-x64]
|
||||
env:
|
||||
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup .NET 3.0 for gitreleasemanager
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 3.0.x
|
||||
- name: Setup .NET 6.0
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: "6.0.x"
|
||||
include-prerelease: true
|
||||
- name: Setup .NET 5.0 for Release Manager
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: "5.0.x"
|
||||
- name: Install GitVersion
|
||||
uses: gittools/actions/gitversion/setup@v0.9.9
|
||||
with:
|
||||
versionSpec: 5.x
|
||||
- name: Determine Version
|
||||
id: gitversion
|
||||
uses: gittools/actions/gitversion/execute@v0.9.9
|
||||
with:
|
||||
useConfigFile: true
|
||||
- name: Restore dependencies
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/src
|
||||
dotnet restore
|
||||
- name: Build
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/src
|
||||
dotnet publish FastGithub -c Release -f net6.0 /p:PublishSingleFile=true /p:PublishTrimmed=true -r ${{ matrix.os }} /p:PublishTrimmed=true -p:AssemblyVersion=${{ steps.gitversion.outputs.MajorMinorPatch }} -p:Version=${{ steps.gitversion.outputs.SemVer }} -o ./out/${{ matrix.os }}
|
||||
mv out/${{ matrix.os }} FastGithub-${{ matrix.os }}-${{ steps.gitversion.outputs.MajorMinorPatch }}
|
||||
zip -r FastGithub-${{ matrix.os }}-${{ steps.gitversion.outputs.MajorMinorPatch }}.zip FastGithub-${{ matrix.os }}-${{ steps.gitversion.outputs.MajorMinorPatch }}
|
||||
- uses: gittools/actions/gitreleasemanager/setup@v0.9.2
|
||||
name: Install GitReleaseManager
|
||||
with:
|
||||
versionSpec: "0.11.x"
|
||||
|
||||
- uses: gittools/actions/gitreleasemanager/addasset@v0.9.2
|
||||
name: Add asset to a release with GitReleaseManager
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
owner: "newbe36524"
|
||||
repository: "FastGithub"
|
||||
tagName: "v${{ steps.gitversion.outputs.MajorMinorPatch }}"
|
||||
assets: |
|
||||
src/FastGithub-${{ matrix.os }}-${{ steps.gitversion.outputs.MajorMinorPatch }}.zip
|
||||
3
GitVersion.yml
Normal file
3
GitVersion.yml
Normal file
@ -0,0 +1,3 @@
|
||||
major-version-bump-message: "(breaking|major):"
|
||||
minor-version-bump-message: "(feature|minor):"
|
||||
patch-version-bump-message: "(fix|patch):"
|
||||
Loading…
Reference in New Issue
Block a user