项目作者: InsonusK

项目描述 :
GitHub Workflow release Template
高级语言: C#
项目地址: git://github.com/InsonusK/GitHubReleaseTemplate.git
创建时间: 2020-08-13T10:13:32Z
项目社区:https://github.com/InsonusK/GitHubReleaseTemplate

开源协议:Apache License 2.0

下载


GitHubReleaseTemplate

GitHub Workflow release Template

Template of github workflow with package deploying.

How to use:

  1. copy all files (5 items) to your github repository
  2. add release and devops branch
  3. add patch, minor, major labels
  4. configure workflow parameters in yml files

Workflows contain 4 yml files

  1. PR_to_master.yml - contain checks of pull requests to master branch
    • Workflow parameters:
      1. on.pull_request.branches - main branch
      2. env.code_path - folder which contain code changes
      3. env.devops_path - folder which contain github workflows files
      4. env.release_branch - branch which agregate all changes before release
      5. env.devops_branch - branch which aggregate all changes of devops configuration
      6. env.project_path - path to csproj for version checks
    • Jobs:
      1. check source of pull request to master branch - if changes contain files from code_path, they should come from release branch, if they contain files from devops_path, they should be from devops_branch
      2. check version of code package - if changes contain files from code_path, version of package must be equal to tag of latest draft release
        v{packageVersion} == {draft.tag}
  2. PR_to_release.yml - contain checks of pull requests to release branch
    • Workflow parameters:
      1. on.pull_request.branches - release branch
      2. env.code_path - folder which contain code changes
    • Jobs:
      1. check label of code changes to release - all pull request to release branch which contain files from code_path, should have label: patch, minor, major
  3. push_to_master - contain release process of new version
    • Workflow parameters:
      1. on.pull_request.branches - main branch
      2. on.push.paths - folder which contain code changes
      3. env.project_path - path to csproj for version checks
    • Jobs:
      1. check version of code package - if changes contain files from code_path, version of package must be equal to tag of latest draft release
      2. build, push to github packages
  4. push_to_release - contain draft release process
    • Workflow parameters:
      1. on.pull_request.branches - release branch
    • Jobs:
      1. create/update draft release, when new code commited to the release branch
  5. release-drafter - config file of release factory

Additionally:

  1. add workflow “Check labels” required for release branch
  2. add workflows “Check head branch to master branch” and “If PR to master contain code changes: check version” required for master branch