From 20bbf268139233edb47b96805c6054281ee16f7c Mon Sep 17 00:00:00 2001 From: kumvijaya Date: Tue, 17 Sep 2024 23:35:16 +0530 Subject: T6722: updated to use reusable workflows --- .github/PULL_REQUEST_TEMPLATE.md | 2 - .github/labeler.yml | 12 ---- .github/reviewers.yml | 3 - .github/workflows/add-pr-labels.yml | 16 +++++ .github/workflows/add-rebase-label.yml | 14 ++++ .github/workflows/auto-author-assign.yml | 21 ++---- .github/workflows/check-pr-conflicts.yml | 14 ++++ .github/workflows/check-pr-message.yml | 17 +++++ .github/workflows/check-stale.yml | 13 ++++ .github/workflows/check-unused-imports.yml | 14 ++++ .github/workflows/codeql.yml | 84 ++++++------------------ .github/workflows/label-backport.yml | 12 ++++ .github/workflows/lint-j2.yml | 14 ++++ .github/workflows/lint-with-ruff.yml | 14 ++++ .github/workflows/mergifyio_backport.yml | 22 ------- .github/workflows/pr-conflicts.yml | 18 ----- .github/workflows/pull-request-labels.yml | 20 ------ .github/workflows/pull-request-management.yml | 25 ------- .github/workflows/pull-request-message-check.yml | 23 ------- .github/workflows/sonarcloud.yml | 28 ++++++++ .github/workflows/stale.yml | 22 ------- 21 files changed, 180 insertions(+), 228 deletions(-) delete mode 100644 .github/labeler.yml delete mode 100644 .github/reviewers.yml create mode 100644 .github/workflows/add-pr-labels.yml create mode 100644 .github/workflows/add-rebase-label.yml create mode 100644 .github/workflows/check-pr-conflicts.yml create mode 100644 .github/workflows/check-pr-message.yml create mode 100644 .github/workflows/check-stale.yml create mode 100644 .github/workflows/check-unused-imports.yml create mode 100644 .github/workflows/label-backport.yml create mode 100644 .github/workflows/lint-j2.yml create mode 100644 .github/workflows/lint-with-ruff.yml delete mode 100644 .github/workflows/mergifyio_backport.yml delete mode 100644 .github/workflows/pr-conflicts.yml delete mode 100644 .github/workflows/pull-request-labels.yml delete mode 100644 .github/workflows/pull-request-management.yml delete mode 100644 .github/workflows/pull-request-message-check.yml create mode 100644 .github/workflows/sonarcloud.yml delete mode 100644 .github/workflows/stale.yml diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index cd348ea..8c05645 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,7 +14,6 @@ the box, please use [x] - [ ] New feature (non-breaking change which adds functionality) - [ ] Code style update (formatting, renaming) - [ ] Refactoring (no functional changes) -- [ ] Migration from an old Vyatta component to vyos-1x, please link to related PR inside obsoleted component - [ ] Other (please describe): ## Related Task(s) @@ -54,7 +53,6 @@ test_01_simple_options (__main__.TestFeature.test_01_simple_options) ... ok - [ ] I have read the [**CONTRIBUTING**](https://github.com/vyos/vyos-1x/blob/current/CONTRIBUTING.md) document - [ ] I have linked this PR to one or more Phabricator Task(s) -- [ ] I have run the components [**SMOKETESTS**](https://github.com/vyos/vyos-1x/tree/current/smoketest/scripts/cli) if applicable - [ ] My commit headlines contain a valid Task id - [ ] My change requires a change to the documentation - [ ] I have updated the documentation accordingly diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index e0b9ee4..0000000 --- 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 a1647d2..0000000 --- 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 0000000..a0c0760 --- /dev/null +++ b/.github/workflows/add-pr-labels.yml @@ -0,0 +1,16 @@ +--- +name: Add pull request labels + +on: + pull_request_target: + branches: + - current + +permissions: + pull-requests: write + contents: read + +jobs: + add-pr-label: + uses: vyos/.github/.github/workflows/add-pr-labels.yml@current + secrets: inherit diff --git a/.github/workflows/add-rebase-label.yml b/.github/workflows/add-rebase-label.yml new file mode 100644 index 0000000..9041303 --- /dev/null +++ b/.github/workflows/add-rebase-label.yml @@ -0,0 +1,14 @@ +name: Add rebase label + +on: + pull_request_target: + types: [synchronize, opened, reopened, labeled, unlabeled] + +permissions: + pull-requests: write + contents: read + +jobs: + add-rebase-label: + uses: vyos/.github/.github/workflows/add-rebase-label.yml@current + secrets: inherit diff --git a/.github/workflows/auto-author-assign.yml b/.github/workflows/auto-author-assign.yml index 1a7f8ef..61612cc 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.6.2 - 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@current + secrets: inherit diff --git a/.github/workflows/check-pr-conflicts.yml b/.github/workflows/check-pr-conflicts.yml new file mode 100644 index 0000000..f09e664 --- /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@current + secrets: inherit diff --git a/.github/workflows/check-pr-message.yml b/.github/workflows/check-pr-message.yml new file mode 100644 index 0000000..625ba2d --- /dev/null +++ b/.github/workflows/check-pr-message.yml @@ -0,0 +1,17 @@ +--- +name: Check pull request message format + +on: + pull_request_target: + branches: + - current + types: [opened, synchronize, edited] + +permissions: + pull-requests: write + contents: read + +jobs: + check-pr-title: + uses: vyos/.github/.github/workflows/check-pr-message.yml@current + secrets: inherit diff --git a/.github/workflows/check-stale.yml b/.github/workflows/check-stale.yml new file mode 100644 index 0000000..2adbee2 --- /dev/null +++ b/.github/workflows/check-stale.yml @@ -0,0 +1,13 @@ +name: "Issue and PR stale management" +on: + schedule: + - cron: "0 0 * * *" + +permissions: + pull-requests: write + contents: read + +jobs: + stale: + uses: vyos/.github/.github/workflows/check-stale.yml@current + secrets: inherit diff --git a/.github/workflows/check-unused-imports.yml b/.github/workflows/check-unused-imports.yml new file mode 100644 index 0000000..d6dd614 --- /dev/null +++ b/.github/workflows/check-unused-imports.yml @@ -0,0 +1,14 @@ +name: Check for unused imports using Pylint +on: + pull_request_target: + branches: + - current + +permissions: + pull-requests: write + contents: read + +jobs: + check-unused-imports: + uses: vyos/.github/.github/workflows/check-unused-imports.yml@current + secrets: inherit diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c39800a..9671d45 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,74 +1,30 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" +name: "Perform CodeQL Analysis" on: push: - branches: [ "current", crux, equuleus ] + branches: [ "current" ] + paths: + - '**' + - '!.github/**' + - '!**/*.md' pull_request: # The branches below must be a subset of the branches above branches: [ "current" ] + paths: + - '**' + - '!.github/**' + - '!**/*.md' schedule: - cron: '22 10 * * 0' -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'python' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality +permissions: + actions: read + contents: read + security-events: write - - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 - with: - category: "/language:${{matrix.language}}" +jobs: + codeql-analysis-call: + uses: vyos/.github/.github/workflows/codeql-analysis.yml@current + secrets: inherit + with: + languages: "['cpp']" diff --git a/.github/workflows/label-backport.yml b/.github/workflows/label-backport.yml new file mode 100644 index 0000000..efbd438 --- /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@current + secrets: inherit diff --git a/.github/workflows/lint-j2.yml b/.github/workflows/lint-j2.yml new file mode 100644 index 0000000..d9d5c71 --- /dev/null +++ b/.github/workflows/lint-j2.yml @@ -0,0 +1,14 @@ +name: Lint J2 +on: + pull_request_target: + branches: + - current + +permissions: + pull-requests: write + contents: read + +jobs: + lint-j2: + uses: vyos/.github/.github/workflows/lint-j2.yml@current + secrets: inherit diff --git a/.github/workflows/lint-with-ruff.yml b/.github/workflows/lint-with-ruff.yml new file mode 100644 index 0000000..00cc9ca --- /dev/null +++ b/.github/workflows/lint-with-ruff.yml @@ -0,0 +1,14 @@ +name: Lint py code with ruff +on: + pull_request_target: + branches: + - current + +permissions: + pull-requests: write + contents: read + +jobs: + ruff-lint: + uses: vyos/.github/.github/workflows/lint-with-ruff.yml@current + secrets: inherit diff --git a/.github/workflows/mergifyio_backport.yml b/.github/workflows/mergifyio_backport.yml deleted file mode 100644 index dcc3a7e..0000000 --- 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/vyatta-cfg' - 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 96040cd..0000000 --- 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-22.04 - steps: - - name: check if PRs are dirty - uses: eps1lon/actions-label-merge-conflict@releases/2.x - 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 778daae..0000000 --- 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-alpha.1 diff --git a/.github/workflows/pull-request-management.yml b/.github/workflows/pull-request-management.yml deleted file mode 100644 index 3a855c1..0000000 --- a/.github/workflows/pull-request-management.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -name: Build Pull Request Package - -on: - pull_request: - branches: - - current - - crux - - equuleus - -jobs: - j2lint: - name: Validate j2 files - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v2 - timeout-minutes: 2 - - name: Setup J2Lint - timeout-minutes: 2 - run: | - sudo pip install git+https://github.com/aristanetworks/j2lint.git@341b5d5db86e095b622f09770cb6367a1583620e - - name: Run J2lint - timeout-minutes: 2 - run: | - j2lint $GITHUB_WORKSPACE/data diff --git a/.github/workflows/pull-request-message-check.yml b/.github/workflows/pull-request-message-check.yml deleted file mode 100644 index 8c206a5..0000000 --- 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/sonarcloud.yml b/.github/workflows/sonarcloud.yml new file mode 100644 index 0000000..a8eaca7 --- /dev/null +++ b/.github/workflows/sonarcloud.yml @@ -0,0 +1,28 @@ +name: Sonar Checks +on: + push: + branches: + - current + paths: + - '**' + - '!.github/**' + - '!**/*.md' + pull_request_target: + types: [opened, synchronize, reopened] + paths: + - '**' + - '!.github/**' + - '!**/*.md' +jobs: + sonar-cloud: + name: SonarCloud + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: SonarCloud Scan + uses: SonarSource/sonarcloud-github-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index a3b27d9..0000000 --- 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/vyatta-cfg' - 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' -- cgit v1.2.3 From 0a0675a514570454d1b934dd5586030532e1d196 Mon Sep 17 00:00:00 2001 From: kumvijaya Date: Tue, 17 Sep 2024 23:55:58 +0530 Subject: T6722: added codeowners --- CODEOWNERS | 1 + 1 file changed, 1 insertion(+) create mode 100644 CODEOWNERS diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..1913942 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +* @vyos/reviewers \ No newline at end of file -- cgit v1.2.3 From 33c0aef27b3f49e6a5c4465090d0c334329d2479 Mon Sep 17 00:00:00 2001 From: kumvijaya Date: Tue, 17 Sep 2024 23:59:52 +0530 Subject: T6722: removed py check workflows --- .github/workflows/check-unused-imports.yml | 14 -------------- .github/workflows/lint-with-ruff.yml | 14 -------------- 2 files changed, 28 deletions(-) delete mode 100644 .github/workflows/check-unused-imports.yml delete mode 100644 .github/workflows/lint-with-ruff.yml diff --git a/.github/workflows/check-unused-imports.yml b/.github/workflows/check-unused-imports.yml deleted file mode 100644 index d6dd614..0000000 --- a/.github/workflows/check-unused-imports.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Check for unused imports using Pylint -on: - pull_request_target: - branches: - - current - -permissions: - pull-requests: write - contents: read - -jobs: - check-unused-imports: - uses: vyos/.github/.github/workflows/check-unused-imports.yml@current - secrets: inherit diff --git a/.github/workflows/lint-with-ruff.yml b/.github/workflows/lint-with-ruff.yml deleted file mode 100644 index 00cc9ca..0000000 --- a/.github/workflows/lint-with-ruff.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Lint py code with ruff -on: - pull_request_target: - branches: - - current - -permissions: - pull-requests: write - contents: read - -jobs: - ruff-lint: - uses: vyos/.github/.github/workflows/lint-with-ruff.yml@current - secrets: inherit -- cgit v1.2.3