Shared GitHub Actions for personal projects.
Send a formatted Discord embed notification with retry logic. Generic — works for any event (builds, releases, monitoring alerts, etc.).
Check an Android app's targetSdkVersion against Google Play compliance requirements. Outputs status, color, and pre-built Discord fields.
Check current Gradle, AGP, and Kotlin versions against the latest releases. Outputs status, color, and pre-built Discord fields.
Scan build.gradle.kts files for outdated Maven dependencies, classified by severity (major/minor/patch). Outputs counts, color, and pre-built Discord fields.
Run Android instrumented tests on an emulator (requires Linux runner with KVM). Uploads the HTML report as an artifact.
Orchestrates all Android health checks and produces a combined weekly digest with an overall health score. Designed to be paired with discord-notify.
Run Android unit tests and upload the report as an artifact.
Decode a keystore, build a signed release AAB, and verify it.
Install React Native dependencies, decode a keystore, build a signed Android release AAB, and verify it.
Publish a signed AAB to a Google Play track using a service account.
Calculate the next semantic version from git tags, auto-generate release notes from commits since the last tag, and output an Android-compatible version code. Generic — works for any repo using vX.Y.Z tags.
Install dependencies, run tests, and build a static site using npm scripts. Outputs the absolute path to the build directory for use by downstream steps or actions.
Sync a pre-built static site to an S3 bucket and invalidate a CloudFront distribution cache. Applies separate cache-control headers for HTML files and static assets.
Deploy (or update) a CloudFormation stack that provisions an S3 bucket for static website hosting. Outputs the bucket name and regional domain name for use by downstream steps such as a CloudFront deployment.
Deploy (or update) a CloudFormation stack that provisions a CloudFront distribution backed by an S3 origin. Outputs the distribution domain name and distribution ID.
Reference actions from this repo using:
uses: jameselsey/actions/discord-notify@main
uses: jameselsey/actions/android-api-level-check@main
uses: jameselsey/actions/android-build-tools-check@main
uses: jameselsey/actions/android-dependency-check@main
uses: jameselsey/actions/android-weekly-digest@main
uses: jameselsey/actions/android-unit-test@main
uses: jameselsey/actions/android-sign-and-build@main
uses: jameselsey/actions/react-native-android-sign-and-build@main
uses: jameselsey/actions/android-publish-to-play@main
uses: jameselsey/actions/semver-release-notes@main
uses: jameselsey/actions/static-site-build-test@main
uses: jameselsey/actions/aws-static-site-deploy@main
uses: jameselsey/actions/cfn-deploy-s3-static-bucket@main
uses: jameselsey/actions/cfn-deploy-cloudfront@mainEach calling repository controls its own schedule and configuration (e.g. monitoring-config.json).