Skip to content

Commit 81f7f01

Browse files
committed
ci: initial commit
- Initial commit with project source code - Setup CI/CD
0 parents  commit 81f7f01

File tree

970 files changed

+183422
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

970 files changed

+183422
-0
lines changed

.commitlintrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": ["@commitlint/config-conventional"]
3+
}
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
name: Bug Report
2+
description: File a bug report.
3+
title: ":lady_beetle: "
4+
labels: ["bug", "triage"]
5+
assignees: []
6+
type: bug
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
## Environment
12+
13+
- type: input
14+
id: java-version
15+
attributes:
16+
label: Java version
17+
description: e.g., 17.0.10
18+
placeholder: 17.0.10
19+
validations:
20+
required: true
21+
22+
- type: input
23+
id: os
24+
attributes:
25+
label: OS
26+
description: e.g., Ubuntu 24.04, MacOS, Win 11
27+
placeholder: Ubuntu 24.04
28+
validations:
29+
required: true
30+
31+
- type: input
32+
id: architecture
33+
attributes:
34+
label: Architecture
35+
description: e.g., amd64, arm
36+
placeholder: amd64
37+
validations:
38+
required: true
39+
40+
- type: input
41+
id: tjsdk-version
42+
attributes:
43+
label: Tarantool Java SDK version
44+
description: e.g., 1.2.3
45+
placeholder: 1.2.3
46+
validations:
47+
required: true
48+
49+
- type: textarea
50+
id: other-deps
51+
attributes:
52+
label: Other relevant dependencies and versions
53+
description: List any other relevant dependencies and their versions.
54+
placeholder: |
55+
- testcontainers: 1.19.7
56+
- ...
57+
validations:
58+
required: false
59+
60+
- type: markdown
61+
attributes:
62+
value: |
63+
## Describe the bug
64+
65+
- type: textarea
66+
id: bug-description
67+
attributes:
68+
label: Bug description
69+
description: A clear and concise description of what the bug is.
70+
placeholder: Describe the bug here.
71+
validations:
72+
required: true
73+
74+
- type: markdown
75+
attributes:
76+
value: |
77+
## Steps to Reproduce
78+
79+
- type: textarea
80+
id: steps-to-reproduce
81+
attributes:
82+
label: Steps to reproduce
83+
description: Please provide a step-by-step guide to reproduce the issue.
84+
placeholder: |
85+
1. Go to '...'
86+
2. Run command '...'
87+
3. See error
88+
validations:
89+
required: true
90+
91+
- type: markdown
92+
attributes:
93+
value: |
94+
## Expected behavior
95+
96+
- type: textarea
97+
id: expected-behavior
98+
attributes:
99+
label: Expected behavior
100+
description: What did you expect to happen?
101+
placeholder: Describe the expected behavior.
102+
validations:
103+
required: true
104+
105+
- type: markdown
106+
attributes:
107+
value: |
108+
## Actual behavior
109+
110+
- type: textarea
111+
id: actual-behavior
112+
attributes:
113+
label: Actual behavior
114+
description: What actually happened? Please include full error messages and stack traces if available.
115+
placeholder: Describe the actual behavior.
116+
validations:
117+
required: true
118+
119+
- type: markdown
120+
attributes:
121+
value: |
122+
## Additional context
123+
124+
- type: textarea
125+
id: additional-context
126+
attributes:
127+
label: Additional context
128+
description: Add any other context about the problem here, including links to related issues, logs, screenshots, or configuration files.
129+
placeholder: Additional context
130+
validations:
131+
required: false
132+
133+
- type: markdown
134+
attributes:
135+
value: |
136+
## Minimal reproducible example (if possible)
137+
138+
- type: textarea
139+
id: minimal-example
140+
attributes:
141+
label: Minimal reproducible example
142+
description: Please provide a minimal code sample or a link to a repository that demonstrates the issue.
143+
placeholder: |
144+
```java
145+
// Your code here
146+
```
147+
validations:
148+
required: false
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Feature Request
2+
description: Suggest an idea or enhancement for this project
3+
title: "[FEATURE] "
4+
labels:
5+
- enhancement
6+
assignees: []
7+
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
## Summary
13+
14+
- type: textarea
15+
id: summary
16+
attributes:
17+
label: Summary
18+
description: A clear and concise description of the feature or enhancement you are requesting.
19+
placeholder: Describe the feature or enhancement you are requesting.
20+
validations:
21+
required: true
22+
23+
- type: markdown
24+
attributes:
25+
value: |
26+
## Motivation
27+
28+
- type: textarea
29+
id: motivation
30+
attributes:
31+
label: Motivation
32+
description: Why do you need this feature? What problem does it solve or what use case does it address?
33+
placeholder: Explain why you need this feature.
34+
validations:
35+
required: true
36+
37+
- type: markdown
38+
attributes:
39+
value: |
40+
## Proposed Solution
41+
42+
- type: textarea
43+
id: proposed-solution
44+
attributes:
45+
label: Proposed Solution
46+
description: Describe the solution you'd like. If possible, provide examples of how the feature would work, including code snippets or API changes.
47+
placeholder: Describe your proposed solution.
48+
validations:
49+
required: false
50+
51+
- type: markdown
52+
attributes:
53+
value: |
54+
## Alternatives Considered
55+
56+
- type: textarea
57+
id: alternatives
58+
attributes:
59+
label: Alternatives Considered
60+
description: Have you considered alternative solutions or workarounds? If so, please describe them.
61+
placeholder: List any alternative solutions or workarounds you have considered.
62+
validations:
63+
required: false
64+
65+
- type: markdown
66+
attributes:
67+
value: |
68+
## Additional Context
69+
70+
- type: textarea
71+
id: additional-context
72+
attributes:
73+
label: Additional Context
74+
description: Add any other context, screenshots, or references to related issues, pull requests, or external resources.
75+
placeholder: Additional context, links, screenshots, etc.
76+
validations:
77+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "maven" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
target-branch: "master"
11+
schedule:
12+
interval: "monthly"
13+
# Disable all pull Maven dependencies
14+
open-pull-requests-limit: 5
15+
16+
- package-ecosystem: "github-actions"
17+
directory: "/"
18+
target-branch: "master"
19+
schedule:
20+
interval: "weekly"
21+
open-pull-requests-limit: 5

