Skip to content

Commit 8bf2358

Browse files
Initial commit
0 parents  commit 8bf2358

26 files changed

+937
-0
lines changed

.gitattributes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
* text=auto eol=lf
2+
*.[cC][mM][dD] text eol=crlf
3+
*.[bB][aA][tT] text eol=crlf
4+
*.[pP][sS]1 text eol=crlf
5+

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[BUG]"
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Insert a clear description in order to enable us to reproduce the bug.
15+
16+
**Expected behavior**
17+
A clear and concise description of what you expected to happen.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: "[FEAT]"
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Describe your feature request**
11+
A clear and concise description of what the problem is.
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
name: Build & Deploy
2+
3+
on:
4+
push:
5+
paths-ignore:
6+
- '.gitignore'
7+
- '.mergify.yml'
8+
- 'CHANGELOG.md'
9+
- 'LICENSE'
10+
- 'README.md'
11+
- 'renovate.json'
12+
pull_request:
13+
14+
jobs:
15+
validation:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout the repository
19+
uses: actions/checkout@v3
20+
- name: Validate the Gradle Wrapper
21+
uses: gradle/[email protected]
22+
build:
23+
needs:
24+
- validation
25+
strategy:
26+
matrix:
27+
os: [ubuntu, macos, windows]
28+
java-version: [11, 17]
29+
runs-on: ${{ matrix.os }}-latest
30+
steps:
31+
- name: Checkout the repository
32+
uses: actions/checkout@v3
33+
with:
34+
submodules: recursive
35+
fetch-depth: 0
36+
- name: Setup Java
37+
uses: actions/setup-java@v3
38+
with:
39+
java-version: '17'
40+
distribution: adopt
41+
- name: Run quality assurance and test with coverage
42+
run: ./gradlew clean check
43+
- name: CodeCov
44+
uses: codecov/[email protected]
45+
with:
46+
directory: "build/reports/jacoco"
47+
release:
48+
concurrency:
49+
# Allow only one release at a time.
50+
group: release-${{ github.event.number || github.ref }}
51+
needs:
52+
- build
53+
runs-on: ubuntu-latest
54+
outputs:
55+
release-status: ${{ env.release_status }}
56+
release-version: ${{ env.release_version }}
57+
# Release only where secrets are available.
58+
if: >-
59+
!github.event.repository.fork
60+
&& (
61+
github.event_name != 'pull_request'
62+
|| github.event.pull_request.head.repo.full_name == github.repository
63+
)
64+
steps:
65+
- name: Checkout the repository
66+
uses: actions/checkout@v3
67+
with:
68+
token: ${{ secrets.DEPLOYMENT_TOKEN }}
69+
submodules: recursive
70+
fetch-depth: 0
71+
- name: Setup Node.js
72+
uses: actions/setup-node@v3
73+
with:
74+
node-version: "lts/*"
75+
- name: Release
76+
env:
77+
GITHUB_TOKEN: ${{ secrets.DEPLOYMENT_TOKEN }}
78+
run: |
79+
npm install
80+
npx semantic-release
81+
docker-image-delivery:
82+
needs:
83+
- release
84+
runs-on: ubuntu-latest
85+
if: needs.release.outputs.release-status == 'released'
86+
env:
87+
REGISTRY: ghcr.io
88+
IMAGE_NAME: ${{ github.repository }}
89+
steps:
90+
- name: Checkout the repository
91+
uses: actions/checkout@v3
92+
with:
93+
submodules: recursive
94+
fetch-depth: 0
95+
- name: Login to GitHub Container registry
96+
uses: docker/[email protected]
97+
with:
98+
registry: ${{ env.REGISTRY }}
99+
username: ${{ github.actor }}
100+
password: ${{ secrets.GITHUB_TOKEN }}
101+
- id: full-image-name
102+
run: echo "image-name=${{env.REGISTRY}}/${{env.IMAGE_NAME}}" | tr '[:upper:]' '[:lower:]' >> $GITHUB_OUTPUT
103+
- name: Build and push the image to GitHub Container registry
104+
uses: docker/[email protected]
105+
with:
106+
context: .
107+
push: true
108+
tags: ${{ steps.full-image-name.outputs.image-name }}:latest, ${{ steps.full-image-name.outputs.image-name }}:${{ needs.release.outputs.release-version }}
109+
documentation-deploy:
110+
needs:
111+
- release
112+
runs-on: ubuntu-latest
113+
# Update documentation only when there is a new release
114+
if: needs.release.outputs.release-status == 'released'
115+
steps:
116+
- name: Checkout the repository
117+
uses: actions/checkout@v3
118+
with:
119+
submodules: recursive
120+
fetch-depth: 0
121+
- name: Generate Documentation
122+
run: ./gradlew dokkaHtml
123+
- name: Deploy documentation on GitHub Pages
124+
uses: peaceiris/actions-gh-pages@v3
125+
with:
126+
github_token: ${{ secrets.GITHUB_TOKEN }}
127+
keep_files: true
128+
publish_dir: ./build/dokka/html
129+
user_name: 'github-actions[bot]'
130+
user_email: 'github-actions[bot]@users.noreply.github.com'
131+
commit_message: 'docs: update documentation'
132+
success:
133+
runs-on: ubuntu-22.04
134+
needs:
135+
- build
136+
- release
137+
- docker-image-delivery
138+
- documentation-deploy
139+
if: >-
140+
always() && (
141+
contains(join(needs.*.result, ','), 'failure')
142+
|| !contains(join(needs.*.result, ','), 'cancelled')
143+
)
144+
steps:
145+
- name: Verify that there were no failures
146+
run: ${{ !contains(join(needs.*.result, ','), 'failure') }}

