Skip to content

Conversation

@iwaduarte
Copy link
Contributor

Fix deployment pipeline and add arm64 architecture support

Summary

Fixed three critical issues preventing layer deployments and README updates:

  1. Removed workflow-blocking exit code that prevented README updates
  2. Added arm64 (Graviton2) architecture support alongside x64
  3. Updated README structure to reflect dual-architecture deployment

Issues Fixed

  • Exit code 78 blocking README updates: Changed to exit 0 with skip flag, allowing README workflow to trigger on success
  • Version stuck at v50: README workflow was never running due to failed workflow_run dependency
  • No arm64 support: Added arm64 layer deployment for all 16 AWS regions

Changes Made

.github/workflows/layers_dispatch.yaml

  • Replace exit 78 with exit 0 + skip output flag
  • Download both x64 and arm64 chromium zips from Sparticuz/chromium releases
  • Publish TWO layer versions per region: chrome-aws-lambda-x64 and chrome-aws-lambda-arm64
  • Add conditional execution with if: steps.latest_release.outputs.skip == 'false'

.github/workflows/update_readme.yaml

  • Query layer versions for both x64 and arm64 architectures
  • Update sed commands to handle new layer naming pattern

readme.md

  • Update version from v131 to v141 (will be auto-updated by workflow)
  • Split "Available regions" into separate x64 and arm64 sections
  • Update Getting Started with architecture-specific ARN examples
  • Update Lambda settings to mention both architectures

Breaking Changes ⚠️

IMPORTANT: Layer names have changed:

  • Old: chrome-aws-lambda
  • New: chrome-aws-lambda-x64 and chrome-aws-lambda-arm64

Existing users will need to update their Lambda functions to use the new layer ARNs. The old chrome-aws-lambda layer will no longer receive
updates.

Testing

  • Workflow syntax validated
  • URL patterns confirmed against Sparticuz/chromium v141.0.0 release
  • README format tested with sed patterns

Next Deployment

On next workflow run (daily cron or push to master):

  • Will publish 32 new layer versions (2 architectures × 16 regions)
  • README will auto-update with correct version numbers

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

sed -i -e "s|arn:aws:lambda:$REGION:[0-9]*:layer:chrome-aws-lambda-arm64:[0-9]*|$ARM64_ARN|g" readme.md
done
- name: Commit and Push

Choose a reason for hiding this comment

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

P1 Badge README workflow now fails whenever no new release is published

The deploy workflow now exits with code 0 even when the tag is unchanged, so the Update README workflow is triggered on every scheduled run. When there is no new release, the sed commands leave readme.md untouched but this step still executes git commit unconditionally, which exits with a non‑zero status (nothing to commit). That means the README workflow will start failing on every day without a new release. Consider skipping the commit when git diff --quiet shows no changes or short‑circuiting the job based on the skip flag emitted from the deploy workflow.

Useful? React with 👍 / 👎.

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant