summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVijayakumar A <36878324+kumvijaya@users.noreply.github.com>2024-05-23 12:22:26 +0530
committerGitHub <noreply@github.com>2024-05-23 08:52:26 +0200
commite43017472c254c5d0698d1a37f66870ef326fdbf (patch)
tree975da3a1a6261685f7e3562995982f22d9ce8025
parentfad55b3e9790f663b35c9d8a77d7899fc69b2d35 (diff)
downloadvyos-build-e43017472c254c5d0698d1a37f66870ef326fdbf.tar.gz
vyos-build-e43017472c254c5d0698d1a37f66870ef326fdbf.zip
T6386: added caller workflows and codeowners (#634)
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md2
-rw-r--r--.github/labeler.yml12
-rw-r--r--.github/reviewers.yml3
-rw-r--r--.github/workflows/add-pr-labels.yml18
-rw-r--r--.github/workflows/auto-author-assign.yml21
-rw-r--r--.github/workflows/chceck-pr-message.yml18
-rw-r--r--.github/workflows/check-pr-conflicts.yml14
-rw-r--r--.github/workflows/check-stale.yml14
-rw-r--r--.github/workflows/check-unused-imports.yml16
-rw-r--r--.github/workflows/codeql.yml23
-rw-r--r--.github/workflows/label-backport.yml12
-rw-r--r--.github/workflows/linit-j2.yml19
-rw-r--r--.github/workflows/mergifyio_backport.yml22
-rw-r--r--.github/workflows/pr-conflicts.yml18
-rw-r--r--.github/workflows/pull-request-labels.yml20
-rw-r--r--.github/workflows/pull-request-message-check.yml23
-rw-r--r--.github/workflows/stale.yml22
-rw-r--r--CODEOWNERS1
-rwxr-xr-xscripts/check-pr-title-and-commit-messages.py54
-rw-r--r--scripts/image-build/raw_image.py1
20 files changed, 140 insertions, 193 deletions
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 03aca946..8c71c80d 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -41,7 +41,7 @@ like this
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
<!--- The entire development process is outlined here: https://docs.vyos.io/en/latest/contributing/development.html -->
-- [ ] I have read the [**CONTRIBUTING**](https://github.com/vyos/vyos-1x/blob/current/CONTRIBUTING.md) document
+- [ ] I have read the [**CONTRIBUTING**](https://github.com/vyos/vyos-build/blob/current/CONTRIBUTING.md) document
- [ ] I have linked this PR to one or more Phabricator Task(s)
- [ ] My commit headlines contain a valid Task id
- [ ] My change requires a change to the documentation
diff --git a/.github/labeler.yml b/.github/labeler.yml
deleted file mode 100644
index e0b9ee43..00000000
--- a/.github/labeler.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-equuleus:
- - any:
- - base-branch: 'equuleus'
-current:
- - any:
- - base-branch: 'current'
-crux:
- - any:
- - base-branch: 'crux'
-sagitta:
- - any:
- - base-branch: 'sagitta'
diff --git a/.github/reviewers.yml b/.github/reviewers.yml
deleted file mode 100644
index a1647d20..00000000
--- a/.github/reviewers.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-"**/*":
- - team: reviewers
diff --git a/.github/workflows/add-pr-labels.yml b/.github/workflows/add-pr-labels.yml
new file mode 100644
index 00000000..ffb04f33
--- /dev/null
+++ b/.github/workflows/add-pr-labels.yml
@@ -0,0 +1,18 @@
+---
+name: Add pull request labels
+
+on:
+ pull_request_target:
+ branches:
+ - current
+ - equuleus
+ - sagitta
+
+permissions:
+ pull-requests: write
+ contents: read
+
+jobs:
+ add-pr-label:
+ uses: vyos/.github/.github/workflows/add-pr-labels.yml@feature/T6349-reusable-workflows
+ secrets: inherit
diff --git a/.github/workflows/auto-author-assign.yml b/.github/workflows/auto-author-assign.yml
index 13bfd9bb..c3696ea4 100644
--- a/.github/workflows/auto-author-assign.yml
+++ b/.github/workflows/auto-author-assign.yml
@@ -3,25 +3,12 @@ on:
pull_request_target:
types: [opened, reopened, ready_for_review, locked]
+
permissions:
pull-requests: write
+ contents: read
jobs:
- # https://github.com/marketplace/actions/auto-author-assign
assign-author:
- runs-on: ubuntu-latest
- steps:
- - name: "Assign Author to PR"
- uses: toshimaru/auto-author-assign@v1.3.5
- with:
- repo-token: ${{ secrets.GITHUB_TOKEN }}
-
- # https://github.com/shufo/auto-assign-reviewer-by-files
- assign_reviewer:
- runs-on: ubuntu-latest
- steps:
- - name: Request review based on files changes and/or groups the author belongs to
- uses: shufo/auto-assign-reviewer-by-files@v1.1.4
- with:
- token: ${{ secrets.PR_ACTION_ASSIGN_REVIEWERS }}
- config: .github/reviewers.yml
+ uses: vyos/.github/.github/workflows/assign-author.yml@feature/T6349-reusable-workflows
+ secrets: inherit
diff --git a/.github/workflows/chceck-pr-message.yml b/.github/workflows/chceck-pr-message.yml
new file mode 100644
index 00000000..f4d30b28
--- /dev/null
+++ b/.github/workflows/chceck-pr-message.yml
@@ -0,0 +1,18 @@
+---
+name: Check pull request message format
+
+on:
+ pull_request:
+ branches:
+ - current
+ - sagitta
+ - equuleus
+
+permissions:
+ pull-requests: write
+ contents: read
+
+jobs:
+ check-pr-title:
+ uses: vyos/.github/.github/workflows/check-pr-message.yml@feature/T6349-reusable-workflows
+ secrets: inherit
diff --git a/.github/workflows/check-pr-conflicts.yml b/.github/workflows/check-pr-conflicts.yml
new file mode 100644
index 00000000..0c659e6e
--- /dev/null
+++ b/.github/workflows/check-pr-conflicts.yml
@@ -0,0 +1,14 @@
+
+name: "PR Conflicts checker"
+on:
+ pull_request_target:
+ types: [synchronize]
+
+permissions:
+ pull-requests: write
+ contents: read
+
+jobs:
+ check-pr-conflict-call:
+ uses: vyos/.github/.github/workflows/check-pr-merge-conflict.yml@feature/T6349-reusable-workflows
+ secrets: inherit
diff --git a/.github/workflows/check-stale.yml b/.github/workflows/check-stale.yml
new file mode 100644
index 00000000..59d25a11
--- /dev/null
+++ b/.github/workflows/check-stale.yml
@@ -0,0 +1,14 @@
+name: "Issue and PR stale management"
+on:
+ schedule:
+ - cron: "0 0 * * *"
+ workflow_dispatch:
+
+permissions:
+ pull-requests: write
+ contents: read
+
+jobs:
+ stale:
+ uses: vyos/.github/.github/workflows/check-stale.yml@feature/T6349-reusable-workflows
+ secrets: inherit
diff --git a/.github/workflows/check-unused-imports.yml b/.github/workflows/check-unused-imports.yml
new file mode 100644
index 00000000..324a63e9
--- /dev/null
+++ b/.github/workflows/check-unused-imports.yml
@@ -0,0 +1,16 @@
+name: Check for unused imports using Pylint
+on:
+ pull_request:
+ branches:
+ - current
+ - sagitta
+ - equuleus
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+jobs:
+ check-unused-imports:
+ uses: vyos/.github/.github/workflows/check-unused-imports.yml@feature/T6349-reusable-workflows
+ secrets: inherit
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 00000000..a4fc39e2
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -0,0 +1,23 @@
+name: "Perform CodeQL Analysis"
+
+on:
+ push:
+ branches: [ "current", "sagitta", "equuleus" ]
+ pull_request:
+ # The branches below must be a subset of the branches above
+ branches: [ "current" ]
+ schedule:
+ - cron: '22 10 * * 0'
+ workflow_dispatch:
+
+permissions:
+ actions: read
+ contents: read
+ security-events: write
+
+jobs:
+ codeql-analysis-call:
+ uses: vyos/.github/.github/workflows/codeql-analysis.yml@feature/T6349-reusable-workflows
+ secrets: inherit
+ with:
+ languages: "['python']"
diff --git a/.github/workflows/label-backport.yml b/.github/workflows/label-backport.yml
new file mode 100644
index 00000000..9192b818
--- /dev/null
+++ b/.github/workflows/label-backport.yml
@@ -0,0 +1,12 @@
+name: Mergifyio backport
+
+on: [issue_comment]
+
+permissions:
+ pull-requests: write
+ contents: read
+
+jobs:
+ mergifyio-backport:
+ uses: vyos/.github/.github/workflows/label-backport.yml@feature/T6349-reusable-workflows
+ secrets: inherit
diff --git a/.github/workflows/linit-j2.yml b/.github/workflows/linit-j2.yml
new file mode 100644
index 00000000..95bfa61f
--- /dev/null
+++ b/.github/workflows/linit-j2.yml
@@ -0,0 +1,19 @@
+---
+name: J2 Lint
+
+on:
+ pull_request:
+ branches:
+ - current
+ - sagitta
+ - equuleus
+ workflow_dispatch:
+
+permissions:
+ pull-requests: write
+ contents: read
+
+jobs:
+ j2lint:
+ uses: vyos/.github/.github/workflows/lint-j2.yml@feature/T6349-reusable-workflows
+ secrets: inherit
diff --git a/.github/workflows/mergifyio_backport.yml b/.github/workflows/mergifyio_backport.yml
deleted file mode 100644
index 80cd4d4c..00000000
--- a/.github/workflows/mergifyio_backport.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Mergifyio backport
-
-on: [issue_comment]
-
-jobs:
- mergifyio_backport:
- if: github.repository == 'vyos/vyos-build'
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
-
- - uses: actions-ecosystem/action-regex-match@v2
- id: regex-match
- with:
- text: ${{ github.event.comment.body }}
- regex: '[Mm]ergifyio backport '
-
- - uses: actions-ecosystem/action-add-labels@v1
- if: ${{ steps.regex-match.outputs.match != '' }}
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- labels: backport
diff --git a/.github/workflows/pr-conflicts.yml b/.github/workflows/pr-conflicts.yml
deleted file mode 100644
index 2fd0bb42..00000000
--- a/.github/workflows/pr-conflicts.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-name: "PR Conflicts checker"
-on:
- pull_request_target:
- types: [synchronize]
-
-jobs:
- Conflict_Check:
- name: 'Check PR status: conflicts and resolution'
- runs-on: ubuntu-latest
- steps:
- - name: check if PRs are dirty
- uses: eps1lon/actions-label-merge-conflict@v3
- with:
- dirtyLabel: "state: conflict"
- removeOnDirtyLabel: "state: conflict resolved"
- repoToken: "${{ secrets.GITHUB_TOKEN }}"
- commentOnDirty: "This pull request has conflicts, please resolve those before we can evaluate the pull request."
- commentOnClean: "Conflicts have been resolved. A maintainer will review the pull request shortly."
diff --git a/.github/workflows/pull-request-labels.yml b/.github/workflows/pull-request-labels.yml
deleted file mode 100644
index 3398af5b..00000000
--- a/.github/workflows/pull-request-labels.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-name: Add pull request labels
-
-on:
- pull_request_target:
- branches:
- - current
- - crux
- - equuleus
- - sagitta
-
-jobs:
- add-pr-label:
- name: Add PR Labels
- runs-on: ubuntu-20.04
- permissions:
- contents: read
- pull-requests: write
- steps:
- - uses: actions/labeler@v5.0.0
diff --git a/.github/workflows/pull-request-message-check.yml b/.github/workflows/pull-request-message-check.yml
deleted file mode 100644
index 8c206a5a..00000000
--- a/.github/workflows/pull-request-message-check.yml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-name: Check pull request message format
-
-on:
- pull_request:
- branches:
- - current
- - crux
- - equuleus
-
-jobs:
- check-pr-title:
- name: Check pull request title
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/checkout@v2
- timeout-minutes: 2
- - name: Install the requests library
- run: pip3 install requests
- - name: Check the PR title
- timeout-minutes: 2
- run: |
- ./scripts/check-pr-title-and-commit-messages.py '${{ github.event.pull_request.url }}'
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
deleted file mode 100644
index d21d151f..00000000
--- a/.github/workflows/stale.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: "Issue and PR stale management"
-on:
- schedule:
- - cron: "0 0 * * *"
-
-jobs:
- stale:
- runs-on: ubuntu-latest
- if: github.repository == 'vyos/vyos-1x'
- steps:
- # Issue stale management
- - uses: actions/stale@v6
- with:
- repo-token: ${{ secrets.GITHUB_TOKEN }}
- days-before-stale: 90
- days-before-close: -1
- stale-issue-message: 'This issue is stale because it has been open 90 days with no activity. The issue will be reviewed by a maintainer and may be closed'
- stale-issue-label: 'state: stale'
- exempt-issue-labels: 'state: accepted, state: in-progress'
- stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. The PR will be reviewed by a maintainer and may be closed'
- stale-pr-label: 'state: stale'
- exempt-pr-labels: 'state: accepted, state: in-progress'
diff --git a/CODEOWNERS b/CODEOWNERS
new file mode 100644
index 00000000..1b3e518b
--- /dev/null
+++ b/CODEOWNERS
@@ -0,0 +1 @@
+* @kumvijaya \ No newline at end of file
diff --git a/scripts/check-pr-title-and-commit-messages.py b/scripts/check-pr-title-and-commit-messages.py
deleted file mode 100755
index f7376e98..00000000
--- a/scripts/check-pr-title-and-commit-messages.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env python3
-
-import re
-import sys
-import time
-
-import requests
-
-# Use the same regex for PR title and commit messages for now
-title_regex = r'^(([a-zA-Z\-_.]+:\s)?)T\d+:\s+[^\s]+.*'
-commit_regex = title_regex
-
-
-def check_pr_title(title):
- if not re.match(title_regex, title):
- print(f"PR title '{title}' does not match the required format!")
- print("Valid title example: T99999: make IPsec secure")
- sys.exit(1)
-
-
-def check_commit_message(title):
- if not re.match(commit_regex, title):
- print(f"Commit title '{title}' does not match the required format!")
- print("Valid title example: T99999: make IPsec secure")
- sys.exit(1)
-
-
-if __name__ == '__main__':
- if len(sys.argv) < 2:
- print("Please specify pull request URL!")
- sys.exit(1)
-
- # There seems to be a race condition that causes this scripts to receive
- # an incomplete PR object that is missing certain fields,
- # which causes temporary CI failures that require re-running the script
- #
- # It's probably better to add a small delay to prevent that
- time.sleep(5)
-
- # Get the pull request object
- pr = requests.get(sys.argv[1]).json()
- if "title" not in pr:
- print("The PR object does not have a title field!")
- print("Did not receive a valid pull request object, please check the URL!")
- sys.exit(1)
-
- check_pr_title(pr["title"])
-
- # Get the list of commits
- commits = requests.get(pr["commits_url"]).json()
- for c in commits:
- # Retrieve every individual commit and check its title
- co = requests.get(c["url"]).json()
- check_commit_message(co["commit"]["message"])
diff --git a/scripts/image-build/raw_image.py b/scripts/image-build/raw_image.py
index 5068ba1b..dedb6f5e 100644
--- a/scripts/image-build/raw_image.py
+++ b/scripts/image-build/raw_image.py
@@ -18,7 +18,6 @@
import os
import sys
import shutil
-import traceback
import vyos.utils.process