diff --git a/.github/workflows/deploy-clean.yml b/.github/workflows/deploy-clean.yml new file mode 100644 index 0000000..a68393a --- /dev/null +++ b/.github/workflows/deploy-clean.yml @@ -0,0 +1,105 @@ +# # +# @type github workflow +# @desc cleans up the list of deployments in the environment history +# @author Aetherinox +# @url https://github.com/Aetherinox +# # + +name: "⚙️ Deploy › Clean" +run-name: "⚙️ Deploy › Clean" + +# # +# triggers +# # + +on: + workflow_dispatch: + +# # +# environment variables +# # + +env: + BOT_NAME_1: AdminServ + BOT_NAME_2: AdminServX + BOT_NAME_3: EuropaServ + BOT_NAME_DEPENDABOT: dependabot[bot] + LABELS_JSON: | + [ + { "name": "AC › Changes Made", "color": "8F1784", "description": "Requested changes have been made and are pending a re-scan" }, + { "name": "AC › Changes Required", "color": "8F1784", "description": "Requires changes to be made to the package before being accepted" }, + { "name": "AC › Failed", "color": "a61f2d", "description": "Autocheck failed to run through a complete cycle, requires investigation" }, + { "name": "AC › Needs Rebase", "color": "8F1784", "description": "Due to the permissions on the requesting repo, this pull request must be rebased by the author" }, + { "name": "AC › Passed", "color": "146b4a", "description": "Ready to be reviewed" }, + { "name": "AC › Review Required", "color": "8F1784", "description": "PR needs to be reviewed by another person, after the requested changes have been made" }, + { "name": "AC › Security Warning", "color": "761620", "description": "Does not conform to developer policies, or includes potentially dangerous code" }, + { "name": "AC › Skipped Scan", "color": "8F1784", "description": "Author has skipped code scan" }, + { "name": "Status 𐄂 Duplicate", "color": "75536b", "description": "Issue or pull request already exists" }, + { "name": "Status 𐄂 Accepted", "color": "2e7539", "description": "This pull request has been accepted" }, + { "name": "Status 𐄂 Autoclosed", "color": "3E0915", "description": "Originally stale and was autoclosed for no activity" }, + { "name": "Status 𐄂 Denied", "color": "ba4058", "description": "Pull request has been denied" }, + { "name": "Status 𐄂 Locked", "color": "550F45", "description": "Automatically locked by AdminServ for a prolonged period of inactivity" }, + { "name": "Status 𐄂 Need Info", "color": "2E3C4C", "description": "Not enough information to resolve" }, + { "name": "Status 𐄂 No Action", "color": "030406", "description": "Closed without any action being taken" }, + { "name": "Status 𐄂 Pending", "color": "984b12", "description": "Pending pull request" }, + { "name": "Status 𐄂 Released", "color": "1b6626", "description": "Issues or PR has been implemented and is now live" }, + { "name": "Status 𐄂 Reopened", "color": "8a6f14", "description": "A previously closed PR which has been re-opened" }, + { "name": "Status 𐄂 Review", "color": "9e1451", "description": "Currently pending review" }, + { "name": "Status 𐄂 Stale", "color": "928282", "description": "Has not had any activity in over 30 days" }, + { "name": "Type ◦ Bug", "color": "9a2c2c", "description": "Something isn't working" }, + { "name": "Type ◦ Dependency", "color": "243759", "description": "Item is associated to dependency" }, + { "name": "Type ◦ Docs", "color": "0e588d", "description": "Improvements or modifications to docs" }, + { "name": "Type ◦ Feature", "color": "3c4e93", "description": "Feature request" }, + { "name": "Type ◦ Git Action", "color": "030406", "description": "GitHub Action / workflow" }, + { "name": "Type ◦ Pull Request", "color": "8F1784", "description": "Normal pull request" }, + { "name": "Type ◦ Roadmap", "color": "8F1784", "description": "Feature or bug currently planned for implementation" }, + { "name": "Type ◦ Internal", "color": "A51994", "description": "Assigned items are for internal developer use" }, + { "name": "Build ◦ Desktop", "color": "c7ca4a", "description": "Specific to desktop" }, + { "name": "Build ◦ Linux", "color": "c7ca4a", "description": "Specific to Linux" }, + { "name": "Build ◦ MacOS", "color": "c7ca4a", "description": "Specific to MacOS" }, + { "name": "Build ◦ Mobile", "color": "c7ca4a", "description": "Specific to mobile" }, + { "name": "Build ◦ Web", "color": "c7ca4a", "description": "Specific to web" }, + { "name": "Build ◦ Windows", "color": "c7ca4a", "description": "Specific to Windows" }, + { "name": "› API", "color": "F99B50", "description": "Plugin API, CLI, browser JS API" }, + { "name": "› Auto-type", "color": "9141E0", "description": "Auto-type functionality in desktop apps" }, + { "name": "› Browser", "color": "9141E0", "description": "Browser plugins and passing data to <=> from app" }, + { "name": "› Customization", "color": "E3F0FC", "description": "Customizations: plugins, themes, configs" }, + { "name": "› Design", "color": "FA70DE", "description": "Design related queries" }, + { "name": "› Dist", "color": "FA70DE", "description": "Installers and other forms of software distribution" }, + { "name": "› Enterprise", "color": "11447a", "description": "Issues about collaboration, administration, and so on" }, + { "name": "› Hardware", "color": "5a7503", "description": "YubiKey, other tokens, biometrics" }, + { "name": "› Import/Export", "color": "F5FFCC", "description": "Import from and export to different file formats" }, + { "name": "› Improvement", "color": "185c98", "description": "Enhance an existing feature" }, + { "name": "› Performance", "color": "006b75", "description": "Web and desktop performance issues" }, + { "name": "› Plugin Request", "color": "FCE9CA", "description": "Requested changes should be implemented as a plugin" }, + { "name": "› Security", "color": "F75D39", "description": "Security issues" }, + { "name": "› Self-Hosting", "color": "fad8c7", "description": "Self-hosting installations and configs" }, + { "name": "› Storage", "color": "5319e7", "description": "Storage providers: Dropbox, Google, WebDAV, etc." }, + { "name": "› Updater", "color": "1BADDE", "description": "Auto-updater issues" }, + { "name": "› UX", "color": "1BADDE", "description": "UX and usability" }, + { "name": "› Website", "color": "fef2c0", "description": "Website related issues" }, + { "name": "⚠ Urgent", "color": "a8740e", "description": "Requires urgent attention" }, + { "name": "⚠ Announcement", "color": "DB4712", "description": "Announcements" }, + { "name": "📰 Progress Report", "color": "392297", "description": "Development updates" }, + { "name": "📦 Release", "color": "277542", "description": "Release announcements" }, + { "name": "✔️ Poll", "color": "972255", "description": "Community polls" }, + { "name": "❔ Question", "color": "FFFFFF", "description": "All questions" } + ] + +# # +# jobs +# # + +jobs: + cleanup: + runs-on: ubuntu-latest + permissions: write-all + + steps: + - name: >- + ⚙️ Deployments › Clean + uses: strumwolf/delete-deployment-environment@v2 + with: + token: ${{ secrets.SELF_TOKEN_CL }} + environment: orion + onlyRemoveDeployments: true \ No newline at end of file diff --git a/.github/workflows/issues-accept.yml b/.github/workflows/issues-accept.yml index 2dcb7dd..7384306 100644 --- a/.github/workflows/issues-accept.yml +++ b/.github/workflows/issues-accept.yml @@ -41,7 +41,7 @@ jobs: # # deploy: - if: contains(github.event.comment.body, '/accept') && ( github.event.comment.user.login == 'Aetherinox' || github.event.comment.user.login == 'antelle' || github.event.comment.user.login == 'HarlemSquirrel' ) + if: contains(github.event.comment.body, '/accept') && github.event.comment.user.login == 'Aetherinox' runs-on: ubuntu-latest steps: diff --git a/.github/workflows/issues-new.yml b/.github/workflows/issues-new.yml index 1cb083e..7f237ad 100644 --- a/.github/workflows/issues-new.yml +++ b/.github/workflows/issues-new.yml @@ -100,7 +100,6 @@ env: { "name": "› Enterprise", "color": "11447a", "description": "Issues about collaboration, administration, and so on" }, { "name": "› Hardware", "color": "5a7503", "description": "YubiKey, other tokens, biometrics" }, { "name": "› Import/Export", "color": "F5FFCC", "description": "Import from and export to different file formats" }, - { "name": "› kdbxweb", "color": "eb6420", "description": "Core library: https://github.com/keeweb/kdbxweb" }, { "name": "› Improvement", "color": "185c98", "description": "Enhance an existing feature" }, { "name": "› Performance", "color": "006b75", "description": "Web and desktop performance issues" }, { "name": "› Plugin Request", "color": "FCE9CA", "description": "Requested changes should be implemented as a plugin" }, @@ -109,7 +108,7 @@ env: { "name": "› Storage", "color": "5319e7", "description": "Storage providers: Dropbox, Google, WebDAV, etc." }, { "name": "› Updater", "color": "1BADDE", "description": "Auto-updater issues" }, { "name": "› UX", "color": "1BADDE", "description": "UX and usability" }, - { "name": "› Website", "color": "fef2c0", "description": "Website https://keeweb.info" }, + { "name": "› Website", "color": "fef2c0", "description": "Website related issues" }, { "name": "⚠ Urgent", "color": "a8740e", "description": "Requires urgent attention" }, { "name": "⚠ Announcement", "color": "DB4712", "description": "Announcements" }, { "name": "📰 Progress Report", "color": "392297", "description": "Development updates" }, @@ -135,8 +134,6 @@ jobs: name: >- 🎫 Labels › Verify Existing runs-on: ubuntu-latest - environment: - name: Orion steps: # # @@ -212,8 +209,6 @@ jobs: contents: 'read' id-token: 'write' issues: 'write' - environment: - name: Orion steps: # # @@ -775,8 +770,6 @@ jobs: contents: 'read' id-token: 'write' issues: 'write' - environment: - name: Orion steps: # # @@ -865,8 +858,6 @@ jobs: && !contains( needs.*.result, 'failure' ) permissions: contents: write - environment: - name: Orion steps: # # diff --git a/.github/workflows/issues-scan.yml b/.github/workflows/issues-scan.yml index e05aad7..2121a3c 100644 --- a/.github/workflows/issues-scan.yml +++ b/.github/workflows/issues-scan.yml @@ -45,65 +45,64 @@ env: LABELS_JSON: | [ - { "name": "AC › Changes Made", "color": "8F1784", "description": "Requested changes have been made and are pending a re-scan" }, - { "name": "AC › Changes Required", "color": "8F1784", "description": "Requires changes to be made to the package before being accepted" }, - { "name": "AC › Failed", "color": "a61f2d", "description": "Autocheck failed to run through a complete cycle, requires investigation" }, - { "name": "AC › Needs Rebase", "color": "8F1784", "description": "Due to the permissions on the requesting repo, this pull request must be rebased by the author" }, - { "name": "AC › Passed", "color": "146b4a", "description": "Ready to be reviewed" }, - { "name": "AC › Review Required", "color": "8F1784", "description": "PR needs to be reviewed by another person, after the requested changes have been made" }, - { "name": "AC › Security Warning", "color": "761620", "description": "Does not conform to developer policies, or includes potentially dangerous code" }, - { "name": "AC › Skipped Scan", "color": "8F1784", "description": "Author has skipped code scan" }, - { "name": "Status 𐄂 Duplicate", "color": "75536b", "description": "Issue or pull request already exists" }, - { "name": "Status 𐄂 Accepted", "color": "2e7539", "description": "This pull request has been accepted" }, - { "name": "Status 𐄂 Autoclosed", "color": "3E0915", "description": "Originally stale and was autoclosed for no activity" }, - { "name": "Status 𐄂 Denied", "color": "ba4058", "description": "Pull request has been denied" }, - { "name": "Status 𐄂 Locked", "color": "550F45", "description": "Automatically locked by AdminServ for a prolonged period of inactivity" }, - { "name": "Status 𐄂 Need Info", "color": "2E3C4C", "description": "Not enough information to resolve" }, - { "name": "Status 𐄂 No Action", "color": "030406", "description": "Closed without any action being taken" }, - { "name": "Status 𐄂 Pending", "color": "984b12", "description": "Pending pull request" }, - { "name": "Status 𐄂 Released", "color": "1b6626", "description": "Issues or PR has been implemented and is now live" }, - { "name": "Status 𐄂 Reopened", "color": "8a6f14", "description": "A previously closed PR which has been re-opened" }, - { "name": "Status 𐄂 Review", "color": "9e1451", "description": "Currently pending review" }, - { "name": "Status 𐄂 Stale", "color": "928282", "description": "Has not had any activity in over 30 days" }, - { "name": "Type ◦ Bug", "color": "9a2c2c", "description": "Something isn't working" }, - { "name": "Type ◦ Dependency", "color": "243759", "description": "Item is associated to dependency" }, - { "name": "Type ◦ Docs", "color": "0e588d", "description": "Improvements or modifications to docs" }, - { "name": "Type ◦ Feature", "color": "3c4e93", "description": "Feature request" }, - { "name": "Type ◦ Git Action", "color": "030406", "description": "GitHub Action / workflow" }, - { "name": "Type ◦ Pull Request", "color": "8F1784", "description": "Normal pull request" }, - { "name": "Type ◦ Roadmap", "color": "8F1784", "description": "Feature or bug currently planned for implementation" }, - { "name": "Type ◦ Internal", "color": "A51994", "description": "Assigned items are for internal developer use" }, - { "name": "Build ◦ Desktop", "color": "c7ca4a", "description": "Specific to desktop" }, - { "name": "Build ◦ Linux", "color": "c7ca4a", "description": "Specific to Linux" }, - { "name": "Build ◦ MacOS", "color": "c7ca4a", "description": "Specific to MacOS" }, - { "name": "Build ◦ Mobile", "color": "c7ca4a", "description": "Specific to mobile" }, - { "name": "Build ◦ Web", "color": "c7ca4a", "description": "Specific to web" }, - { "name": "Build ◦ Windows", "color": "c7ca4a", "description": "Specific to Windows" }, - { "name": "› API", "color": "F99B50", "description": "Plugin API, CLI, browser JS API" }, - { "name": "› Auto-type", "color": "9141E0", "description": "Auto-type functionality in desktop apps" }, - { "name": "› Browser", "color": "9141E0", "description": "Browser plugins and passing data to <=> from app" }, - { "name": "› Customization", "color": "E3F0FC", "description": "Customizations: plugins, themes, configs" }, - { "name": "› Design", "color": "FA70DE", "description": "Design related queries" }, - { "name": "› Dist", "color": "FA70DE", "description": "Installers and other forms of software distribution" }, - { "name": "› Enterprise", "color": "11447a", "description": "Issues about collaboration, administration, and so on" }, - { "name": "› Hardware", "color": "5a7503", "description": "YubiKey, other tokens, biometrics" }, - { "name": "› Import/Export", "color": "F5FFCC", "description": "Import from and export to different file formats" }, - { "name": "› kdbxweb", "color": "eb6420", "description": "Core library: https://github.com/keeweb/kdbxweb" }, - { "name": "› Improvement", "color": "185c98", "description": "Enhance an existing feature" }, - { "name": "› Performance", "color": "006b75", "description": "Web and desktop performance issues" }, - { "name": "› Plugin Request", "color": "FCE9CA", "description": "Requested changes should be implemented as a plugin" }, - { "name": "› Security", "color": "F75D39", "description": "Security issues" }, - { "name": "› Self-Hosting", "color": "fad8c7", "description": "Self-hosting installations and configs" }, - { "name": "› Storage", "color": "5319e7", "description": "Storage providers: Dropbox, Google, WebDAV, etc." }, - { "name": "› Updater", "color": "1BADDE", "description": "Auto-updater issues" }, - { "name": "› UX", "color": "1BADDE", "description": "UX and usability" }, - { "name": "› Website", "color": "fef2c0", "description": "Website https://keeweb.info" }, - { "name": "⚠ Urgent", "color": "a8740e", "description": "Requires urgent attention" }, - { "name": "⚠ Announcement", "color": "DB4712", "description": "Announcements" }, - { "name": "📰 Progress Report", "color": "392297", "description": "Development updates" }, - { "name": "📦 Release", "color": "277542", "description": "Release announcements" }, - { "name": "✔️ Poll", "color": "972255", "description": "Community polls" }, - { "name": "❔ Question", "color": "FFFFFF", "description": "All questions" } + { "name": "AC › Changes Made", "color": "8F1784", "description": "Requested changes have been made and are pending a re-scan" }, + { "name": "AC › Changes Required", "color": "8F1784", "description": "Requires changes to be made to the package before being accepted" }, + { "name": "AC › Failed", "color": "a61f2d", "description": "Autocheck failed to run through a complete cycle, requires investigation" }, + { "name": "AC › Needs Rebase", "color": "8F1784", "description": "Due to the permissions on the requesting repo, this pull request must be rebased by the author" }, + { "name": "AC › Passed", "color": "146b4a", "description": "Ready to be reviewed" }, + { "name": "AC › Review Required", "color": "8F1784", "description": "PR needs to be reviewed by another person, after the requested changes have been made" }, + { "name": "AC › Security Warning", "color": "761620", "description": "Does not conform to developer policies, or includes potentially dangerous code" }, + { "name": "AC › Skipped Scan", "color": "8F1784", "description": "Author has skipped code scan" }, + { "name": "Status 𐄂 Duplicate", "color": "75536b", "description": "Issue or pull request already exists" }, + { "name": "Status 𐄂 Accepted", "color": "2e7539", "description": "This pull request has been accepted" }, + { "name": "Status 𐄂 Autoclosed", "color": "3E0915", "description": "Originally stale and was autoclosed for no activity" }, + { "name": "Status 𐄂 Denied", "color": "ba4058", "description": "Pull request has been denied" }, + { "name": "Status 𐄂 Locked", "color": "550F45", "description": "Automatically locked by AdminServ for a prolonged period of inactivity" }, + { "name": "Status 𐄂 Need Info", "color": "2E3C4C", "description": "Not enough information to resolve" }, + { "name": "Status 𐄂 No Action", "color": "030406", "description": "Closed without any action being taken" }, + { "name": "Status 𐄂 Pending", "color": "984b12", "description": "Pending pull request" }, + { "name": "Status 𐄂 Released", "color": "1b6626", "description": "Issues or PR has been implemented and is now live" }, + { "name": "Status 𐄂 Reopened", "color": "8a6f14", "description": "A previously closed PR which has been re-opened" }, + { "name": "Status 𐄂 Review", "color": "9e1451", "description": "Currently pending review" }, + { "name": "Status 𐄂 Stale", "color": "928282", "description": "Has not had any activity in over 30 days" }, + { "name": "Type ◦ Bug", "color": "9a2c2c", "description": "Something isn't working" }, + { "name": "Type ◦ Dependency", "color": "243759", "description": "Item is associated to dependency" }, + { "name": "Type ◦ Docs", "color": "0e588d", "description": "Improvements or modifications to docs" }, + { "name": "Type ◦ Feature", "color": "3c4e93", "description": "Feature request" }, + { "name": "Type ◦ Git Action", "color": "030406", "description": "GitHub Action / workflow" }, + { "name": "Type ◦ Pull Request", "color": "8F1784", "description": "Normal pull request" }, + { "name": "Type ◦ Roadmap", "color": "8F1784", "description": "Feature or bug currently planned for implementation" }, + { "name": "Type ◦ Internal", "color": "A51994", "description": "Assigned items are for internal developer use" }, + { "name": "Build ◦ Desktop", "color": "c7ca4a", "description": "Specific to desktop" }, + { "name": "Build ◦ Linux", "color": "c7ca4a", "description": "Specific to Linux" }, + { "name": "Build ◦ MacOS", "color": "c7ca4a", "description": "Specific to MacOS" }, + { "name": "Build ◦ Mobile", "color": "c7ca4a", "description": "Specific to mobile" }, + { "name": "Build ◦ Web", "color": "c7ca4a", "description": "Specific to web" }, + { "name": "Build ◦ Windows", "color": "c7ca4a", "description": "Specific to Windows" }, + { "name": "› API", "color": "F99B50", "description": "Plugin API, CLI, browser JS API" }, + { "name": "› Auto-type", "color": "9141E0", "description": "Auto-type functionality in desktop apps" }, + { "name": "› Browser", "color": "9141E0", "description": "Browser plugins and passing data to <=> from app" }, + { "name": "› Customization", "color": "E3F0FC", "description": "Customizations: plugins, themes, configs" }, + { "name": "› Design", "color": "FA70DE", "description": "Design related queries" }, + { "name": "› Dist", "color": "FA70DE", "description": "Installers and other forms of software distribution" }, + { "name": "› Enterprise", "color": "11447a", "description": "Issues about collaboration, administration, and so on" }, + { "name": "› Hardware", "color": "5a7503", "description": "YubiKey, other tokens, biometrics" }, + { "name": "› Import/Export", "color": "F5FFCC", "description": "Import from and export to different file formats" }, + { "name": "› Improvement", "color": "185c98", "description": "Enhance an existing feature" }, + { "name": "› Performance", "color": "006b75", "description": "Web and desktop performance issues" }, + { "name": "› Plugin Request", "color": "FCE9CA", "description": "Requested changes should be implemented as a plugin" }, + { "name": "› Security", "color": "F75D39", "description": "Security issues" }, + { "name": "› Self-Hosting", "color": "fad8c7", "description": "Self-hosting installations and configs" }, + { "name": "› Storage", "color": "5319e7", "description": "Storage providers: Dropbox, Google, WebDAV, etc." }, + { "name": "› Updater", "color": "1BADDE", "description": "Auto-updater issues" }, + { "name": "› UX", "color": "1BADDE", "description": "UX and usability" }, + { "name": "› Website", "color": "fef2c0", "description": "Website related issues" }, + { "name": "⚠ Urgent", "color": "a8740e", "description": "Requires urgent attention" }, + { "name": "⚠ Announcement", "color": "DB4712", "description": "Announcements" }, + { "name": "📰 Progress Report", "color": "392297", "description": "Development updates" }, + { "name": "📦 Release", "color": "277542", "description": "Release announcements" }, + { "name": "✔️ Poll", "color": "972255", "description": "Community polls" }, + { "name": "❔ Question", "color": "FFFFFF", "description": "All questions" } ] # # @@ -123,8 +122,6 @@ jobs: actions: read issues: write pull-requests: read - environment: - name: Orion steps: # # diff --git a/.github/workflows/issues-stale.yml b/.github/workflows/issues-stale.yml index 8fabbf9..276b9ee 100644 --- a/.github/workflows/issues-stale.yml +++ b/.github/workflows/issues-stale.yml @@ -1,6 +1,11 @@ # # # @type github workflow -# @desc checks each issue / PR for a valid label +# @desc creates repository labels if they are not yet installed +# issues marked as stale after 30 days, given tag Status 𐄂 Stale +# inactive issues closed after 180 days, given tag Status 𐄂 Locked +# inactive pr closed after 365 days, given tag Status 𐄂 Locked +# issues marked stale after 30 days, given tag Status 𐄂 Stale +# issues marked closed 7 days after being marked stale, given tag Status 𐄂 Autoclosed # @author Aetherinox # @url https://github.com/Aetherinox # @@ -29,7 +34,7 @@ run-name: "🎫 Issues › Stale" on: workflow_dispatch: schedule: - - cron: "0 */2 * * *" + - cron: "0 0 * * *" # # # environment variables @@ -74,7 +79,7 @@ env: { "name": "Status 𐄂 Accepted", "color": "2e7539", "description": "This pull request has been accepted" }, { "name": "Status 𐄂 Autoclosed", "color": "3E0915", "description": "Originally stale and was autoclosed for no activity" }, { "name": "Status 𐄂 Denied", "color": "ba4058", "description": "Pull request has been denied" }, - { "name": "Status 𐄂 Locked", "color": "550F45", "description": "Automatically locked by our bot for a prolonged period of inactivity" }, + { "name": "Status 𐄂 Locked", "color": "550F45", "description": "Automatically locked by AdminServ for a prolonged period of inactivity" }, { "name": "Status 𐄂 Need Info", "color": "2E3C4C", "description": "Not enough information to resolve" }, { "name": "Status 𐄂 No Action", "color": "030406", "description": "Closed without any action being taken" }, { "name": "Status 𐄂 Pending", "color": "984b12", "description": "Pending pull request" }, @@ -105,7 +110,6 @@ env: { "name": "› Enterprise", "color": "11447a", "description": "Issues about collaboration, administration, and so on" }, { "name": "› Hardware", "color": "5a7503", "description": "YubiKey, other tokens, biometrics" }, { "name": "› Import/Export", "color": "F5FFCC", "description": "Import from and export to different file formats" }, - { "name": "› kdbxweb", "color": "eb6420", "description": "Core library: https://github.com/keeweb/kdbxweb" }, { "name": "› Improvement", "color": "185c98", "description": "Enhance an existing feature" }, { "name": "› Performance", "color": "006b75", "description": "Web and desktop performance issues" }, { "name": "› Plugin Request", "color": "FCE9CA", "description": "Requested changes should be implemented as a plugin" }, @@ -114,7 +118,7 @@ env: { "name": "› Storage", "color": "5319e7", "description": "Storage providers: Dropbox, Google, WebDAV, etc." }, { "name": "› Updater", "color": "1BADDE", "description": "Auto-updater issues" }, { "name": "› UX", "color": "1BADDE", "description": "UX and usability" }, - { "name": "› Website", "color": "fef2c0", "description": "Website https://keeweb.info" }, + { "name": "› Website", "color": "fef2c0", "description": "Website related issues" }, { "name": "⚠ Urgent", "color": "a8740e", "description": "Requires urgent attention" }, { "name": "⚠ Announcement", "color": "DB4712", "description": "Announcements" }, { "name": "📰 Progress Report", "color": "392297", "description": "Development updates" }, @@ -140,8 +144,6 @@ jobs: name: >- 🎫 Labels › Verify Existing runs-on: ubuntu-latest - environment: - name: Orion steps: # # @@ -218,8 +220,6 @@ jobs: 🎫 Labels › Assign Missing runs-on: ubuntu-latest needs: job-labels-create - environment: - name: Orion steps: # # @@ -271,9 +271,9 @@ jobs: Change last number ( 36 = hours ) */ - const expireAfterMs = 1000 * 60 * 60 * 36; // milliseconds ( 36 hours ) - const curtime = new Date( ).getTime( ); // 1711471510629 - const issues = await github.rest.issues.listForRepo( { owner: context.repo.owner, repo: context.repo.repo, state: 'open' } ); + const expireAfterMs = 1000 * 60 * 60 * 36; // milliseconds ( 36 hours ) + const curtime = new Date( ).getTime( ); // 1711471510629 + const issues = await github.rest.issues.listForRepo( { owner: context.repo.owner, repo: context.repo.repo, state: 'open' } ); console.log( ` 📦── Found ${issues.data.length} open issues` ); @@ -339,7 +339,7 @@ jobs: Label > Bugs */ - const bug_bIncWordT = bug_words.some( s => s.includes( iss_title_lc ) || iss_title_lc.includes( s ) ); + const bug_bIncWordT = bug_words.some( s => s.includes( iss_title_lc ) || iss_title_lc.includes( s ) ); /* Find regex based phrases @@ -348,9 +348,9 @@ jobs: https://regex101.com/r/Z99Gnq/2 */ - const bug_findWordList = /^\b(?:I?\s*have\s*(?:a|an)\s*(?:issue|problem|bug))|(?:will\s*not\s*work)|(?:it\s*is\s*(?:broken|broke|stuck))|(?:found\s*(?:an?|the)\s*(?:bug|issue))|(?:can\s*I\s*fix\s*the\s*(?:bug|issue))|(?:(?:does not|doesn'?t|don'?t|won'?t|can'?t|can\s?not|will\s*not)\s*(?:work|load|function))|(?:it\s*(?:will\s?not|won'?t|can\s?not|can'?t))\s*(?:get|find)\s*the\s*(?:website|site|webpage|page)|(?:the\s*(?:window|frame)\s*is\s*(?:blank|white|empty|missing))\b$/igm; - const bug_bFoundMatchTitle = Boolean( bug_findWordList.test( iss_title ) ); - const bug_bFoundMatchBody = Boolean( bug_findWordList.test( iss_body ) ); + const bug_findWordList = /^\b(?:I?\s*have\s*(?:a|an)\s*(?:issue|problem|bug))|(?:will\s*not\s*work)|(?:it\s*is\s*(?:broken|broke|stuck))|(?:found\s*(?:an?|the)\s*(?:bug|issue))|(?:can\s*I\s*fix\s*the\s*(?:bug|issue))|(?:(?:does not|doesn'?t|don'?t|won'?t|can'?t|can\s?not|will\s*not)\s*(?:work|load|function))|(?:it\s*(?:will\s?not|won'?t|can\s?not|can'?t))\s*(?:get|find)\s*the\s*(?:website|site|webpage|page)|(?:the\s*(?:window|frame)\s*is\s*(?:blank|white|empty|missing))\b$/igm; + const bug_bFoundMatchTitle = Boolean( bug_findWordList.test( iss_title ) ); + const bug_bFoundMatchBody = Boolean( bug_findWordList.test( iss_body ) ); /* Do not change a title if the item starts with a PR: # @@ -359,8 +359,8 @@ jobs: https://regex101.com/r/JOrqbN/1 */ - const bug_findPRTitle = /^PR\s?#?(?:[0-9]*:)/igm; - const bug_bFoundPRTitle = Boolean( bug_findPRTitle.test( iss_title ) ); + const bug_findPRTitle = /^PR\s?#?(?:[0-9]*:)/igm; + const bug_bFoundPRTitle = Boolean( bug_findPRTitle.test( iss_title ) ); /* - Check if issue title matches the issue label "Bug:" @@ -378,11 +378,11 @@ jobs: // Rename title to contain Bug: if ( author !== `${{ env.BOT_NAME_DEPENDABOT }}` && !bug_bFoundPRTitle && !iss_title_lc.startsWith( bug_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( feat_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( urgn_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( road_tag.toLowerCase( ) ) ) { - const title = issue.title; - let title_new = title.replace( /^\s?bug\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?fail\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?issue\s*(.*?)\b/gi, '' ); - iss_title = `${ bug_tag } ${ title_new }`; + const title = issue.title; + let title_new = title.replace( /^\s?bug\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?fail\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?issue\s*(.*?)\b/gi, '' ); + iss_title = `${ bug_tag } ${ title_new }`; } await github.rest.issues.update( @@ -396,7 +396,7 @@ jobs: Label > Features */ - const feat_bIncWordT = feat_words.some( s => s.includes( iss_title_lc ) || iss_title_lc.includes( s ) ); + const feat_bIncWordT = feat_words.some( s => s.includes( iss_title_lc ) || iss_title_lc.includes( s ) ); /* Find regex based phrases @@ -405,7 +405,7 @@ jobs: https://regex101.com/r/fR1Hm6/1 */ - const feat_findWordList = /^(?:(?:request|include|see)\s*(?:an?|the?)\s*(?:feature|addon|addition|plugin))|(?:(?:add|see|get)\s*support\s*(?:for|with|of))|(?:can\s*we\s*get\s*(?:the|a)\s*(?:ability|feature))|(?:💡 Feature:)$/igm; + const feat_findWordList = /^(?:(?:request|include|see)\s*(?:an?|the?)\s*(?:feature|addon|addition|plugin))|(?:(?:add|see|get)\s*support\s*(?:for|with|of))|(?:can\s*we\s*get\s*(?:the|a)\s*(?:ability|feature))|(?:💡 Feature:)$/igm; const feat_bFoundMatchTitle = Boolean( feat_findWordList.test( iss_title ) ); const feat_bFoundMatchBody = Boolean( feat_findWordList.test( iss_body ) ); @@ -435,12 +435,12 @@ jobs: // Rename title to contain Feature: if ( author !== `${{ env.BOT_NAME_DEPENDABOT }}` && !feat_bFoundPRTitle && !iss_title_lc.startsWith( bug_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( feat_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( urgn_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( road_tag.toLowerCase( ) ) ) { - const title = issue.title; - let title_new = title.replace( /^\s?feature\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?request\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?add(.*?)\s?feature\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?add(.*?)\s?support\s*(.*?)\b/gi, '' ); - iss_title = `${ feat_tag } ${ title_new }`; + const title = issue.title; + let title_new = title.replace( /^\s?feature\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?request\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?add(.*?)\s?feature\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?add(.*?)\s?support\s*(.*?)\b/gi, '' ); + iss_title = `${ feat_tag } ${ title_new }`; } await github.rest.issues.update( @@ -454,7 +454,7 @@ jobs: Label > Urgent */ - const urgn_bIncWordT = urgn_words.some( s => s.includes( iss_title_lc ) || iss_title_lc.includes( s ) ); + const urgn_bIncWordT = urgn_words.some( s => s.includes( iss_title_lc ) || iss_title_lc.includes( s ) ); /* Find regex based phrases @@ -463,9 +463,9 @@ jobs: https://regex101.com/r/eE9tJX/2 */ - const urgn_findWordList = /(?:(?:this)?is\s*a?n?\s*?(?:emergency|urgent|important|vital|acute|crucial|grave|pressing|serious|top.?priority|high.?priority))|(?:reply|respond|answer|write|address)\s*(?:immediate|quick|asap|urgent|now|fast|(?:as)?\s*(?:soon|quick|immediate|fast))(?:ly)?|(?:need\s*(?:help|support|fixed|answer|reply|response)!)|(?:emergency|critical|urgen(?:t|cy)|high.?priority)/igm; - const urgn_bFoundMatchTitle = Boolean( urgn_findWordList.test( iss_title ) ); - const urgn_bFoundMatchBody = Boolean( urgn_findWordList.test( iss_body ) ); + const urgn_findWordList = /(?:(?:this)?is\s*a?n?\s*?(?:emergency|urgent|important|vital|acute|crucial|grave|pressing|serious|top.?priority|high.?priority))|(?:reply|respond|answer|write|address)\s*(?:immediate|quick|asap|urgent|now|fast|(?:as)?\s*(?:soon|quick|immediate|fast))(?:ly)?|(?:need\s*(?:help|support|fixed|answer|reply|response)!)|(?:emergency|critical|urgen(?:t|cy)|high.?priority)/igm; + const urgn_bFoundMatchTitle = Boolean( urgn_findWordList.test( iss_title ) ); + const urgn_bFoundMatchBody = Boolean( urgn_findWordList.test( iss_body ) ); /* Do not change a title if the item starts with a PR: # @@ -493,13 +493,13 @@ jobs: // Rename title to contain Urgent: if ( author !== `${{ env.BOT_NAME_DEPENDABOT }}` && !urgn_bFoundPRTitle && !iss_title_lc.startsWith( bug_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( feat_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( urgn_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( road_tag.toLowerCase( ) ) ) { - const title = issue.title; - let title_new = title.replace( /^\s?emergency\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?urgent\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?urgency\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?important\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?critical\s*(.*?)\b/gi, '' ); - iss_title = `${ urgn_tag } ${ title_new }`; + const title = issue.title; + let title_new = title.replace( /^\s?emergency\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?urgent\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?urgency\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?important\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?critical\s*(.*?)\b/gi, '' ); + iss_title = `${ urgn_tag } ${ title_new }`; } await github.rest.issues.update( @@ -523,9 +523,9 @@ jobs: https://regex101.com/r/ucajBZ/1 */ - const road_findWordList = /#\s*Summary[\S\s]+#\s*(?:Proposal|Objective)[^\]]+/igm; - const road_bFoundMatchTitle = Boolean( road_findWordList.test( iss_title ) ); - const road_bFoundMatchBody = Boolean( road_findWordList.test( iss_body ) ); + const road_findWordList = /#\s*Summary[\S\s]+#\s*(?:Proposal|Objective)[^\]]+/igm; + const road_bFoundMatchTitle = Boolean( road_findWordList.test( iss_title ) ); + const road_bFoundMatchBody = Boolean( road_findWordList.test( iss_body ) ); /* Do not change a title if the item starts with a PR: # @@ -534,8 +534,8 @@ jobs: https://regex101.com/r/JOrqbN/1 */ - const road_findPRTitle = /^PR\s?#?(?:[0-9]*:)/igm; - const road_bFoundPRTitle = Boolean( road_findPRTitle.test( iss_title ) ); + const road_findPRTitle = /^PR\s?#?(?:[0-9]*:)/igm; + const road_bFoundPRTitle = Boolean( road_findPRTitle.test( iss_title ) ); /* - Check if issue title matches the issue label "Roadmap:" @@ -553,13 +553,13 @@ jobs: // Rename title to contain Roadmap: if ( author !== `${{ env.BOT_NAME_DEPENDABOT }}` && !road_bFoundPRTitle && !iss_title_lc.startsWith( bug_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( feat_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( urgn_tag.toLowerCase( ) ) && !iss_title_lc.startsWith( road_tag.toLowerCase( ) ) ) { - const title = issue.title; - let title_new = title.replace( /^\s?emergency\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?urgent\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?urgency\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?important\s*(.*?)\b/gi, '' ); - title_new = title.replace( /^\s?critical\s*(.*?)\b/gi, '' ); - iss_title = `${ road_tag } ${ title_new }`; + const title = issue.title; + let title_new = title.replace( /^\s?emergency\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?urgent\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?urgency\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?important\s*(.*?)\b/gi, '' ); + title_new = title.replace( /^\s?critical\s*(.*?)\b/gi, '' ); + iss_title = `${ road_tag } ${ title_new }`; } await github.rest.issues.update( @@ -593,8 +593,6 @@ jobs: contents: write issues: write pull-requests: write - environment: - name: Orion steps: # # @@ -618,7 +616,7 @@ jobs: I am a bot reaching out to you with an automated response. stale-issue-label: 'Status 𐄂 Stale' - close-issue-label: 'Status 𐄂 ' + close-issue-label: 'Status 𐄂 Autoclosed' exempt-issue-labels: 'feature,Type ◦ Feature,bug,Type ◦ Bug' days-before-stale: 30 days-before-close: 7 @@ -636,8 +634,6 @@ jobs: needs: - job-labels-create - job-issues-nolabel - environment: - name: Orion steps: # # diff --git a/.github/workflows/labels-create.yml b/.github/workflows/labels-create.yml index 962204e..e5e4759 100644 --- a/.github/workflows/labels-create.yml +++ b/.github/workflows/labels-create.yml @@ -83,7 +83,6 @@ env: { "name": "› Enterprise", "color": "11447a", "description": "Issues about collaboration, administration, and so on" }, { "name": "› Hardware", "color": "5a7503", "description": "YubiKey, other tokens, biometrics" }, { "name": "› Import/Export", "color": "F5FFCC", "description": "Import from and export to different file formats" }, - { "name": "› kdbxweb", "color": "eb6420", "description": "Core library: https://github.com/keeweb/kdbxweb" }, { "name": "› Improvement", "color": "185c98", "description": "Enhance an existing feature" }, { "name": "› Performance", "color": "006b75", "description": "Web and desktop performance issues" }, { "name": "› Plugin Request", "color": "FCE9CA", "description": "Requested changes should be implemented as a plugin" }, @@ -92,7 +91,7 @@ env: { "name": "› Storage", "color": "5319e7", "description": "Storage providers: Dropbox, Google, WebDAV, etc." }, { "name": "› Updater", "color": "1BADDE", "description": "Auto-updater issues" }, { "name": "› UX", "color": "1BADDE", "description": "UX and usability" }, - { "name": "› Website", "color": "fef2c0", "description": "Website https://keeweb.info" }, + { "name": "› Website", "color": "fef2c0", "description": "Website related issues" }, { "name": "⚠ Urgent", "color": "a8740e", "description": "Requires urgent attention" }, { "name": "⚠ Announcement", "color": "DB4712", "description": "Announcements" }, { "name": "📰 Progress Report", "color": "392297", "description": "Development updates" }, @@ -122,8 +121,6 @@ jobs: contents: 'read' id-token: 'write' issues: 'write' - environment: - name: Orion steps: # # diff --git a/.github/workflows/ping-developer.yml b/.github/workflows/ping-developer.yml new file mode 100644 index 0000000..34434b2 --- /dev/null +++ b/.github/workflows/ping-developer.yml @@ -0,0 +1,175 @@ +# # +# @type github workflow +# @desc pings the developer +# @author Aetherinox +# @url https://github.com/Aetherinox +# # + +name: "⚙️ Ping › Developer" +run-name: "⚙️ Ping › Developer" + +# # +# triggers +# # + +on: + issue_comment: + types: [created] + +# # +# environment variables +# # + +env: + BOT_NAME_1: AdminServ + BOT_NAME_2: AdminServX + BOT_NAME_3: EuropaServ + BOT_NAME_DEPENDABOT: dependabot[bot] + +# # +# jobs +# +# env not available for job.if +# # + +jobs: + deploy: + runs-on: ubuntu-latest + if: | + contains(github.event.comment.body, '/ping') + steps: + + # # + # Job > Complete > Get publish timestamp + # # + + - name: "🕛 Get Timestamp" + id: task_complete_timestamp_get + run: | + echo "NOW=$(date +'%m-%d-%Y %H:%M:%S')" >> $GITHUB_ENV + + # # + # Add Label to accepted PR + # + # port 465 + # server_port: 465 + # secure: true + # ignore_cert: false + # + # port 587 + # server_port: 587 + # secure: false + # # + + - name: Send mail + uses: dawidd6/action-send-mail@v3 + with: + server_address: ${{secrets.EMAIL_SMTP}} + server_port: 465 + secure: true + username: ${{secrets.EMAIL_FROM}} + password: ${{secrets.EMAIL_KEY}} + subject: "Github: Ping notification from ${{ github.repository }}" + to: ${{secrets.EMAIL_TO}} + from: ${{secrets.EMAIL_FROM}} + html_body: | + + +
+ +