Skip to content

Commit b5f79b3

Browse files
Merge branch 'develop' into 369-improve-fan-documentation
2 parents 7f521a3 + 645d571 commit b5f79b3

74 files changed

Lines changed: 1429 additions & 258 deletions

File tree

Some content is hidden

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

.github/ISSUE_TEMPLATE/new-feature-request.md

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,32 @@
22
name: New Feature request
33
about: Suggest an idea or feature for this project
44
labels: enhancement
5+
type: Feature
56
---
67

7-
**You would like to implement a new component? If yes, please provide all the necessary details** \
8-
A clear configuration of the component and its working principle. Ex. It uses PWM
9-
- GPIO pins that are used by this component.
10-
- Circuit diagram if available
11-
- Any additional chips are used. Ex: It uses ADC0834
8+
## Feature Description
129

13-
**Is your feature request related to a problem? Please describe.** \
14-
A clear and concise description of what the problem is. Ex: I have a problem with LED [...]
10+
*A clear and concise description of the feature, and why it should be added to the project.*
1511

16-
**Describe the solution you'd like** \
17-
A clear and concise description of what you want to happen.
12+
*If you would like to see a new component implemented, please provide as many details as possible, such as communication protocols used, GPIO pins used, circuit diagrams if available, and any additional chips necessary.*
1813

19-
**Additional context** \
20-
Add any other context or screenshots about the feature request here.
14+
## ✅ Tasks to be Completed
15+
16+
*A checklist of individual tasks that likely must be done before the feature can be considered "complete".*
17+
18+
- [ ] Task 1:
19+
- [ ] Task 2:
20+
- [ ] Task 3:
21+
22+
## Acceptance Criteria
23+
24+
*A checklist of conditions that must be met for this task to be considered complete. How will we verify that it's done correctly?*
25+
26+
- [ ] The new feature is implemented as described.
27+
- [ ] All related code passes the repository's workflow checks (linting, tests).
28+
- [ ] The application runs without errors after the changes are made.
29+
- [ ] (If applicable) New automated tests have been added to cover the changes.
30+
31+
## Additional context
32+
33+
A*dd any other context or screenshots about the feature request here.*

.github/ISSUE_TEMPLATE/report-a-bug.md

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,38 @@
22
name: Report a Bug
33
about: Create a report to help us improve
44
labels: bug
5+
type: Bug
56
---
67

7-
**Describe the bug** \
8-
A clear and concise description of what the bug is.
8+
## Describe the bug
99

10-
**What component are you facing this issue with?** \
11-
The component details and what functionality causes this issue
10+
*A clear and concise description of what the bug is.*
1211

13-
**To Reproduce** \
14-
Steps to reproduce the behavior: For example
15-
1. Go to '...'
16-
2. Click on '....'
17-
3. Scroll down to '....'
18-
4. Run the component '....'
19-
5. See error
12+
## What component are you facing this issue with?
2013

21-
**Expected behavior** \
22-
A clear and concise description of what you expected to happen.
14+
*The component details and what functionality causes this issue.*
2315

24-
**Screenshots** \
25-
If applicable, add screenshots to help explain your problem.
16+
## To Reproduce
2617

27-
**Additional context** \
28-
Add any other context about the problem here.
18+
*Steps to reproduce the behavior.*
19+
20+
## Expected behavior
21+
22+
*A clear and concise description of what you expected to happen.*
23+
24+
## Screenshots
25+
26+
*If applicable, add screenshots to help explain your problem.*
27+
28+
## Acceptance Criteria
29+
30+
*A checklist of conditions that must be met for this task to be considered complete. How will we verify that it's done correctly?*
31+
32+
- [ ] The buggy behavior no longer occurs.
33+
- [ ] All related code passes the repository's workflow checks (linting, tests).
34+
- [ ] The application runs without new errors after the changes are made.
35+
- [ ] (If applicable) New automated tests have been added to cover the changes.
36+
37+
## Additional context
38+
39+
*Add any other context about the problem here.*
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: General Task Card
3+
about: For standard development tasks, chores, or refactoring.
4+
labels: enhancement
5+
type: Task
6+
---
7+
8+
## 🎯 Goal / Objective
9+
10+
*A clear and concise description of what this task aims to achieve. Why is this task important?*
11+
12+
## ✅ Tasks to be Completed
13+
14+
*A checklist of the specific, actionable steps required to complete this issue. This helps track progress.*
15+
16+
- [ ] Task 1:
17+
- [ ] Task 2:
18+
- [ ] Task 3:
19+
20+
## Acceptance Criteria
21+
22+
*A checklist of conditions that must be met for this task to be considered complete. How will we verify that it's done correctly?*
23+
24+
- [ ] The new feature is implemented as described.
25+
- [ ] All related code passes the repository's workflow checks (linting, tests).
26+
- [ ] The application runs without errors after the changes are made.
27+
- [ ] (If applicable) New automated tests have been added to cover the changes.
28+
29+
## Additional Context
30+
31+
*Add any other context, notes, screenshots, or links that might be helpful for completing this task.*

