Skip to content

Commit

Permalink
Added tag-weekly-release.yml workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
niyajali authored Dec 7, 2024
1 parent 8869392 commit ffa1313
Showing 1 changed file with 85 additions and 0 deletions.
85 changes: 85 additions & 0 deletions .github/workflows/tag-weekly-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Weekly Release Tagging and Beta Deployment Workflow
# ===================================================

# Purpose:
# - Automate weekly version tagging for consistent software versioning
# - Trigger automated beta releases across multiple platforms
# - Maintain a predictable release cycle

# Workflow Overview:
# - Runs automatically every Sunday at 4:00 AM UTC
# - Supports manual triggering via workflow_dispatch
# - Utilizes Gradle Reckon plugin for intelligent versioning
# - Triggers multi-platform build and publish workflow

# Key Features:
# - Automatic semantic versioning
# - Cross-platform release automation
# - Configurable target branch for releases
# - Full repository history checkout for accurate versioning

# Versioning Strategy:
# - Uses Reckon Gradle plugin for semantic versioning
# - Generates production-ready (final) version tags
# - Provides consistent and predictable version incrementation

# Release Process:
# 1. Checkout repository with full commit history
# 2. Setup Java 17 development environment
# 3. Create and push new version tag
# 4. Trigger multi-platform build and publish workflow

# Prerequisites:
# - Gradle project configured with Reckon plugin
# - Java 17 development environment
# - Configured multi-platform build workflow
# - GitHub Actions permissions for workflow dispatch

# Workflow Inputs:
# - target_branch: Branch to use for releases (default: 'dev')
# Allows flexible release targeting across different branches

# Security Considerations:
# - Uses GitHub's native GITHUB_TOKEN for authentication
# - Controlled workflow dispatch with specific inputs
# - Limited to authorized repository members

# Potential Use Cases:
# - Regular software release cycles
# - Automated beta testing distributions
# - Consistent multi-platform deployment

# Workflow Triggers:
# - Scheduled weekly run (Sunday 4:00 AM UTC)
# - Manual workflow dispatch
# - Callable from other workflows


# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/tag-weekly-release.yaml

# ##############################################################################
# DON'T EDIT THIS FILE UNLESS NECESSARY #
# ##############################################################################

name: Tag Weekly Release

on:
# Allow manual triggering of the workflow
workflow_dispatch:
# Schedule the workflow to run weekly
schedule:
# Runs at 04:00 UTC every Sunday
# Cron syntax: minute hour day-of-month month day-of-week
- cron: '0 4 */2 * 0'

concurrency:
group: "weekly-release"
cancel-in-progress: false

jobs:
tag:
name: Tag Weekly Release
uses: openMF/mifos-mobile-github-actions/.github/workflows/tag-weekly-release.yaml@main
secrets: inherit
with:
target_branch: 'dev'

0 comments on commit ffa1313

Please sign in to comment.