Skip to content

Commit 0b94ee2

Browse files
authored
Initial commit
0 parents  commit 0b94ee2

27 files changed

Lines changed: 1697 additions & 0 deletions

File tree

.github/pull_request_template.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Pull Request
2+
3+
<!--
4+
Please make sure to have read the CONTRIBUTING.md guidelines.
5+
-->
6+
7+
## Description
8+
9+
<!--
10+
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
11+
12+
Fixes # (issue)
13+
-->
14+
15+
## Type of change
16+
17+
<!--
18+
Please delete options that are not relevant.
19+
-->
20+
21+
- [ ] Bug fix (non-breaking change which fixes an issue)
22+
- [ ] New feature (non-breaking change which adds functionality)
23+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
24+
- [ ] Documentation update
25+
- [ ] Code style update
26+
- [ ] Refactoring
27+
- [ ] Build-related changes
28+
- [ ] CI-related changes
29+
30+
## How has this been tested?
31+
32+
<!--
33+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
34+
-->
35+
36+
All tests pass.
37+
38+
<!--
39+
## Checklist:
40+
41+
- [ ] My code follows the style guidelines of this project
42+
- [ ] I have performed a self-review of my own code
43+
- [ ] I have commented my code, particularly in hard-to-understand areas
44+
- [ ] I have made corresponding changes to the documentation
45+
- [ ] My changes generate no new warnings
46+
- [ ] I have added tests that prove my fix is effective or that my feature works
47+
- [ ] New and existing unit tests pass locally with my changes
48+
- [ ] Any dependent changes have been merged and published in downstream modules
49+
-->

.github/workflows/build.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Build
2+
on:
3+
push:
4+
branches: [ "develop" ]
5+
pull_request:
6+
branches: [ "develop" ]
7+
jobs:
8+
Build:
9+
if: github.repository == 'YourRepositoryNameHere'
10+
name: Build
11+
runs-on: ubuntu-latest
12+
permissions:
13+
contents: read
14+
checks: write
15+
pull-requests: write
16+
steps:
17+
- name: Check out the repo
18+
uses: actions/checkout@v4
19+
20+
- name: Setup OpenJDK 25
21+
uses: actions/setup-java@v4
22+
with:
23+
distribution: 'temurin'
24+
java-version: '25'
25+
26+
- name: Perform commit linting
27+
uses: wagoid/commitlint-github-action@v6
28+
29+
- name: Build using Gradle
30+
run: ./gradlew build
31+
32+
- name: Test using Gradle
33+
run: ./gradlew test
34+
35+
- name: Publish Test Report
36+
uses: mikepenz/action-junit-report@v6
37+
if: success() || failure()
38+
with:
39+
report_paths: '**/build/test-results/test/TEST-*.xml'
40+
annotate_only: true

.github/workflows/docker.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Publish Docker image
2+
on:
3+
release:
4+
types: [ published ]
5+
push:
6+
branches:
7+
- master
8+
- develop
9+
jobs:
10+
PushDockerImage:
11+
if: github.repository == 'YourRepositoryNameHere'
12+
name: Push Docker Image
13+
runs-on: ubuntu-latest
14+
permissions:
15+
packages: write
16+
contents: read
17+
attestations: write
18+
id-token: write
19+
steps:
20+
- name: Check out the repo
21+
uses: actions/checkout@v4
22+
23+
- name: Log in to Docker Hub
24+
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
25+
with:
26+
username: ${{ secrets.DOCKER_USERNAME }}
27+
password: ${{ secrets.DOCKER_PASSWORD }}
28+
29+
- name: Extract metadata (tags, labels) for Docker
30+
id: meta
31+
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
32+
with:
33+
images: collaborativestatemachines/cirrina
34+
tags: |
35+
type=semver,pattern={{version}},enable=${{ github.event_name == 'release' }}
36+
type=raw,value=stable,enable=${{ github.event_name == 'release' }}
37+
38+
type=raw,value=nightly,enable=${{ github.ref == 'refs/heads/master' }}
39+
type=sha,enable=${{ github.ref == 'refs/heads/master' }}
40+
41+
type=raw,value=unstable,enable=${{ github.ref == 'refs/heads/develop' }}
42+
type=sha,enable=${{ github.ref == 'refs/heads/develop' }}
43+
44+
- name: Build and push Docker image
45+
id: push
46+
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
47+
with:
48+
context: .
49+
file: ./Dockerfile
50+
push: true
51+
tags: ${{ steps.meta.outputs.tags }}
52+
labels: ${{ steps.meta.outputs.labels }}

.gitignore

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Ours
2+
.idea/
3+
.kotlin/
4+
5+
**/build/
6+
7+
# From: https://github.com/github/gitignore/blob/main/Gradle.gitignore
8+
.gradle
9+
**/build/
10+
!**/src/**/build/
11+
12+
# Ignore Gradle GUI config
13+
gradle-app.setting
14+
15+
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
16+
!gradle-wrapper.jar
17+
18+
# Avoid ignore Gradle wrapper properties
19+
!gradle-wrapper.properties
20+
21+
# Cache of project
22+
.gradletasknamecache
23+
24+
# Eclipse Gradle plugin generated files
25+
# Eclipse Core
26+
.project
27+
# JDT-specific (Eclipse Java Development Tools)
28+
.classpath

ATTRIBUTIONS.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Dependencies
2+
3+
This project makes use of the following dependencies:
4+
5+
| Dependency Name | Website | License | License Text URL |
6+
|-----------------|---------|---------|------------------|
7+
| | | | |

Dockerfile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM gradle:9.3.0-jdk25 AS build
2+
3+
COPY --chown=gradle:gradle . /usr/src/projectname
4+
5+
WORKDIR /usr/src/projectname
6+
7+
ARG GIT_HASH=unknown
8+
ENV GIT_HASH=${GIT_HASH}
9+
10+
RUN gradle :app:installDist --no-daemon
11+
12+
FROM gcr.io/distroless/java25-debian13 AS runtime
13+
14+
COPY --from=build /usr/src/projectname/app/build/install/projectname /opt/projectname
15+
16+
ENTRYPOINT [ \
17+
"java", \
18+
"-cp", "/opt/projectname/lib/*", \
19+
"at.ac.uibk.dps.projectname.ProjectNameKt" \
20+
]

0 commit comments

Comments
 (0)