.github/pull_request_template.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
## Pull Request Summary
22

3-
<!-- Enter a brief description/summary of your PR here. What does it add, and why is it necessary? Does this new feature solve any problems or bugs? How was it tested — automated or manual software tests, physical hardware tests, or some other method or combination of testing techniques? -->
3+
Closes #xxx <!-- Add the issue number here -->
4+
5+
*A brief description/summary of your PR. What does it add, and why is it necessary? Does this new feature solve any problems or bugs? How was it tested — automated or manual software tests, physical hardware tests, or some other method or combination of testing techniques?*
46

57
## PR Checklist
68

7-
- [ ] Closes #xxx
89
- [ ] Tests pass
910
- [ ] Any related documentation has been updated, if necessary
1011

1112
## Detailed Description
1213

13-
<!-- Provide a more detailed description and any additional information. -->
14+
*A more detailed description and any additional information.*

.github/workflows/build-reusable.yml

Lines changed: 63 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,23 @@ jobs:
2222
run: chmod +x pi4micronaut-utils/gradlew
2323
- name: Setup Gradle
2424
uses: gradle/actions/setup-gradle@v4
25+
with:
26+
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}
27+
- name: Bump version (nebula final)
28+
if: github.ref == 'refs/heads/main'
29+
working-directory: .
30+
run: ./gradlew final
2531
- name: Execute Gradle build with info logging
2632
working-directory: pi4micronaut-utils
2733
run: ./gradlew build --info
2834
- name: Execute Gradle shadowJar
2935
working-directory: pi4micronaut-utils
3036
run: ./gradlew shadowJar
37+
- name: Upload built JAR as artifact
38+
uses: actions/upload-artifact@v4
39+
with:
40+
name: micronaut-jar
41+
path: pi4micronaut-utils/build/libs/pi4micronaut-utils-*-all.jar
3142

3243
publish-jar:
3344
runs-on: ubuntu-latest
@@ -39,17 +50,65 @@ jobs:
3950
with:
4051
java-version: '17'
4152
distribution: 'temurin'
42-
cache: 'gradle'
4353
- name: Change wrapper permissions
4454
run: chmod +x pi4micronaut-utils/gradlew
55+
- name: Setup Gradle
56+
uses: gradle/actions/setup-gradle@v4
57+
with:
58+
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}
4559
- name: Publish Library
4660
working-directory: pi4micronaut-utils
4761
env:
48-
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
49-
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
62+
PORTAL_USERNAME: ${{ vars.PORTAL_USERNAME }}
63+
PORTAL_PASSWORD: ${{ secrets.PORTAL_PASSWORD }}
5064
GPG_KEY: ${{ secrets.GPG_KEY }}
5165
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
5266
run: ./gradlew clean publish --info
67+
- name: POST to Maven
68+
uses: fjogeleit/http-request-action@v1
69+
with:
70+
url: 'https://ossrh-staging-api.central.sonatype.com/manual/upload/defaultRepository/io.github.oss-slu'
71+
method: 'POST'
5372
- uses: actions/attest-build-provenance@v1
5473
with:
55-
subject-path: 'pi4micronaut-utils/build/libs/**/*.jar'
74+
subject-path: 'pi4micronaut-utils/build/libs/**/*.jar'
75+
create-release:
76+
runs-on: ubuntu-latest
77+
needs: [build-library, publish-jar]
78+
defaults:
79+
run:
80+
working-directory: pi4micronaut-utils
81+
env:
82+
GITHUB_TOKEN: ${{ secrets.CI_GITHUB_TOKEN }}
83+
steps:
84+
- uses: actions/checkout@v4
85+
with:
86+
fetch-depth: 0
87+
- name: Set up JDK 17
88+
uses: actions/setup-java@v4
89+
with:
90+
java-version: '17'
91+
distribution: 'adopt'
92+
- name: Change wrapper permissions
93+
run: chmod +x pi4micronaut-utils/gradlew
94+
- name: Setup Gradle
95+
uses: gradle/actions/setup-gradle@v4
96+
with:
97+
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}
98+
- name: Read library version
99+
id: read_version
100+
working-directory: .
101+
run: |
102+
VERSION=$(./gradlew properties | grep "^version:" | awk '{print $2}')
103+
echo "version=$VERSION" >> $GITHUB_OUTPUT
104+
- name: Download built JAR
105+
uses: actions/download-artifact@v4
106+
with:
107+
name: micronaut-jar
108+
path: pi4micronaut-utils/build/libs
109+
- name: Create GitHub Release
110+
run: |
111+
gh release create "${{ steps.read_version.outputs.version }}" \
112+
--verify-tag \
113+
--generate-notes \
114+
"pi4micronaut-utils/build/libs/pi4micronaut-utils-${{ steps.read_version.outputs.version }}-all.jar"

