Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
695ab4d
Upd PRs
AzzyDreemurr13 Feb 8, 2026
4abdacb
conflict-fix
AzzyDreemurr13 Feb 8, 2026
7bfc1ea
Bug-issue-upd
AzzyDreemurr13 Feb 8, 2026
8b778d0
Заканчиваем с обновлением
AzzyDreemurr13 Feb 8, 2026
e597c36
Нашел запятую
AzzyDreemurr13 Feb 8, 2026
39ad4b8
Issue pr upd (#1)
AzzyDreemurr13 Feb 8, 2026
8349b41
чиним 🧠 (значок localisation)
AzzyDreemurr13 Feb 8, 2026
9e5a5f1
Merge branch 'master' into Issue-PR-upd
AzzyDreemurr13 Feb 8, 2026
18821be
Issue pr upd (#3)
AzzyDreemurr13 Feb 8, 2026
415a7ba
fix3
AzzyDreemurr13 Feb 8, 2026
2741cf5
Issue pr upd (#6) (#7)
AzzyDreemurr13 Feb 8, 2026
0dc4049
Issue pr upd (#6) (#8)
AzzyDreemurr13 Feb 8, 2026
8ab1b42
нашел потерянное:
AzzyDreemurr13 Feb 8, 2026
0d9d80c
For test (#9)
AzzyDreemurr13 Feb 8, 2026
bdc692a
удаляем из живший себя код для этого ПРа
AzzyDreemurr13 Feb 8, 2026
7abe26e
Update proposal issue template in YAML format
AzzyDreemurr13 Feb 8, 2026
12682c3
более корректный код
AzzyDreemurr13 Feb 8, 2026
cca2374
Update .github/workflows/auto_labels_issue.yml
AzzyDreemurr13 Feb 16, 2026
3f6aeef
Apply suggestions from code review
AzzyDreemurr13 Feb 16, 2026
5114ed2
Update .github/workflows/stale.yml
AzzyDreemurr13 Feb 16, 2026
86ed19f
Расширения выдаваемых лейбов и обновление баг репорта
AzzyDreemurr13 Feb 18, 2026
46cdb29
Merge branch 'master' into Issue-PR-upd
AzzyDreemurr13 Feb 18, 2026
36883a8
Merge branch 'master' into Issue-PR-upd
AzzyDreemurr13 Feb 18, 2026
a0761d6
Убираем бесполезную валидацию
AzzyDreemurr13 Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 27 additions & 5 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,22 @@
name: "Сообщить о проблеме"
description: "Если что-то работает не так, как ожидалось."
labels: ["Bug"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я вот хзхз. Из минусов, надо в голове помнить, что старые баги были под ЛЕЙБЛОМ "баг", а под ТИПОМ "баг" новые.

Мне просто чет кажется, лучше баг-лейбл оставить на месте

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ответил в Дискорде

type: Bug
body:
- type: markdown
attributes:
value: "## Пожалуйста, не стирайте строчки, которые были автоматически созданы."
value: "## В игре есть кнопка «Bug Report» в правом верхнем углу игры, при её нажатии часть информации ниже заполнится автоматически."

- type: checkboxes
id: feature_scope
attributes:
label: "Категория бага"
description: "К какому типу контента относится проблема?"
options:
- label: "Код 👨‍💻"
- label: "Спрайты 🎨"
- label: "Карты 🗺️"
- label: "Перевод/Описание 🧠"


- type: textarea
id: description
Expand All @@ -13,10 +25,20 @@ body:
attributes:
label: "Описание"
description: "Опишите одну проблему как можно подробнее"
value: |
#### Что должно было произойти

#### Что произошло на самом деле
- type: textarea
id: whatmusthappen
validations:
required: true
attributes:
label: "Что должно было произойти"

- type: textarea
id: whathappenow
validations:
required: true
attributes:
label: "Что произошло на самом деле"

- type: textarea
id: reproduction
Expand Down
34 changes: 0 additions & 34 deletions .github/ISSUE_TEMPLATE/map_report.yml

This file was deleted.

14 changes: 12 additions & 2 deletions .github/ISSUE_TEMPLATE/proposal.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
name: "Оставить предложение"
title: "[Proposal] "
description: "Любые идеи."
labels: ["Proposal"]
type: Feature
body:
- type: checkboxes
id: feature_scope
attributes:
label: "Что потребует изменений?"
description: "Выберите тип изменений"
options:
- label: "Код 👨‍💻"
- label: "Спрайты 🎨"
- label: "Карты 🗺️"
- label: "Перевод/Описание 🧠"

- type: textarea
id: description
validations:
Expand Down
54 changes: 0 additions & 54 deletions .github/ISSUE_TEMPLATE/translation_report.yml

This file was deleted.

96 changes: 96 additions & 0 deletions .github/LABELER.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Changes to a .dmm or anything in the _map subfolder
'Map Edit':
- changed-files:
- any-glob-to-any-file:
- '**/*.dmm'

# Any .dmi changes
'Sprites':
- changed-files:
- any-glob-to-any-file:
- '**/*.dmi'

# Any sounds changes
'Sound':
- changed-files:
- any-glob-to-any-file:
- '**/*.aif'
- '**/*.aiff'
- '**/*.it'
- '**/*.mid'
- '**/*.midi'
- '**/*.mod'
- '**/*.mp3'
- '**/*.ogg'
- '**/*.oxm'
- '**/*.raw'
- '**/*.s3m'
- '**/*.wma'
- '**/*.wav'
- '**/*.xm'

# Changes to the SQL subfolder
'Database':
- changed-files:
- any-glob-to-any-file:
- 'SQL/**'

# Changes to the tgui subfolder
'UI':
- changed-files:
- any-glob-to-any-file:
- 'tgui/**'
- 'html/**'
- 'nano/**'

# Changes to the config subfolder
'Config Update':
- changed-files:
- any-glob-to-any-file:
- 'config/**/*'
- 'config/example/**/*'

# Changes to a .dm or anything in the code subfolder
'Code':
- changed-files:
- any-glob-to-any-file:
- '**/*.dm'

# Any .json changes
'javascript':
- changed-files:
- any-glob-to-any-file:
- '**/*.json'

# Changes to the .Github subfolder
'Maintainability Improvements':
- changed-files:
- any-glob-to-any-file:
- '.github/**'
- '.github/**/*'
- '.vscode/**/*'
- 'docs/**/*'
- 'scripts/**/*'
- 'test/**/*'
- '.codebeatignore'
- '.codebeatsettings'
- '.editorconfig'
- '.git*'
- 'biome.json'
- 'libmysql.dll'
- 'LICENSE'
- 'README.md'
- 'SpacemanDMM.toml'

# Changes to the Tools folder
'Tools':
- changed-files:
- any-glob-to-any-file:
- 'tools/**/*'

#Translation tools
'Translation/Localization':
- changed-files:
- any-glob-to-any-file:
- 'code/__DEFINES/_translation.dm'
- '.github/wiki/TRANSLATION.md'
127 changes: 127 additions & 0 deletions .github/workflows/auto_labels_issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
name: Auto Label Issues

on:
issues:
types: [opened]

permissions:
issues: write

jobs:
process-labels:
runs-on: ubuntu-latest
if: github.event.issue.state == 'open'

steps:
- name: Parse and add labels based on checkboxes
id: process_issue
uses: actions/github-script@v7
with:
script: |
const body = context.payload.issue.body;
console.log('Issue body:', body);

const labelsToAdd = [];
let foundCheckboxesSection = false;
let sectionToRemove = '';

const scopeMap = {
'Код 👨‍💻': 'Code',
'Спрайты 🎨': 'Sprites',
'Карты 🗺️': 'Map Issue',
'Перевод/Описание 🧠': 'Translation/Localization'
};

if (body) {
if (body.includes('Что потребует изменений?')) {
foundCheckboxesSection = true;
sectionToRemove = 'Что потребует изменений?';
console.log('Found "Что потребует изменений?" section');
} else if (body.includes('Категория бага')) {
foundCheckboxesSection = true;
sectionToRemove = 'Категория бага';
console.log('Found "Категория бага" section');
}

if (body.includes('[x]')) {
console.log('Found checked checkboxes in body');
for (const [checkboxLabel, labelName] of Object.entries(scopeMap)) {
const checkboxRegex = new RegExp('\\[x\\]\\s*' + checkboxLabel.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
if (checkboxRegex.test(body)) {
labelsToAdd.push(labelName);
console.log('Found selected:', checkboxLabel, '->', labelName);
}
}
}
}

const uniqueLabels = [...new Set(labelsToAdd)];
console.log('Labels to add:', uniqueLabels);

if (uniqueLabels.length > 0) {
try {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: uniqueLabels
});
console.log('Labels added successfully');
} catch (error) {
console.log('Error adding labels:', error);
}
}

core.setOutput('foundCheckboxesSection', foundCheckboxesSection);
core.setOutput('sectionToRemove', sectionToRemove);

return {
foundCheckboxesSection: foundCheckboxesSection,
sectionToRemove: sectionToRemove
};

- name: Clean up issue body
if: steps.process_issue.outputs.foundCheckboxesSection == 'true'
uses: actions/github-script@v7
env:
SECTION_TO_REMOVE: ${{ steps.process_issue.outputs.sectionToRemove }}
with:
script: |
const body = context.payload.issue.body;
const sectionToRemove = process.env.SECTION_TO_REMOVE;

console.log('Section to remove:', sectionToRemove);
console.log('Original body:', body);

if (!body || !sectionToRemove) {
console.log('No body or section to clean');
return;
}

let cleanedBody = body;

const regex = new RegExp('###?\\s*' + sectionToRemove + '[\\s\\S]*?((?=###)|$)', 'i');
cleanedBody = cleanedBody.replace(regex, '');
cleanedBody = cleanedBody.replace(/-\s*\[[x\s]\]\s*.*\n/g, '');
cleanedBody = cleanedBody.replace(/_No response_/g, '_Отсутствует_');
cleanedBody = cleanedBody.replace(/\n{3,}/g, '\n\n');
cleanedBody = cleanedBody.replace(/^###\s*$/gm, '');
cleanedBody = cleanedBody.trim();

console.log('Cleaned body:', cleanedBody);

if (body !== cleanedBody && cleanedBody.length > 0) {
try {
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: cleanedBody
});
console.log('Issue body cleaned successfully');
} catch (error) {
console.log('Error cleaning issue body:', error);
}
} else {
console.log('No changes to body needed');
}
Loading
Loading