Skip to content

Commit ffa1313

Browse files
authored
Added tag-weekly-release.yml workflow
1 parent 8869392 commit ffa1313

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed
+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Weekly Release Tagging and Beta Deployment Workflow
2+
# ===================================================
3+
4+
# Purpose:
5+
# - Automate weekly version tagging for consistent software versioning
6+
# - Trigger automated beta releases across multiple platforms
7+
# - Maintain a predictable release cycle
8+
9+
# Workflow Overview:
10+
# - Runs automatically every Sunday at 4:00 AM UTC
11+
# - Supports manual triggering via workflow_dispatch
12+
# - Utilizes Gradle Reckon plugin for intelligent versioning
13+
# - Triggers multi-platform build and publish workflow
14+
15+
# Key Features:
16+
# - Automatic semantic versioning
17+
# - Cross-platform release automation
18+
# - Configurable target branch for releases
19+
# - Full repository history checkout for accurate versioning
20+
21+
# Versioning Strategy:
22+
# - Uses Reckon Gradle plugin for semantic versioning
23+
# - Generates production-ready (final) version tags
24+
# - Provides consistent and predictable version incrementation
25+
26+
# Release Process:
27+
# 1. Checkout repository with full commit history
28+
# 2. Setup Java 17 development environment
29+
# 3. Create and push new version tag
30+
# 4. Trigger multi-platform build and publish workflow
31+
32+
# Prerequisites:
33+
# - Gradle project configured with Reckon plugin
34+
# - Java 17 development environment
35+
# - Configured multi-platform build workflow
36+
# - GitHub Actions permissions for workflow dispatch
37+
38+
# Workflow Inputs:
39+
# - target_branch: Branch to use for releases (default: 'dev')
40+
# Allows flexible release targeting across different branches
41+
42+
# Security Considerations:
43+
# - Uses GitHub's native GITHUB_TOKEN for authentication
44+
# - Controlled workflow dispatch with specific inputs
45+
# - Limited to authorized repository members
46+
47+
# Potential Use Cases:
48+
# - Regular software release cycles
49+
# - Automated beta testing distributions
50+
# - Consistent multi-platform deployment
51+
52+
# Workflow Triggers:
53+
# - Scheduled weekly run (Sunday 4:00 AM UTC)
54+
# - Manual workflow dispatch
55+
# - Callable from other workflows
56+
57+
58+
# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/tag-weekly-release.yaml
59+
60+
# ##############################################################################
61+
# DON'T EDIT THIS FILE UNLESS NECESSARY #
62+
# ##############################################################################
63+
64+
name: Tag Weekly Release
65+
66+
on:
67+
# Allow manual triggering of the workflow
68+
workflow_dispatch:
69+
# Schedule the workflow to run weekly
70+
schedule:
71+
# Runs at 04:00 UTC every Sunday
72+
# Cron syntax: minute hour day-of-month month day-of-week
73+
- cron: '0 4 */2 * 0'
74+
75+
concurrency:
76+
group: "weekly-release"
77+
cancel-in-progress: false
78+
79+
jobs:
80+
tag:
81+
name: Tag Weekly Release
82+
uses: openMF/mifos-mobile-github-actions/.github/workflows/tag-weekly-release.yaml@main
83+
secrets: inherit
84+
with:
85+
target_branch: 'dev'

0 commit comments

Comments
 (0)