.github/workflows/github-actions.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,16 @@ jobs:
2020
steps:
2121
- uses: actions/checkout@v3
2222
- name: Set up JDK 17
23-
uses: actions/setup-java@v3
23+
uses: actions/setup-java@v4
2424
with:
2525
java-version: '17'
2626
distribution: 'adopt'
2727
- name: Change wrapper permissions
2828
run: chmod +x pi4micronaut-utils/gradlew
2929
- name: Setup Gradle
30-
uses: gradle/gradle-build-action@v2
30+
uses: gradle/actions/setup-gradle@v4
3131
with:
32-
arguments: build
33-
build-root-directory: pi4micronaut-utils/
32+
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}
3433
- name: Execute Gradle build
3534
working-directory: pi4micronaut-utils
3635
run: ./gradlew build
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Deploy Javadocs to GitHub Pages
2+
permissions:
3+
contents: write
4+
pages: write
5+
id-token: write
6+
on:
7+
push:
8+
branches:
9+
- main
10+
- develop
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Set up JDK 17
19+
uses: actions/setup-java@v4
20+
with:
21+
java-version: '17'
22+
distribution: 'adopt'
23+
- name: Change wrapper permissions
24+
run: chmod +x pi4micronaut-utils/gradlew
25+
- name: Setup Gradle
26+
uses: gradle/actions/setup-gradle@v4
27+
with:
28+
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}
29+
- name: Generate Javadocs
30+
working-directory: pi4micronaut-utils
31+
run: ./gradlew javadoc
32+
- name: Upload javadoc artifact
33+
uses: actions/upload-artifact@v4
34+
with:
35+
name: javadoc
36+
path: pi4micronaut-utils/build/docs/javadoc
37+
deploy:
38+
runs-on: ubuntu-latest
39+
needs: build
40+
steps:
41+
- name: Download javadoc artifact
42+
uses: actions/download-artifact@v4
43+
with:
44+
name: javadoc
45+
path: ./javadoc
46+
retention-days: 1
47+
- name: Deploy
48+
uses: peaceiris/actions-gh-pages@v4
49+
if: github.ref == 'refs/heads/develop'
50+
with:
51+
github_token: ${{ secrets.GITHUB_TOKEN }}
52+
publish_dir: ./javadoc
53+
destination_dir: javadoc
54+
keep_files: true
55+
user_name: 'github-actions[bot]'
56+
user_email: 'github-actions[bot]@users.noreply.github.com'

CITATION.cff

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
title: Pi4Micronaut
2+
authors:
3+
- given-names: Ruthvik
4+
family-names: Mannem
5+
- given-names: Sinuo
6+
family-names: Liu
7+
- given-names: Traison
8+
family-names: Diedrich
9+
- given-names: Austin
10+
family-names: Howard
11+
- given-names: Greih
12+
family-names: Murray
13+
- given-names: John
14+
family-names: Yanev
15+
- given-names: Joe
16+
family-names: Folen
17+
- given-names: Alex
18+
family-names: Delgado
19+
- given-names: Adrian
20+
family-names: Swindle
21+
- given-names: Yenkatarajalaxmimanohar
22+
family-names: Meda
23+
- given-names: Thomas
24+
family-names: Macas
25+
- given-names: Seyun
26+
family-names: Jeong
27+
- given-names: Ralph
28+
family-names: Tan
29+
- given-names: Ava
30+
family-names: Enke
31+
- given-names: Leandru
32+
family-names: Martin
33+
- given-names: Joey Heitzler
34+
- given-names: Thomas
35+
family-names: Pautler
36+
cff-version: 1.2.0
37+
message: If you use this software, please cite it using the metadata from this file.
38+
type: software
39+
abstract: " A Java library combining Micronaut and Pi4j to streamline hardware
40+
connectivity to Raspberry Pis"
41+
keywords:
42+
- Raspberry Pi
43+
- Java
44+
- Pi4J
45+
- Micronaut
46+
license: Apache-2.0
47+
repository-code: https://github.com/oss-slu/Pi4Micronaut
48+
date-released: 2024-05-10
49+
version: "1.1"

0 commit comments

Comments
 (0)