Skip to content

Commit eb1619c

Browse files
committed
Merge branch 'master' into feat/testsuites
2 parents 7aeffb7 + 3c62b84 commit eb1619c

7 files changed

Lines changed: 219 additions & 2 deletions

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: build and test on pull request
2+
on:
3+
pull_request:
4+
branches: [master]
5+
jobs:
6+
build-and-test:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v5
10+
- name: Malware Scanner # https://github.com/dell/common-github-actions/blob/main/malware-scanner/README.md
11+
uses: dell/common-github-actions/malware-scanner@main
12+
with:
13+
directories: .
14+
options: -ri
15+
- name: Set up JDK 8 for x64
16+
uses: actions/setup-java@v4
17+
with:
18+
java-version: "8"
19+
distribution: "temurin"
20+
architecture: x64
21+
- run: mvn package -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: build and test on release
2+
on:
3+
push:
4+
tags:
5+
- "*"
6+
jobs:
7+
build-and-release:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v5
11+
- name: Set up JDK 8 for x64
12+
uses: actions/setup-java@v4
13+
with:
14+
java-version: "8"
15+
distribution: "temurin"
16+
architecture: x64
17+
- run: mvn package -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
18+
- name: "upload release assets"
19+
uses: softprops/action-gh-release@cd28b0f5ee8571b76cfdaa62a30d51d752317477 #https://github.com/softprops/action-gh-release/issues/216
20+
if: github.ref_type == 'tag'
21+
with:
22+
body: |
23+
:closed_book: File 1 of 1 uploaded: junit-xml-merger.jar
24+
files: |
25+
target/junit-xml-merger.jar
26+
append_body: true

.github/workflows/scan-malware.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: scan-malware
2+
on:
3+
pull_request:
4+
branches: [master]
5+
jobs:
6+
scan-malware:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v5
10+
- name: Malware Scanner # https://github.com/dell/common-github-actions/blob/main/malware-scanner/README.md
11+
uses: dell/common-github-actions/malware-scanner@main
12+
with:
13+
directories: .
14+
options: -ri

.github/workflows/scan-semgrep.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: scan-semgrep
2+
on:
3+
pull_request: {}
4+
workflow_dispatch: {}
5+
merge_group:
6+
types: [checks_requested]
7+
jobs:
8+
scan-semgrep:
9+
name: semgrep/ci
10+
runs-on: ubuntu-latest
11+
container:
12+
image: semgrep/semgrep
13+
# Skip any PR created by dependabot and any check triggered by merge group
14+
if: (github.actor != 'dependabot[bot]') && (github.event != 'merge_group')
15+
steps:
16+
- uses: actions/checkout@v4
17+
- run: semgrep ci
18+
env:
19+
SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ output.xml
55
.classpath
66
.project
77
.settings
8+
.DS_Store
9+
.dccache