.gitignore

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
.DS_Store
2+
.idea/shelf
3+
/confluence/target
4+
/dependencies/repo
5+
/android.tests.dependencies
6+
/dependencies/android.tests.dependencies
7+
/dist
8+
/local
9+
/gh-pages
10+
/ideaSDK
11+
/clionSDK
12+
/android-studio/sdk
13+
out/
14+
/tmp
15+
/intellij
16+
workspace.xml
17+
*.versionsBackup
18+
/idea/testData/debugger/tinyApp/classes*
19+
/jps-plugin/testData/kannotator
20+
/js/js.translator/testData/out/
21+
/js/js.translator/testData/out-min/
22+
/js/js.translator/testData/out-pir/
23+
.gradle/
24+
build/
25+
bin/
26+
!**/src/**/build
27+
!**/test/**/build
28+
*.iml
29+
!**/testData/**/*.iml
30+
.idea/remote-targets.xml
31+
.idea/libraries/Gradle*.xml
32+
.idea/libraries/Maven*.xml
33+
.idea/artifacts/PILL_*.xml
34+
.idea/artifacts/KotlinPlugin.xml
35+
.idea/modules
36+
.idea/runConfigurations/JPS_*.xml
37+
.idea/runConfigurations/PILL_*.xml
38+
.idea/runConfigurations/_FP_*.xml
39+
.idea/runConfigurations/_MT_*.xml
40+
.idea/libraries
41+
.idea/modules.xml
42+
.idea/gradle.xml
43+
.idea/compiler.xml
44+
.idea/inspectionProfiles/profiles_settings.xml
45+
.idea/.name
46+
.idea/artifacts/dist_auto_*
47+
.idea/artifacts/dist.xml
48+
.idea/artifacts/ideaPlugin.xml
49+
.idea/artifacts/kotlinc.xml
50+
.idea/artifacts/kotlin_compiler_jar.xml
51+
.idea/artifacts/kotlin_plugin_jar.xml
52+
.idea/artifacts/kotlin_jps_plugin_jar.xml
53+
.idea/artifacts/kotlin_daemon_client_jar.xml
54+
.idea/artifacts/kotlin_imports_dumper_compiler_plugin_jar.xml
55+
.idea/artifacts/kotlin_main_kts_jar.xml
56+
.idea/artifacts/kotlin_compiler_client_embeddable_jar.xml
57+
.idea/artifacts/kotlin_reflect_jar.xml
58+
.idea/artifacts/kotlin_stdlib_js_ir_*
59+
.idea/artifacts/kotlin_test_js_ir_*
60+
.idea/artifacts/kotlin_stdlib_wasm_*
61+
.idea/artifacts/kotlinx_atomicfu_runtime_*
62+
.idea/artifacts/kotlinx_cli_jvm_*
63+
.idea/jarRepositories.xml
64+
.idea/csv-plugin.xml
65+
.idea/libraries-with-intellij-classes.xml
66+
.idea/misc.xml
67+
.idea/protoeditor.xml
68+
.idea/kotlinc.xml
69+
.idea/vcs.xml
70+
.idea/checkstyle-idea.xml
71+
.idea/git_toolbox_prj.xml
72+
node_modules/
73+
.rpt2_cache/
74+
libraries/tools/kotlin-test-js-runner/lib/
75+
local.properties
76+
buildSrcTmp/
77+
distTmp/
78+
outTmp/
79+
/test.output
80+
/kotlin-native/dist
81+
kotlin-ide/
82+
.vscode/*

.idea/codeStyles/Project.xml

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/codeStyles/codeStyleConfig.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/copyright/SmartOperatingBlock.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/copyright/profiles_settings.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.mergify.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
pull_request_rules:
2+
- name: Automatic PR Update
3+
conditions:
4+
- check-success=success
5+
actions:
6+
update:
7+
- name: rebase-merge working updates
8+
conditions:
9+
- author=renovate[bot]
10+
- label=dependencies
11+
- -draft
12+
- -conflict
13+
- check-success=success
14+
actions:
15+
merge:
16+
method: rebase

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
## [0.1.1](https://github.com/SmartOperatingBlock/kotlin-template-project/compare/0.1.0...0.1.1) (2023-02-06)
2+
3+
4+
### General maintenance
5+
6+
* activate publish on github pages by semantic release plugin ([8a9001c](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/8a9001cea81ea319a19af37f6545a0bc7a86a31d))
7+
* add Dockerfile ([2a36c9f](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/2a36c9f6b542ffb6d59fe8b3a915f15b83dae755))
8+
* add plugin for publish documentation to github pages ([99eb3c8](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/99eb3c8e3fd98388f268fc1443e6f8186e44606e))
9+
* change plugin for publish documentation to github pages ([ced9b0a](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/ced9b0ab4d85184eb7cca15726c1e156e82bff7d))
10+
* configure semantic release to deploy documentation on github pages ([683e53f](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/683e53f6383286a7ee51a2a4d9d5d6cac8221e2c))
11+
* ensure ci success before merging pull request ([4c124f4](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/4c124f4ab5dc3533f343fb84c3261bdd82ebf8e3))
12+
* update gitignore ([d1d1ba3](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/d1d1ba3a8d1ed41c8fdbc6e68a1fa48121bb8500))
13+
* update gitignore with checkstyle-idea file ([5065596](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/506559626d185616be0b497f828b3954a6a7639c))
14+
* update README ([f9800e0](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/f9800e04b39a1ae2826adbff26592f08fba534cd))
15+
16+
17+
### Build and continuous integration
18+
19+
* add codecov action to generate coverage from jacoco report ([e0365aa](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/e0365aa1d2b767c1d773106f74f00489a461c544))
20+
* add docker image auto delivery ([05f996d](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/05f996d993fd29f7dfb9f8f268d8d1cca365fab2))
21+
* add docs generation step ([6073bda](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/6073bdaa781bf7679de69ffa711b7af8834b7f36))
22+
* **deps:** update docker/build-push-action action to v3.3.1 ([a19985a](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/a19985a3d47ce45d4c1133527c89314eeb3257fe))
23+
* **deps:** update docker/build-push-action action to v4 ([2f667d7](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/2f667d7835f9c55f6de1cc5f808de51d973b645d))
24+
* export version number from semantic release ([922a212](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/922a2125cb81b830026737608e7d0bd04cab57bc))
25+
* make image name lowercase ([3e34d6d](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/3e34d6d37b2ad7b682b0418ff2c2e6ed6f690327))
26+
* modify condition for documentation deploy ([76fcef6](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/76fcef6b274f8489ce642c2d49c77ae2cd572a16))
27+
* modify release concurrency group ([9002f26](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/9002f2625f0e6d1ad758b0ddb906c6c1af985a49))
28+
29+
30+
### Dependency updates
31+
32+
* **core-deps:** update dependency org.jetbrains.kotlin:kotlin-stdlib to v1.8.10 ([d637f2e](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/d637f2ebc93c686311057c0790cb17a8db6af3e5))
33+
* **deps:** update node.js to 18.14 ([e7105c5](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/e7105c5c6d3192852b8d79056385e94bf6937264))
34+
* **deps:** update plugin com.gradle.enterprise to v3.12 ([ccce09d](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/ccce09d55f5b0a2ced1aefb6d0db386e47d1bc81))
35+
* **deps:** update plugin com.gradle.enterprise to v3.12.1 ([bf28ba4](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/bf28ba43df7a82e7cbcb8e44d2fa874f533da2de))
36+
* **deps:** update plugin com.gradle.enterprise to v3.12.2 ([5a11c72](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/5a11c72463d7d37f9f46070b429fa5973a5d4aa8))
37+
* **deps:** update plugin com.gradle.enterprise to v3.12.3 ([18e6393](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/18e63935ef61344e5079600d0f8adaa1a6283b28))
38+
* **deps:** update plugin kotlin-qa to v0.32.0 ([43155c8](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/43155c8a0fe2c07c3add9beeb42017822d2d0062))
39+
* **deps:** update plugin kotlin-qa to v0.33.0 ([7e80e6f](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/7e80e6f763899189951763d01d3cfc6daa554bce))
40+
* **deps:** update plugin org.danilopianini.gradle-pre-commit-git-hooks to v1.1.1 ([920e201](https://github.com/SmartOperatingBlock/kotlin-template-project/commit/920e201193df0f1cbe0a8c6f4104293ce0d99a3c))

Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM alpine:3.17
2+
COPY ./ .
3+
RUN apk add openjdk17
4+
RUN ./gradlew compileKotlin
5+
ENTRYPOINT ./gradlew tasks

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023 Smart Operating Block
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)