Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ changelog:
- title: Exciting New Features 🎉
labels:
- enhancement
- title: Espresso test
labels:
- Espresso
- title: Bug fix
labels:
- bugfix
- title: Pipeline
labels:
- pipeline
- title: Dependencies
labels:
- dependencies
- title: Other Changes
labels:
- "*"
45 changes: 0 additions & 45 deletions .github/workflows/Android-CI-release.yml

This file was deleted.

87 changes: 58 additions & 29 deletions .github/workflows/Android-CI.yml
Original file line number Diff line number Diff line change
@@ -1,59 +1,88 @@
name: PullRequest
name: Pull request

on:
push:
branches:
- master
pull_request:
branches:
- master
env:
resourceRunID: ${{ github.run_id }}-${{ github.run_number }}

jobs:
buildTest:
name: Build & Test JDK ${{ matrix.java_version }}
runs-on: macOS-latest
Build:
name: Test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
java_version: [ 11.0.3 ]
os: [ ubuntu-24.04 ]
api: [ 34 ]
abi: [ x86_64 ]
emulatorApi: [ 14 ]
tag: [ 'google_apis' ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: kvm support
run: |
egrep -c '(vmx|svm)' /proc/cpuinfo
id
sudo adduser $USER kvm
sudo chown -R $USER /dev/kvm
id
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install JDK ${{ matrix.java_version }}
uses: actions/setup-java@v4
submodules: true
- name: set up JDK
uses: actions/setup-java@v5
with:
distribution: 'adopt'
java-version: ${{ matrix.java_version }}
java-version: 17
- uses: gradle/actions/wrapper-validation@v5
- name: Install Android SDK
uses: malinskiy/action-android/install-sdk@release/0.1.1
- name: Build project
run: ./gradlew build
- name: Run tests
run: ./gradlew test
uses: hannesa2/action-android/[email protected]
- name: Android Emulator test
uses: hannesa2/action-android/[email protected]
with:
cmd: ./gradlew cAT --continue
api: ${{ matrix.api }}
tag: ${{ matrix.tag }}
abi: ${{ matrix.abi }}
cmdOptions: -noaudio -no-boot-anim -no-window -metrics-collection
disableAnimations: true
bootTimeout: 720
- uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: ipcam-Espresso-${{ matrix.api }}-${{ matrix.abi }}-report-${{ matrix.emulatorApi }}
path: |
./**/build/reports/androidTests/connected
./**/build/outputs/androidTest-results/connected
Check:
name: Check
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
java_version: [ 11.0.3 ]
os: [ ubuntu-22.04 ]
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install JDK ${{ matrix.java_version }}
uses: actions/setup-java@v4
submodules: true
- name: set up JDK
uses: actions/setup-java@v5
with:
distribution: 'adopt'
java-version: ${{ matrix.java_version }}
java-version: 17
- name: Install Android SDK
uses: malinskiy/action-android/install-sdk@release/0.1.1
uses: hannesa2/action-android/[email protected]
- name: Run tests
run: ./gradlew test
- name: Code checks
run: ./gradlew check
- name: Archive Lint report
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: IP-Cam-Lint-report
path: app/build/reports/lint-results.html
name: IPView-Lint-report
path: |
./**/build/reports/lint-results*.html
./**/build/reports/ktlint/ktlintMainSourceSetCheck/ktlintMainSourceSetCheck.txt
16 changes: 0 additions & 16 deletions .github/workflows/gradle-wrapper-validation.yml

This file was deleted.

54 changes: 54 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Release

on:
push:
tags:
- '*'

jobs:
build:
name: Publish release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v5
with:
submodules: true
- name: Find Tag
id: tagger
uses: jimschubert/query-tag-action@v2
with:
skip-unshallow: 'true'
commit-ish: HEAD
- name: Check pre-release
run: |
echo "tag=${{steps.tagger.outputs.tag}}"
if [[ ${{ steps.tagger.outputs.tag }} == *alpha* || ${{ steps.tagger.outputs.tag }} == *beta* ]]
then
prerelease=true
else
prerelease=false
fi
echo "PRE_RELEASE=$prerelease" >> $GITHUB_ENV
echo "prerelease=$prerelease"
- name: Install JDK
uses: actions/setup-java@v5
with:
distribution: 'adopt'
java-version: 17
- name: Install Android SDK
uses: hannesa2/action-android/[email protected]
- name: Build project
run: ./gradlew assembleRelease
env:
VERSION: ${{steps.tagger.outputs.tag}}
- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{steps.tagger.outputs.tag}}
generate_release_notes: true
prerelease: ${{ env.PRE_RELEASE }}
name: ${{steps.tagger.outputs.tag}}
files: |
./mjpeg-view/build/outputs/aar/mjpeg-view-release.aar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "buildSrc"]
path = buildSrc
url = [email protected]:hannesa2/KotlinBuildSource.git
4 changes: 1 addition & 3 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 0 additions & 44 deletions app/build.gradle

This file was deleted.

58 changes: 58 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import info.git.versionHelper.getGitCommitCount
import info.git.versionHelper.getVersionText
import info.git.versionHelper.println

plugins {
id("com.android.application")
id("kotlin-android")
}

android {
namespace = "com.github.niqdev.ipcam"
compileSdk = 33

defaultConfig {
applicationId = "com.github.niqdev.ipcam"
minSdk = 21
targetSdk = 33
versionCode = "${getGitCommitCount()}0".toInt()
versionName = "${getVersionText()}.$versionCode"
println { "versionName=${versionName.green.bold} versionCode=${versionCode.green.bold}" }
}

buildFeatures {
viewBinding = true
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles.addAll(
listOf(
getDefaultProguardFile("proguard-android.txt"),
file("proguard-rules.pro"),
),
)
}
}
lint {
abortOnError = false
disable += "MissingTranslation" + "InvalidPackage"
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlin {
jvmToolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}
}

dependencies {
implementation(project(":mjpeg-view"))
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("androidx.core:core-ktx:1.10.1")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.22")
}
Loading