Skip to content

feat: automate release cycle and deployment CI/CD pipeline#37

Closed
Copilot wants to merge 3 commits intomainfrom
copilot/automate-release-versioning-workflow
Closed

feat: automate release cycle and deployment CI/CD pipeline#37
Copilot wants to merge 3 commits intomainfrom
copilot/automate-release-versioning-workflow

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 14, 2026

Testers cannot run the app without a local dev environment. Adds a versioned release workflow and a build/distribution pipeline to fix that.

release.yml — Manual Release Cycle

Triggered via workflow_dispatch with a bump input (finalize / patch / minor / major).

  • Strips -dev/-SNAPSHOT suffix from current package.json + app.json version, applies optional semver bump
  • Prepends a dated CHANGELOG.md entry from commits since the last tag
  • Commits release version, creates annotated tag, publishes GitHub Release
  • Bumps patch + appends -dev, commits as next-cycle opener
  • Single git push --follow-tags for the whole chain

deploy.yml — Build & Distribute

Fires on v*.*.* tags (from the release workflow) or workflow_dispatch with platform selector.

  • Android: ./gradlew assembleDebug on ubuntu-latest → APK uploaded as artifact; optional Firebase App Distribution via FIREBASE_APP_ID_ANDROID + FIREBASE_TOKEN secrets
  • iOS: eas build --platform ios --profile preview in Expo cloud (no macOS runner); EAS generates QR-code install link; optional Firebase via FIREBASE_APP_ID_IOS + FIREBASE_TOKEN; requires EXPO_TOKEN + one-time eas init/eas credentials
  • Both jobs pin permissions: contents: read

eas.json

