Packaging: the binary and package are inbuxa, INBUXA_* settings with STALWART_* fallback
- crates/main: package and [[bin]] renamed to inbuxa; homepage inbuxa.org; license AGPL-3.0-only (upstream is dual; the fork takes the AGPL). - types::branding::env_var reads INBUXA_<name>, falling back to STALWART_<name> with a warning, for all nine server settings. STALWART_APP_ and STALWART_SPAM_* storage keys are unchanged. - New-install default paths /var/lib/inbuxa and /var/log/inbuxa. - Dockerfiles, systemd unit, launchd plist and AppArmor profile renamed. - Upstream's .github moved to .github-upstream so none of it runs. - install.sh stubbed: upstream's would install Stalwart. - Two missed brand strings: the SMTP Received header and the utils user agent.
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
name: Auto-close untriaged issues
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened, reopened]
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
auto-close:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Close issues from non-allowed authors
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
// Users allowed to open issues directly. All other authors will have
|
||||
// their issues auto-closed. Add GitHub usernames (lowercase) here to
|
||||
// grant additional contributors permission to open issues.
|
||||
const allowedAuthors = [
|
||||
'mdecimus',
|
||||
];
|
||||
|
||||
const issue = context.payload.issue;
|
||||
const author = (issue.user && issue.user.login) || '';
|
||||
|
||||
if (allowedAuthors.includes(author.toLowerCase())) {
|
||||
core.info(`Issue #${issue.number} opened by allowed author '${author}'. Skipping.`);
|
||||
return;
|
||||
}
|
||||
|
||||
const comment = [
|
||||
`Hi @${author}, thanks for taking the time to file this report.`,
|
||||
``,
|
||||
`This issue is being **automatically closed** because all bug reports must first be triaged at our support portal: **[support.stalw.art](https://support.stalw.art)**. Please re-post this report there so that a maintainer can review it; once confirmed as a bug, an Issue will be created on your behalf.`,
|
||||
``,
|
||||
`You can sign in to support.stalw.art with your existing GitHub account, so no separate registration is required.`,
|
||||
``,
|
||||
`Thank you for understanding.`,
|
||||
].join('\n');
|
||||
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
body: comment,
|
||||
});
|
||||
|
||||
await github.rest.issues.update({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
state: 'closed',
|
||||
state_reason: 'not_planned',
|
||||
});
|
||||
|
||||
try {
|
||||
await github.rest.issues.lock({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
lock_reason: 'off-topic',
|
||||
});
|
||||
} catch (err) {
|
||||
core.warning(`Could not lock issue #${issue.number}: ${err.message}`);
|
||||
}
|
||||
Reference in New Issue
Block a user