CODE_OF_CONDUCT.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, religion, or sexual identity
10+
and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Strict No LLM / No AI Policy
16+
17+
* No LLMs for issues.
18+
* No LLMs for pull requests.
19+
* No LLMs for comments on the bug tracker, including translation.
20+
21+
## Our Standards
22+
23+
Examples of behavior that contributes to a positive environment for our
24+
community include:
25+
26+
* Demonstrating empathy and kindness toward other people
27+
* Being respectful of differing opinions, viewpoints, and experiences
28+
* Giving and gracefully accepting constructive feedback
29+
* Accepting responsibility and apologizing to those affected by our mistakes,
30+
and learning from the experience
31+
* Focusing on what is best not just for us as individuals, but for the
32+
overall community
33+
34+
Examples of unacceptable behavior include:
35+
36+
* The use of sexualized language or imagery, and sexual attention or
37+
advances of any kind
38+
* Trolling, insulting or derogatory comments, and personal or political attacks
39+
* Public or private harassment
40+
* Publishing others' private information, such as a physical or email
41+
address, without their explicit permission
42+
* Other conduct which could reasonably be considered inappropriate in a
43+
professional setting
44+
45+
## Enforcement Responsibilities
46+
47+
Community leaders are responsible for clarifying and enforcing our standards of
48+
acceptable behavior and will take appropriate and fair corrective action in
49+
response to any behavior that they deem inappropriate, threatening, offensive,
50+
or harmful.
51+
52+
Community leaders have the right and responsibility to remove, edit, or reject
53+
comments, commits, code, wiki edits, issues, and other contributions that are
54+
not aligned to this Code of Conduct, and will communicate reasons for moderation
55+
decisions when appropriate.
56+
57+
## Scope
58+
59+
This Code of Conduct applies within all community spaces, and also applies when
60+
an individual is officially representing the community in public spaces.
61+
Examples of representing our community include using an official e-mail address,
62+
posting via an official social media account, or acting as an appointed
63+
representative at an online or offline event.
64+
65+
## Enforcement
66+
67+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
68+
reported to the community leaders responsible for enforcement at
69+
codeclou.io.
70+
All complaints will be reviewed and investigated promptly and fairly.
71+
72+
All community leaders are obligated to respect the privacy and security of the
73+
reporter of any incident.
74+
75+
## Enforcement Guidelines
76+
77+
Community leaders will follow these Community Impact Guidelines in determining
78+
the consequences for any action they deem in violation of this Code of Conduct:
79+
80+
### 1. Correction
81+
82+
**Community Impact**: Use of inappropriate language or other behavior deemed
83+
unprofessional or unwelcome in the community.
84+
85+
**Consequence**: A private, written warning from community leaders, providing
86+
clarity around the nature of the violation and an explanation of why the
87+
behavior was inappropriate. A public apology may be requested.
88+
89+
### 2. Warning
90+
91+
**Community Impact**: A violation through a single incident or series
92+
of actions.
93+
94+
**Consequence**: A warning with consequences for continued behavior. No
95+
interaction with the people involved, including unsolicited interaction with
96+
those enforcing the Code of Conduct, for a specified period of time. This
97+
includes avoiding interactions in community spaces as well as external channels
98+
like social media. Violating these terms may lead to a temporary or
99+
permanent ban.
100+
101+
### 3. Temporary Ban
102+
103+
**Community Impact**: A serious violation of community standards, including
104+
sustained inappropriate behavior.
105+
106+
**Consequence**: A temporary ban from any sort of interaction or public
107+
communication with the community for a specified period of time. No public or
108+
private interaction with the people involved, including unsolicited interaction
109+
with those enforcing the Code of Conduct, is allowed during this period.
110+
Violating these terms may lead to a permanent ban.
111+
112+
### 4. Permanent Ban
113+
114+
**Community Impact**: Demonstrating a pattern of violation of community
115+
standards, including sustained inappropriate behavior, harassment of an
116+
individual, or aggression toward or disparagement of classes of individuals.
117+
118+
**Consequence**: A permanent ban from any sort of public interaction within
119+
the community.
120+
121+
## Attribution
122+
123+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
124+
version 2.0, available at
125+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
126+
127+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
128+
enforcement ladder](https://github.com/mozilla/diversity).
129+
130+
[homepage]: https://www.contributor-covenant.org
131+
132+
For answers to common questions about this code of conduct, see the FAQ at
133+
https://www.contributor-covenant.org/faq. Translations are available at
134+
https://www.contributor-covenant.org/translations.

src/main/java/io/codeclou/java/junit/xml/merger/JunitXmlParser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,9 @@ public class JunitXmlParser {
5353
private Boolean hasFileNotFoundErrors = false;
5454

5555
protected Collection<TestSuite> parseTestSuites(File filename) throws ParserConfigurationException, SAXException, IOException {
56-
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
57-
DocumentBuilder builder = factory.newDocumentBuilder();
56+
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
57+
dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
58+
DocumentBuilder builder = dbf.newDocumentBuilder();
5859
Document document = builder.parse(filename);
5960
return transform(document.getFirstChild());
6061
}

0 commit comments

Comments
 (0)