瀏覽代碼

Refactor Github Actions

Fernando Fernández 4 年之前
父節點
當前提交
854a12b312

+ 0 - 43
.github/label-commenter-config.yml

@@ -1,43 +0,0 @@
-comment:
-  header: Hello!
-  footer: "\
-    ---\n\n
-    > This is an automated comment created by the [peaceiris/actions-label-commenter]. \
-    Responding to the bot or mentioning it won't have any effect.\n\n
-    [peaceiris/actions-label-commenter]: https://github.com/peaceiris/actions-label-commenter
-    "
-
-labels:
-  - name: stable backport
-    labeled:
-      pr:
-        body: |
-          This pull request has been tagged as a stable backport. It will be cherry-picked into the next stable point release.
-
-          Please observe the following:
-
-            * Any dependent PRs that this PR requires **must** be tagged for stable backporting as well.
-
-            * Any issue(s) this PR fixes or closes **should** target the current stable release or a previous stable release to which a fix has not yet entered the current stable release.
-          
-            * This PR **must** be test cherry-picked against the current release branch (`release-X.Y.z` where X and Y are numbers). It must apply cleanly, or a diff of the expected change must be provided.
-              
-              To do this, run the following commands from your local copy of the Jellyfin repository:
-              
-                1. `git checkout master`
-
-                1. `git merge --no-ff <myPullRequestBranch>`
-
-                1. `git log` -> `commit xxxxxxxxx`, grab hash
-
-                1. `git checkout release-X.Y.z` replacing X and Y with the *current* stable version (e.g. `release-10.7.z`)
-
-                1. `git cherry-pick -sx -m1 <hash>`
-
-              Ensure the `cherry-pick` applies cleanly. If it does not, fix any merge conflicts *preserving as much of the original code as possible*, and make note of the resulting diff.
-
-              Test your changes with a build to ensure they are successful. If not, adjust the diff accordingly.
-
-              **Do not** push your merges to either branch. Use `git reset --hard HEAD~1` to revert both branches to their original state.
-
-              Reply to this PR with a comment beginning "Cherry-pick test completed." and including the merge-conflict-fixing diff(s) if applicable.

+ 17 - 7
.github/workflows/automation.yml

@@ -1,21 +1,31 @@
 name: Automation
 
 on:
+  push:
+    branches:
+      - master
   pull_request_target:
+  issue_comment:
 
 jobs:
-  main:
+  label:
+    name: Labeling
     runs-on: ubuntu-latest
     steps:
-      - name: Does PR has the stable backport label?
-        uses: Dreamcodeio/does-pr-has-label@v1.2
-        id: checkLabel
+      - name: Apply label
+        uses: eps1lon/actions-label-merge-conflict@v2.0.1
+        if: ${{ github.event_name == 'push' || github.event_name == 'pull_request_target'}}
         with:
-          label: stable backport
+          dirtyLabel: 'merge conflict'
+          repoToken: ${{ secrets.JF_BOT_TOKEN }}
 
+  project:
+    name: Project board
+    runs-on: ubuntu-latest
+    steps:
       - name: Remove from 'Current Release' project
         uses: alex-page/github-project-automation-plus@v0.7.1
-        if: (github.event.pull_request || github.event.issue.pull_request) && !steps.checkLabel.outputs.hasLabel
+        if: (github.event.pull_request || github.event.issue.pull_request) && !contains(github.event.*.labels.*.name, 'stable backport')
         continue-on-error: true
         with:
           project: Current Release
@@ -33,7 +43,7 @@ jobs:
 
       - name: Add to 'Current Release' project
         uses: alex-page/github-project-automation-plus@v0.7.1
-        if: (github.event.pull_request || github.event.issue.pull_request) && steps.checkLabel.outputs.hasLabel
+        if: (github.event.pull_request || github.event.issue.pull_request) && !contains(github.event.*.labels.*.name, 'stable backport')
         continue-on-error: true
         with:
           project: Current Release

+ 24 - 1
.github/workflows/check-backport.yml → .github/workflows/commands.yml

@@ -1,4 +1,4 @@
-name: Stable Backport Check
+name: Commands
 on:
   issue_comment:
     types:
@@ -10,6 +10,29 @@ on:
       - synchronize
 
 jobs:
+  rebase:
+    name: Rebase
+    if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '@jellyfin-bot rebase') && github.event.comment.author_association == 'MEMBER'
+    runs-on: ubuntu-latest
+    steps:
+      - name: Notify as seen
+        uses: peter-evans/create-or-update-comment@v1.4.5
+        with:
+          token: ${{ secrets.JF_BOT_TOKEN }}
+          comment-id: ${{ github.event.comment.id }}
+          reactions: '+1'
+
+      - name: Checkout the latest code
+        uses: actions/checkout@v2
+        with:
+          token: ${{ secrets.JF_BOT_TOKEN }}
+          fetch-depth: 0
+
+      - name: Automatic Rebase
+        uses: cirrus-actions/rebase@1.4
+        env:
+          GITHUB_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
+
   check-backport:
     name: Check Backport
     if: ${{ ( github.event.issue.pull_request && contains(github.event.comment.body, '@jellyfin-bot check backport') ) || github.event.label.name == 'stable backport' || contains(github.event.pull_request.labels.*.name, 'stable backport' ) }}

+ 0 - 24
.github/workflows/label-commenter.yml

@@ -1,24 +0,0 @@
-name: Label Commenter
-
-on:
-  issues:
-    types:
-      - labeled
-      - unlabeled
-  pull_request_target:
-    types:
-      - labeled
-      - unlabeled
-
-jobs:
-  comment:
-    runs-on: ubuntu-20.04
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          ref: master
-
-      - name: Label Commenter
-        uses: peaceiris/actions-label-commenter@v1
-        with:
-          github_token: ${{ secrets.JF_BOT_TOKEN }}

+ 0 - 17
.github/workflows/merge-conflicts.yml

@@ -1,17 +0,0 @@
-name: 'Merge Conflicts'
-
-on:
-  push:
-    branches:
-      - master
-  pull_request_target:
-    types:
-      - synchronize
-jobs:
-  triage:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: eps1lon/actions-label-merge-conflict@v2.0.1
-        with:
-          dirtyLabel: 'merge conflict'
-          repoToken: ${{ secrets.JF_BOT_TOKEN }}

+ 0 - 30
.github/workflows/rebase.yml

@@ -1,30 +0,0 @@
-name: Automatic Rebase
-on:
-  issue_comment:
-    types:
-      - created
-      - edited
-
-jobs:
-  rebase:
-    name: Rebase
-    if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '@jellyfin-bot rebase') && github.event.comment.author_association == 'MEMBER'
-    runs-on: ubuntu-latest
-    steps:
-      - name: Notify as seen
-        uses: peter-evans/create-or-update-comment@v1.4.5
-        with:
-          token: ${{ secrets.JF_BOT_TOKEN }}
-          comment-id: ${{ github.event.comment.id }}
-          reactions: '+1'
-
-      - name: Checkout the latest code
-        uses: actions/checkout@v2
-        with:
-          token: ${{ secrets.JF_BOT_TOKEN }}
-          fetch-depth: 0
-
-      - name: Automatic Rebase
-        uses: cirrus-actions/rebase@1.4
-        env:
-          GITHUB_TOKEN: ${{ secrets.JF_BOT_TOKEN }}