
AG-UI is an event-driven protocol for building real AI apps. Learn how to use it with streaming, tool calls, and reusable agent logic.

Frontend frameworks are often chosen by default, not necessity. This article examines when native web APIs deliver better outcomes for users and long-term maintenance.

Valdi skips the JavaScript runtime by compiling TypeScript to native views. Learn how it compares to React Native’s new architecture and when the trade-off makes sense.

What trends will define web development in 2026? Check out the eight most important trends of the year, from AI-first development to TypeScript’s takeover.
Would you be interested in joining LogRocket's developer community?
Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.
Sign up now
9 Replies to "Setting up continuous deployment with React, Firebase, and GitHub Actions"
Hi! Thanks for the article! But due to a breaking change in actions/download-artifact@master this won’t work unless you add path : build to the Download Artifact step. See this issue: https://github.com/w9jds/firebase-action/issues/38
Hello, thanks for this. I’ll update the article as soon as possible.
It has been updated. Thanks once again.
Nice article! Is it possible to deploy cloud functions too?
Yes you can, all you have to do is modify the flag in `args` of the deploy job to `–only functions,hosting`
Looks like it needs an update again, these repos renamed master to main.
dude you forgot to cd in to workflows
Input FIREBASE_TOKEN as the name and the token you copied earlier as the value. After doing that, click Add secret to save the environment variable.
what is the copied value? is it Firebase-Api-Key or something else. I didn’t get it
Thanks a lot for that! For those people who are a bit confused
Ensure the branch is “master” or “main”
repoToken: ‘${{ secrets.GITHUB_TOKEN }}’
firebaseServiceAccount: ‘${{ secrets.FIREBASE_SERVICE_ACCOUNT_[your project name] }}’
that’s how it worked for me