.github/pull_request_template.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<!-- What has been done? Why? What problem is being solved? -->
2+
3+
4+
I haven't forgotten about:
5+
- [ ] Tests
6+
- [ ] Changelog
7+
- [ ] Documentation
8+
- [ ] JavaDoc was written
9+
- [ ] Commit messages comply with the [guideline](https://www.tarantool.io/en/doc/latest/dev_guide/developer_guidelines/#how-to-write-a-commit-message)
10+
- [ ] Cleanup the code for review. See [checklist](https://github.com/tarantool/cartridge-java/blob/master/docs/review-checklist.md)
11+
12+
Related issues:
13+
<!-- Needed for #123 -->
14+
<!-- See also #456, #789 -->
15+
<!-- Part of #123 -->
16+
<!-- Closes #456 -->
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: dev-documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
workflow_dispatch:
8+
9+
# Мы хотим чтобы deploy в ветку gh-pages
10+
# происходили консистентно друг за другом
11+
concurrency:
12+
group: deploy-docs
13+
cancel-in-progress: false
14+
15+
permissions:
16+
contents: write
17+
18+
jobs:
19+
deploy:
20+
name: Deploy dev documentation
21+
runs-on: ubuntu-22.04
22+
defaults:
23+
run:
24+
working-directory: documentation
25+
steps:
26+
- uses: actions/checkout@v6
27+
with:
28+
fetch-depth: 0
29+
- name: Configure Git user
30+
run: |
31+
git config user.email "[email protected]"
32+
git config user.name "GitHub Actions"
33+
- name: Setup python
34+
uses: actions/setup-python@v5
35+
with:
36+
python-version: 3.x
37+
cache: 'pip'
38+
- name: Download mkdocs plugins
39+
run: pip install -r requirements.txt
40+
- name: Deploy documentation into gh-pages branch
41+
run: mike deploy dev --push
42+
- name: Setup default version
43+
run: mike set-default dev --push
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Prepare Release to Maven Central
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
releaseVersion:
7+
description: 'Release and tag version'
8+
required: true
9+
default: "1.5.0"
10+
developmentVersion:
11+
description: 'Version to use for new working copy'
12+
required: true
13+
default: '2.0.0-SNAPSHOT'
14+
15+
jobs:
16+
release:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout code
20+
uses: actions/checkout@v6
21+
with:
22+
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
23+
24+
- name: Set up JDK 17
25+
uses: actions/setup-java@v5
26+
with:
27+
distribution: 'temurin'
28+
java-version: '17'
29+
cache: 'maven'
30+
31+
- name: Configure Git user
32+
run: |
33+
git config user.email "[email protected]"
34+
git config user.name "GitHub Actions"
35+
36+
- name: Run release release.yml
37+
env:
38+
GITHUB_ACTOR: ${{ github.actor }}
39+
GITHUB_TOKEN: ${{ github.token }}
40+
RELEASE_VERSION: ${{ github.event.inputs.releaseVersion }}
41+
DEVELOPMENT_VERSION: ${{ github.event.inputs.developmentVersion }}
42+
run: |
43+
./mvnw release:prepare -DskipTests -Darguments=-DskipTests \
44+
-DreleaseVersion="$RELEASE_VERSION" -Dtag="$RELEASE_VERSION" \
45+
-DdevelopmentVersion="$DEVELOPMENT_VERSION"

.github/workflows/release.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Publish Release to Maven Central
2+
3+
on:
4+
push:
5+
tags:
6+
- '[0-9]+.[0-9]+.[0-9]+'
7+
8+
jobs:
9+
release:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v6
14+
15+
- name: Set up JDK 17
16+
uses: actions/setup-java@v5
17+
with:
18+
distribution: 'temurin'
19+
java-version: '17'
20+
cache: 'maven'
21+
server-id: central
22+
server-username: MAVEN_USERNAME
23+
server-password: MAVEN_TOKEN
24+
gpg-private-key: ${{ secrets.MAVEN_CENTRAL_GPG_PRIVATE_KEY }}
25+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
26+
27+
- name: Publish to Maven Central
28+
run: |
29+
./mvnw -B clean deploy -PsonatypeRelease -DskipTests -pl '!jacoco-coverage-aggregate-report'
30+
env:
31+
MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USER }}
32+
MAVEN_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
33+
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_CENTRAL_GPG_PASSPHRASE }}

0 commit comments

Comments
 (0)