Skip to content

330 devops update workflows#331

Open
ZanderCowboy wants to merge 6 commits intodevelopfrom
330-devops-update-workflows
Open

330 devops update workflows#331
ZanderCowboy wants to merge 6 commits intodevelopfrom
330-devops-update-workflows

Conversation

@ZanderCowboy
Copy link
Copy Markdown
Owner

330 - DevOps - Update Workflows

  • Remove old workflows
  • Update README.md
  • Create prepare-android-release-files/action.yml to reduce code duplication
  • Moved Codecov to linting
  • Update develop, staging, production workflows

Closes: #330

@ZanderCowboy ZanderCowboy added this to the Release 4 milestone Mar 18, 2026
@ZanderCowboy ZanderCowboy requested a review from Copilot March 18, 2026 19:55
@ZanderCowboy ZanderCowboy self-assigned this Mar 18, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the repository’s CI/CD setup around the #330 workflow/versioning requirements by removing legacy workflows, centralizing repeated Android release file setup into a composite action, and aligning develop/RC/production workflows with the intended branching and tagging model.

Changes:

  • Removed obsolete GitHub Actions workflows and docs; updated changelog + workflow documentation.
  • Added a reusable composite action to prepare Android keystore/secrets/google-services.json.
  • Updated develop, RC (staging), production, and linting workflows to reflect new triggers and versioning responsibilities (including moving Codecov to linting).

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
packages/core/lib/src/application/firebase/firebase_state.dart Removes old Firebase bloc state (file deleted).
packages/core/lib/src/application/firebase/firebase_event.dart Removes old Firebase bloc event (file deleted).
packages/core/lib/src/application/firebase/firebase_bloc.dart Removes old Firebase bloc implementation (file deleted).
CHANGELOG.md Replaces changelog contents with ticket-scoped summary for #330.
.github/workflows/staging_workflow.yml Reworks RC workflow to run on PR updates targeting main, bumps build only, publishes to internal track.
.github/workflows/release_workflow.yml Removes old tag/release workflow (file deleted).
.github/workflows/production_workflow.yml Refactors production workflow to derive production version from RC tag and run as manual dispatch.
.github/workflows/linting_workflow.yml Moves coverage + Codecov upload into linting workflow; merges LCOV outputs.
.github/workflows/develop_workflow.yml Updates label-to-bump mapping (feature/bug) and uses shared Android release prep action.
.github/workflows/deploy_workflow.yml Removes old deploy workflow (file deleted).
.github/workflows/build_workflow.yml Removes old build workflow (file deleted).
.github/workflows/IMPROVEMENTS.md Removes workflow improvements summary doc (file deleted).
.github/actions/prepare-android-release-files/action.yml Adds composite action to create keystore/key.properties/secrets.dart and validate google-services.json.
.github/actions/check-version-labels/action.yml Updates label parsing to map feature→minor and bug→patch (plus no-build).
.github/README.md Updates workflow documentation to match the new CI/CD model.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

- opened
- synchronize
- reopened
- ready_for_review
Comment on lines +33 to +41
#### Develop Triggers

```yaml
on:
pull_request:
types: [opened, synchronize, reopened]
branches: ["**"]
workflow_dispatch:
```
Comment on lines 95 to 103
- name: Version Management
id: version_management
uses: ./.github/actions/version-management
with:
github_token: ${{ steps.generate_token.outputs.token }}
pubspec_path: apps/multichoice/pubspec.yaml
branch_name: rc
bump_type: ${{ steps.check_labels.outputs.bump_type }}
branch_name: ${{ steps.resolve_branch.outputs.target_branch }}
bump_type: none
version_suffix: "-RC"
Comment on lines +3 to +9
# It derives the next production version from the latest RC tag by:
# - removing the -RC suffix
# - incrementing build number by 1 (no semantic major/minor/patch bump)
#
# Example:
# - latest RC tag: v1.3.7-RC+155
# - production version built and released: 1.3.7+156
Comment on lines +61 to +76
# Resolve Production Version From Latest RC Tag
##############################################
- name: Resolve Production Version From Latest RC Tag
id: resolve_version
shell: bash
run: |
set -euo pipefail
git fetch --tags

latest_rc_tag=$(git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+-RC\+[0-9]+$' | head -n1)
if [[ -z "$latest_rc_tag" ]]; then
echo "::error::No RC tag found in format vX.Y.Z-RC+N"
exit 1
fi

rc_version=${latest_rc_tag#v}
Comment on lines +54 to +61
#### Staging Triggers

```yaml
on:
pull_request:
branches: ["develop"]
types: [closed]
workflow_dispatch:
@sonarqubecloud
Copy link
Copy Markdown

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.54%. Comparing base (7c97db2) to head (8621351).
⚠️ Report is 2 commits behind head on develop.

❗ There is a different number of reports uploaded between BASE (7c97db2) and HEAD (8621351). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (7c97db2) HEAD (8621351)
2 1
Additional details and impacted files
@@             Coverage Diff              @@
##           develop     #331       +/-   ##
============================================
- Coverage    81.48%   26.54%   -54.94%     
============================================
  Files           40      132       +92     
  Lines         1129     3872     +2743     
============================================
+ Hits           920     1028      +108     
- Misses         209     2844     +2635     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants