diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1fd3d65b..6f714886 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -395,7 +395,7 @@ release:gitlab-repo: # Remove all files in target repository (excluding .git folder) - find gitlab-secml -mindepth 1 -maxdepth 1 -not -name .git -exec rm -rv {} + # Copy al files in target repository (excluding .git folder and target repo folder) - - find . -mindepth 1 -maxdepth 1 -not -name .git -not -name .gitlab -not -name gitlab-secml -exec cp -r {} gitlab-secml/ \; + - find . -mindepth 1 -maxdepth 1 -not -name .git -not -name gitlab-secml -exec cp -r {} gitlab-secml/ \; # Commit and push - cd gitlab-secml - git add . # .gitignore will properly exclude what should be excluded diff --git a/.gitlab/issue_templates/Bug.md b/.gitlab/issue_templates/Bug.md new file mode 100644 index 00000000..f92aa8d3 --- /dev/null +++ b/.gitlab/issue_templates/Bug.md @@ -0,0 +1,32 @@ + + +(Summarize the bug encountered concisely) + +### Steps to reproduce + +(How one can reproduce the issue - **this is very important**) + +### [optional] What is the expected *correct* behavior? + +(What you are supposed to see in absence of the bug) + +### [optional] Relevant logs, screenshots, CI/CD tests + +(Paste any relevant logs, screenshots or links to specific CI/CD jobs +that are failing - please use code blocks (```) to format console output, +logs, and code as it's very hard to read otherwise.) + +### [optional] Possible fixes + +(Propose a possible fix for the reported problem) + +/label ~bug diff --git a/.gitlab/issue_templates/Direction.md b/.gitlab/issue_templates/Direction.md new file mode 100644 index 00000000..91beb28b --- /dev/null +++ b/.gitlab/issue_templates/Direction.md @@ -0,0 +1,28 @@ + + +(Summarize the direction feature to be developed.) + +## Todo list + +(List of issues to tackle specific components part of the direction. +After all issues in this list have been completed, direction issue can be closed.) + +* [ ] Issue title #ID +* [ ] Issue title #ID + +## Related issues + +(List of related issues but not part of the direction itself) + +#ID1, #ID2, ... + +/label ~direction diff --git a/.gitlab/issue_templates/Documentation.md b/.gitlab/issue_templates/Documentation.md new file mode 100644 index 00000000..c167307a --- /dev/null +++ b/.gitlab/issue_templates/Documentation.md @@ -0,0 +1,18 @@ + + +(Describe the documentation to be added or changed. +For code documentation, e.g. the doc for a class or a method, +a link to the related code should be provided. +Documentation is located in "docs/source" and follows the reST format. +**No code changes should be implemented**) + +/label ~documentation diff --git a/.gitlab/issue_templates/Improvement.md b/.gitlab/issue_templates/Improvement.md new file mode 100644 index 00000000..61a1d4df --- /dev/null +++ b/.gitlab/issue_templates/Improvement.md @@ -0,0 +1,19 @@ + + +(Summarize the improvement to be developed.) + +### Implementation plan + +(Describe the implementation details including code snippets if applicable. +Use code blocks (```) to make snippets properly readable.) + +/label ~improvement diff --git a/.gitlab/issue_templates/NewFeature.md b/.gitlab/issue_templates/NewFeature.md new file mode 100644 index 00000000..9c6d6d0c --- /dev/null +++ b/.gitlab/issue_templates/NewFeature.md @@ -0,0 +1,23 @@ + + +(Summarize the new feature to be developed. For implementing bigger/broader features, +a direction issue could be created instead.) + +### Implementation plan + +(Describe the implementation details. The plan should define, for example, +the name of the new classes/methods to implement and their position in the library. +It should also define what the new procedures to implement should do, +e.g. in terms of input/output for new methods. Include code snippets if applicable. +Use code blocks (```) to make snippets properly readable.) + +/label ~"new feature" diff --git a/.gitlab/issue_templates/Refactoring.md b/.gitlab/issue_templates/Refactoring.md new file mode 100644 index 00000000..4ada7977 --- /dev/null +++ b/.gitlab/issue_templates/Refactoring.md @@ -0,0 +1,20 @@ + + +(Summarize the refactoring to be performed. **The interface of functions/classes +and their output should not change.**) + +### Implementation plan + +(Describe the implementation details including code snippets if applicable. +Use code blocks (```) to make snippets properly readable.) + +/label ~refactoring diff --git a/.gitlab/merge_request_templates/Standard.md b/.gitlab/merge_request_templates/Standard.md new file mode 100644 index 00000000..371ca396 --- /dev/null +++ b/.gitlab/merge_request_templates/Standard.md @@ -0,0 +1,6 @@ +## Changelog +- Changelog line 1 [#ISSUEID] +- Changelog line 1 [#ISSUEID] + +Closes #ISSUEID, #ISSUEID +[Related to #ISSUEID, #ISSUEID] \ No newline at end of file diff --git a/.gitlab/triage-policies.yml b/.gitlab/triage-policies.yml new file mode 100644 index 00000000..c803fa86 --- /dev/null +++ b/.gitlab/triage-policies.yml @@ -0,0 +1,102 @@ +resource_rules: + issues: + rules: + - name: UnlabelledIssues + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 5 + state: opened + labels: + - No Label + limits: + most_recent: 50 + actions: + mention: + - m.melis + comment: | + {{author}} This issue is unlabelled after 5 days. It needs attention. Please take care of this before the end of #{2.days.from_now.strftime('%Y-%m-%d')} + - name: RemovePriorityAfterClosing + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 1 + state: closed + labels: + - priority-{medium, high} + limits: + oldest: 50 + actions: + remove_labels: + - priority-medium + - priority-high + - name: SetMilestoneLabel + conditions: + ruby: | + milestone&.title && milestone_open? && !has_milestone_label? + actions: + comment: | + /label ~"#{ milestone.title }" + #{ unlabel_no_milestone_labels } + + merge_requests: + rules: + - name: SetMilestoneLabel + conditions: + ruby: | + milestone&.title && milestone_open? && !has_milestone_label? + actions: + comment: | + /label ~"#{ milestone.title }" + #{ unlabel_no_milestone_labels } + - name: RemoveNeedReviewAfterClosingMerging + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 1 + ruby: milestone.state == "closed" || milestone.state == "merged" + labels: + - needs review + limits: + oldest: 50 + actions: + remove_labels: + - needs review + - name: RemovePriorityAfterClosing + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 1 + state: closed + labels: + - priority-{medium, high} + limits: + oldest: 50 + actions: + remove_labels: + - priority-medium + - priority-high + - name: RemovePriorityAfterMerging + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 1 + state: merged + labels: + - priority-{medium, high} + limits: + oldest: 50 + actions: + remove_labels: + - priority-medium + - priority-high diff --git a/.gitlab/triage_extra.rb b/.gitlab/triage_extra.rb new file mode 100644 index 00000000..301928cd --- /dev/null +++ b/.gitlab/triage_extra.rb @@ -0,0 +1,33 @@ +module TriageExtra + + def has_version_label? + version_labels.any? + end + + def milestone_open? + !milestone&.closed? + end + + def has_milestone_label? + labels.include?(milestone&.title) + end + + def no_milestone_labels + version_labels - [milestone&.title] + end + + def unlabel_no_milestone_labels + no_milestone_labels.empty? ? "" : "/unlabel " + no_milestone_labels.map { |i| "~\"" + i + "\"" }.join(" ") + end + + def labels + resource[:labels] + end + + def version_labels + labels.grep(/^v\d+\..*$/) + end + +end + +Gitlab::Triage::Resource::Context.include TriageExtra diff --git a/src/secml/VERSION b/src/secml/VERSION index 6d942fdd..699b2a2b 100644 --- a/src/secml/VERSION +++ b/src/secml/VERSION @@ -1 +1 @@ -0.13-rc1 \ No newline at end of file +0.13-rc2 \ No newline at end of file