Skip to content

Conversation

@rileyseaburg
Copy link
Contributor

Summary

  • Add missing touchpoints-s3-uploads service binding to production manifest
  • Fix CF CLI installation in CircleCI (use APT repository instead of direct download)

Problem

Production deployments were failing because:

  1. The touchpoints.yml manifest was missing the touchpoints-s3-uploads service binding
  2. During rolling deployments, CF would unbind this service from new instances
  3. New instances crashed on startup (exit code 1) because Rails expected the S3 service

Changes

Testing

  • Production app is currently healthy on revision 430 (14 instances)
  • Stuck deployment was manually cancelled
  • This fix ensures new deployments will maintain the S3 service binding

rileyseaburg and others added 6 commits December 22, 2025 22:20
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Riley Seaburg <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Riley Seaburg <[email protected]>
Fix cf-cli installation using APT repository
The production deployment was failing because new instances crashed on startup.
Root cause: the manifest was missing the touchpoints-s3-uploads service that
the app expects. CF was unbinding this service during rolling deployments,
causing Rails to exit with status 1.
Copilot AI review requested due to automatic review settings December 23, 2025 04:10
@rileyseaburg rileyseaburg merged commit 8b654bb into production Dec 23, 2025
18 of 19 checks passed
Copy link
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 fixes a critical production deployment issue by adding the missing touchpoints-s3-uploads service binding to the production manifest and updating the CF CLI installation method in CircleCI to use the APT repository instead of direct download.

Key Changes:

  • Added touchpoints-s3-uploads service binding to prevent application crashes during rolling deployments
  • Replaced direct CF CLI download with APT repository installation (referenced from PR #1932) to resolve download failures in CI

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
touchpoints.yml Added missing touchpoints-s3-uploads service binding to production manifest
.circleci/config.yml Updated CF CLI installation to use APT repository in both build and cron_tasks jobs; fixed indentation in rspec test command

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

command: |
curl -v -L -o cf-cli_amd64.deb 'https://packages.cloudfoundry.org/stable?release=debian64&source=github'
sudo dpkg -i cf-cli_amd64.deb
# Install Cloud Foundry CLI repository key using modern signed-by mechanism
Copy link

Copilot AI Dec 23, 2025

Choose a reason for hiding this comment

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

The CF CLI installation in the cron_tasks job is missing the command to create the trusted GPG directory. The build job includes sudo mkdir -p /etc/apt/trusted.gpg.d at line 133, but the cron_tasks job does not. This could cause the installation to fail if the directory doesn't already exist in the cimg/base:2025.01 image. Consider adding this line for consistency and reliability.

Suggested change
# Install Cloud Foundry CLI repository key using modern signed-by mechanism
# Install Cloud Foundry CLI repository key using modern signed-by mechanism
sudo mkdir -p /etc/apt/trusted.gpg.d

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants