diff --git a/.github/workflows/checkAndSubmitAddonMetadata.yml b/.github/workflows/checkAndSubmitAddonMetadata.yml index 3978200e0ad..e740b4a379c 100644 --- a/.github/workflows/checkAndSubmitAddonMetadata.yml +++ b/.github/workflows/checkAndSubmitAddonMetadata.yml @@ -55,6 +55,17 @@ jobs: const url = "GET /repos/" + process.env.GITHUB_REPOSITORY + "/compare/master..." + "${{ env.branchName }}" const result = await github.request(url) return getAddonFilename(result.data.files) + - name: Handle error in get add-on file name + if: ${{ failure() && steps.getAddonFileName.outcome == 'failure' }} + env: + GH_TOKEN: ${{ github.token }} + run: | + if (Test-Path "./validationErrors.md") { + gh issue comment "${{ inputs.issueNumber }}" --body-file ./validationErrors.md + gh issue close "${{ inputs.issueNumber }}" --reason "not planned" + } else { + gh issue comment "${{ inputs.issueNumber }}" --body "Submission validation failed unexpectedly. Please wait for a staff member to respond. This may take up to 2 weeks." + } - name: Determine add-on ID uses: actions/github-script@v7 id: getAddonId diff --git a/.github/workflows/checkFilesChanged.js b/.github/workflows/checkFilesChanged.js index a59a3403751..0b6180a3006 100644 --- a/.github/workflows/checkFilesChanged.js +++ b/.github/workflows/checkFilesChanged.js @@ -1,5 +1,5 @@ module.exports = getAddonFileName -const fs = require('fs') +const fs = require("fs") function getAddonFileName(changedFiles) { var addonFileName @@ -8,21 +8,18 @@ function getAddonFileName(changedFiles) { var errMsg if (filename.startsWith("addons")) { if (Boolean(addonFileName)){ - errMsg = "Please submit addon releases individually. One file at a time." - fs.writeFileSync('./validationErrors.md', errMsg) - throw errMsg + throw "Multiple add-on files updated." } if (fileData.status != "added") { - errMsg = "Modifications to submitted add-ons will not be auto-approved" - fs.writeFileSync('./validationErrors.md', errMsg) + errMsg = "This is a modification of a previously submitted add-on version. Please submit a new add-on version instead of modifying an existing one." + // Ensure an error message is passed on to the user when this happens. + fs.writeFileSync("./validationErrors.md", errMsg) throw errMsg } addonFileName = filename } else { - errMsg = "Non-addon-submission files updated. This will not be auto-approved." - fs.writeFileSync('./validationErrors.md', errMsg) - throw errMsg + throw "Non-addon-submission files updated." } } return addonFileName