Adds EAS build profiles: development (dev client), preview (internal APK/IPA), production (auto-increment build numbers).

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh gh auth status (http block)
    • Triggering command: `/usr/bin/gh gh issue create --repo samueil/yahtzeeCompanion --title Automate Release Cycle and Versioning Workflow --body ## Overview

Enable a reproducible, automated release cycle for the Yahtzee Companion app so that any maintainer can cut a release with a single manual trigger���without touching version numbers, changelog, or tags by hand.

Motivation

Current state:` (http block)

  • https://api.github.com/repos/samueil/yahtzeeCompanion
    • Triggering command: /usr/bin/python3 python3 (http block)
    • Triggering command: /usr/bin/gh gh api repos/samueil/yahtzeeCompanion --jq .full_name (http block)
    • Triggering command: /usr/bin/gh gh api repos/samueil/yahtzeeCompanion (http block)
  • https://api.github.com/repos/samueil/yahtzeeCompanion/issues
    • Triggering command: /usr/bin/curl curl -s -X POST -H Authorization: ****** -H Accept: application/vnd.github.v3+json -H Content-Type: application/json REDACTED -d {"title": "Automate Release Cycle and Versioning Workflow", "body": ""} (http block)
    • Triggering command: /usr/bin/python3 python3 (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

The application must be testable by participants on both Android and iOS, independently of the local development environment. To enable this, establish CI/CD automation that:

  • Allows for manual release cycles and version management (version bumping, tagging, changelog generation, next-dev-version commit)
  • Builds Android/iOS artifacts for testing or distributes them via platforms like Firebase App Distribution

Order of work:

  1. First, set up automated release/versioning jobs (blocking: deployment flows)
  2. Then, implement deployment flows to distribute build artifacts

Create the following issues:

  • 'Automate Release Cycle and Versioning Workflow' (describing release and version management automation). This should be a blocker for…
  • 'Automate Deployment Pipeline for Distributable Builds' (describe setup of CI for building and distributing installable artifacts)

Also, generate a clear reference to any PR that implements these workflows.

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: can i assign an issue to you?

Assistant: You can’t assign a GitHub issue to me (Copilot) as I’m not a regular GitHub user or contributor—I’m an AI assistant provided by GitHub. Issues can only be assigned to valid GitHub users or bots who have access to the repository. However, if you need help writing, updating, or managing an issue, I can assist with that—just let me know what you’d like to do!

User: what are things you can do as Agent, more than others?

Assistant: As GitHub Copilot (as an “Agent”—especially on github.com), I offer a wide range of capabilities that go beyond code suggestions in your editor. Here’s what sets me apart from basic Copilot or most assistant bots:

My Enhanced Abilities as an Agent on GitHub

1. Deep GitHub Integration

  • Access and analyze repository contents directly on GitHub.
  • Summarize code files, directories, PRs, and issues.
  • Search codebases by file, symbol, or semantic intent.
  • Cross-reference issues, PRs, commits, and documentation instantly.

2. GitHub Issue and PR Management

  • Draft, update, and manage issues: titles, descriptions, labels, assignments, relationships (parent/child, blocking, etc.).
  • Suggest and refine issue or PR templates.
  • Help triage issues and link relevant code or documentation.

3. Multi-language/Framework Knowledge

  • Understand a wide variety of languages, frameworks, and build systems.
  • Provide insights across front-end, back-end, cloud, CI/CD, and mobile (including your repo with React Native, TypeScript, etc.).

4. Root Cause and Debugging

  • Analyze stack traces, error messages, or logs.
  • Give step-by-step debugging workflows.
  • Suggest code fixes with references to actual repo files/lines.

5. Code Search (Lexical & Semantic)

  • Search for exact symbols, variables, or patterns (lexical search).
  • Find code conceptually, even if the names differ (semantic search).
  • Locate definitions/usages of code in large or complex repositories.

6. GitHub Actions & CI/CD Support

  • Diagnose failing GitHub Actions workflows/jobs.
  • Suggest fixes for build, test, and deployment errors.

7. Write Operations (with permission)

  • Propose or even create new branches, files, or updates (if enabled and given permissions).
  • Help prepare code snippets or complete files for commit.

8. Authoritative GitHub Support

  • Answer questions about GitHub-specific product features, access, and permissions, referencing official documentation.
  • Troubleshoot GitHub Pages, Actions, Packages, and repository settings.

Examples of Things I Can Do for You

  • Summarize or analyze a pull request and suggest reviewers.
  • Write and push a new file (with your explicit permission).
  • Create, edit, or link issues with detailed context.
  • Run complex searches: “Where is authentication handled?” or “List all usages of diceRoll in the code.”
  • Debug build failures with precise workflow/job output.

Things I Don’t Do

  • I can’t actually fix or merge code myself—only help prepare the change or describe what to do.
  • I don’t deploy to live environments.
  • I can’t take code actions without your explicit instruction and repository access.

In summary: My unique value is my deep integration with GitHub, ability to analyze and act on repositories and issues, advanced code search and understanding, and ability to automate/support many aspects of software development workflows directly on github.com. If you have a task in mind, just ask!

User: Can you give some support for CI/CD? It's an expo app that runs on Android, iOS and Web. For testing on android/ios. does this work directly with EAS to build/deploy the apps somewhere, or is it a good idea to set up firebase and fastlane flows?

Assistant: Absolutely! Here’s a concise guide to CI/CD support for an Expo React Native app targeting Android, iOS, and Web, focusing on build, deployment, and testing automation.


CI/CD Approaches for ...

This pull request was created from Copilot chat.

Copilot AI changed the title [WIP] Set up automated release cycle and versioning workflow feat: automate release cycle and deployment CI/CD pipeline Apr 14, 2026
Copilot AI requested a review from samueil April 14, 2026 20:09
@samueil samueil added the infra pipeline, deployment, etc. label Apr 14, 2026
@samueil samueil linked an issue Apr 14, 2026 that may be closed by this pull request
Copilot AI added a commit that referenced this pull request Apr 14, 2026
…tionships and actionable guidance

Agent-Logs-Url: https://github.com/samueil/yahtzeeCompanion/sessions/c692e465-f608-48e3-af1d-ec21607209f7

Co-authored-by: samueil <15824214+samueil@users.noreply.github.com>
@samueil
Copy link
Copy Markdown
Owner

samueil commented Apr 14, 2026

@copilot this is covered by #38

@samueil samueil closed this Apr 14, 2026
@samueil samueil deleted the copilot/automate-release-versioning-workflow branch April 14, 2026 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infra pipeline, deployment, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: Setup Deployment Pipeline (e.g. Firebase App Distribution)

2 participants