From ef842f6606a97fbd8387f3946aaaec3b658374ce Mon Sep 17 00:00:00 2001 From: praptisharma28 <123169861+praptisharma28@users.noreply.github.com> Date: Thu, 1 Feb 2024 00:43:13 +0530 Subject: [PATCH] feat: workflow added Closes #161 --- .github/ISSUE_TEMPLATE/other.yml | 46 ++++++++++++++++++++++++++ .github/pr-title-checker.json | 25 ++++++++++++++ .github/workflows/codeql.yml | 42 +++++++++++++++++++++++ .github/workflows/pr-title-checker.yml | 19 +++++++++++ 4 files changed, 132 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/other.yml create mode 100644 .github/pr-title-checker.json create mode 100644 .github/workflows/codeql.yml create mode 100644 .github/workflows/pr-title-checker.yml diff --git a/.github/ISSUE_TEMPLATE/other.yml b/.github/ISSUE_TEMPLATE/other.yml new file mode 100644 index 0000000..675c3b8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/other.yml @@ -0,0 +1,46 @@ +name: Other 🤔 +description: Use this for any other issues. PLEASE do not create blank issues +title: "[Other]" +body: + - type: markdown + attributes: + value: "# Other issue" + + - type: textarea + id: issuedescription + attributes: + label: What would you like to share? + description: Provide a clear and concise explanation of your issue. + validations: + required: true + + - type: textarea + id: extrainfo + attributes: + label: Additional information + description: Is there anything else we should know about this issue? + validations: + required: false + + - type: checkboxes + id: no-duplicate-issues + attributes: + label: "Checklist" + options: + - label: "I have checked the existing issues." + required: true + + - label: "I follow [Contributing Guidelines](https://github.com/Kritika30032002/Top_Secrets/blob/main/contributing.md) of this project." + required: true + + - label: "I am a IWOC'24 contributor." + required: false + + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our "[Code of Conduct](https://github.com/Kritika30032002/Top_Secrets/blob/main/code_of_conduct.md)" + options: + - label: I agree to follow this project's "[Code of Conduct](https://github.com/Kritika30032002/Top_Secrets/blob/main/code_of_conduct.md)". + required: true \ No newline at end of file diff --git a/.github/pr-title-checker.json b/.github/pr-title-checker.json new file mode 100644 index 0000000..ba37ae9 --- /dev/null +++ b/.github/pr-title-checker.json @@ -0,0 +1,25 @@ +{ + "LABEL": { + "name": "title needs formatting", + "color": "F9D0C4" + }, + "CHECKS": { + "prefixes": [ + "build: ", + "chore: ", + "docs: ", + "feat: ", + "fix: ", + "perf: ", + "refactor: ", + "revert: ", + "style: ", + "test: " + ] + }, + "MESSAGES": { + "success": "Everything is great. Status: 200", + "failure": "PR title does not conform to the required format. Please use one of the specified prefixes followed by a colon and a space. Status: 400", + "notice": "" + } + } \ No newline at end of file diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..cfba45d --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,42 @@ +name: 'CodeQL' + +on: + push: + branches: ['main'] + pull_request: + branches: ['main'] + schedule: + - cron: '19 19 * * 0' + +jobs: + analyze: + name: Analyze + runs-on: ${{ (matrix.language == 'javascript' && 'ubuntu-latest') || 'windows-latest' }} + timeout-minutes: ${{ (matrix.language == 'javascript' && 120) || 360 }} + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: ['javascript'] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: '/language:${{matrix.language}}' diff --git a/.github/workflows/pr-title-checker.yml b/.github/workflows/pr-title-checker.yml new file mode 100644 index 0000000..dd365fb --- /dev/null +++ b/.github/workflows/pr-title-checker.yml @@ -0,0 +1,19 @@ +name: 'PR Title Checker' +on: + pull_request_target: + types: + - opened + - edited + - synchronize + - labeled + - unlabeled + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: thehanimo/pr-title-checker@v1.3.7 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + pass_on_octokit_error: false + configuration_path: '.github/pr-title-checker.json' \ No newline at end of file