Set up project scaffolding: GitHub Actions workflows, issue templates, changelog, contributing guidelines, MIT license, and README

This commit is contained in:
!verity
2026-03-13 20:31:03 +01:00
parent be54d392cf
commit a7d310bacb
12 changed files with 308 additions and 0 deletions

35
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
# CodeQL: static security analysis (free for public repos).
name: CodeQL
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
schedule:
- cron: '0 6 * * 1'
jobs:
analyze:
runs-on: ubuntu-latest
permissions:
security-events: write
actions: read
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: java
- name: Build (for CodeQL)
run: |
chmod +x gradlew
./gradlew compileJava --no-daemon
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3

22
.github/workflows/dependency-review.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
# On PRs: checks dependency changes for known vulnerabilities.
# Useful when Dependabot or manual dependency updates are used in PRs.
name: Dependency Review
on:
pull_request:
branches: [main, master]
permissions:
contents: read
pull-requests: write
jobs:
review:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Dependency Review
uses: actions/dependency-review-action@v4

34
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
# On push of a version tag (e.g. v1.0.0): build, create GitHub Release, upload JARs.
name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
cache: gradle
- run: chmod +x gradlew && ./gradlew build --no-daemon
- name: Create Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: build/libs/*.jar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}