From d95d81a7cec39c7426a2ef8fcfe2a927fbcfda7e Mon Sep 17 00:00:00 2001 From: moi15moi <80980684+moi15moi@users.noreply.github.com> Date: Fri, 31 Oct 2025 18:23:02 -0400 Subject: [PATCH 1/2] Update libass-cmake to https://github.com/peerless2012/libass-cmake/commit/d3f00a43ca66e42a2c34de964b1a7dbbfa9dbc8b --- lib_ass/src/main/cpp/libass-cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_ass/src/main/cpp/libass-cmake b/lib_ass/src/main/cpp/libass-cmake index 7ab90f2..144e88d 160000 --- a/lib_ass/src/main/cpp/libass-cmake +++ b/lib_ass/src/main/cpp/libass-cmake @@ -1 +1 @@ -Subproject commit 7ab90f2e2585397810776318ff28cb6d4f948779 +Subproject commit 144e88d5918576d4aed0a404469109f397d3ad66 From 8143737a248b952ff9306287a0681b5857ec9ff6 Mon Sep 17 00:00:00 2001 From: moi15moi <80980684+moi15moi@users.noreply.github.com> Date: Fri, 31 Oct 2025 18:25:48 -0400 Subject: [PATCH 2/2] Add CI to publish the project to Maven Central Repository + run tests Based on: - https://vanniktech.github.io/gradle-maven-publish-plugin/central/#automatic-release - https://github.com/ReactiveCircus/android-emulator-runner?tab=readme-ov-file#usage--examples --- .github/workflows/publish.yml | 28 +++++++++++++++++++++++++ .github/workflows/test.yml | 39 +++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 .github/workflows/publish.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..e999897 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,28 @@ +name: Publish to Maven Central Repository + +on: + release: + types: [published] + +jobs: + publish-package: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v5 + with: + submodules: recursive + + - name: Run setup-libraries composite action + uses: ./lib_ass/src/main/cpp/libass-cmake/.github/actions/setup-libraries + with: + libass-cmake-path: ${{ github.workspace }}/lib_ass/src/main/cpp/libass-cmake + + - name: Publish to Maven Central Repository + run: ./gradlew publishAndReleaseToMavenCentral --no-configuration-cache + env: + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USER_NAME }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_IN_MEMORY_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_IN_MEMORY_KEY_ID }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_IN_MEMORY_KEY_PASSWORD }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..3f012c3 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,39 @@ +name: Run Tests + +on: + push: + branches: [master] + pull_request: + +jobs: + run-tests: + name: "Test (${{ matrix.arch }})" + runs-on: ubuntu-latest + + strategy: + matrix: + arch: ["x86", "x86_64"] + + steps: + - name: Checkout code + uses: actions/checkout@v5 + with: + submodules: recursive + + - name: Run setup-libraries composite action + uses: ./lib_ass/src/main/cpp/libass-cmake/.github/actions/setup-libraries + with: + libass-cmake-path: ${{ github.workspace }}/lib_ass/src/main/cpp/libass-cmake + + - name: Enable KVM + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + + - name: Run tests + uses: reactivecircus/android-emulator-runner@v2 + with: + api-level: 21 + arch: ${{ matrix.arch }} + script: ./gradlew test connectedAndroidTest