summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorkumvijaya <kuvmijaya@gmail.com>2024-09-17 23:35:16 +0530
committerkumvijaya <kuvmijaya@gmail.com>2024-09-17 23:35:16 +0530
commit20bbf268139233edb47b96805c6054281ee16f7c (patch)
treed5e9850a6cfdf5988cc6ef87f6fbb52506ff00b4 /.github/workflows
parent98e89550e9b33dc2b8c73c7a1d1f905aead5bf2d (diff)
downloadvyatta-cfg-20bbf268139233edb47b96805c6054281ee16f7c.tar.gz
vyatta-cfg-20bbf268139233edb47b96805c6054281ee16f7c.zip
T6722: updated to use reusable workflows
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/add-pr-labels.yml16
-rw-r--r--.github/workflows/add-rebase-label.yml14
-rw-r--r--.github/workflows/auto-author-assign.yml21
-rw-r--r--.github/workflows/check-pr-conflicts.yml14
-rw-r--r--.github/workflows/check-pr-message.yml17
-rw-r--r--.github/workflows/check-stale.yml13
-rw-r--r--.github/workflows/check-unused-imports.yml14
-rw-r--r--.github/workflows/codeql.yml84
-rw-r--r--.github/workflows/label-backport.yml12
-rw-r--r--.github/workflows/lint-j2.yml14
-rw-r--r--.github/workflows/lint-with-ruff.yml14
-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-management.yml25
-rw-r--r--.github/workflows/pull-request-message-check.yml23
-rw-r--r--.github/workflows/sonarcloud.yml28
-rw-r--r--.github/workflows/stale.yml22
18 files changed, 180 insertions, 211 deletions
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'