#Help Implementing Branch Previews for Railway

36 messages · Page 1 of 1 (latest)

trim junco
#

I am currently working on implementing neon branches via GitHub Actions whenever a new pull request is initiated. I've been inspired by the neon demo project "preview-branches-with-vercel." (https://github.com/neondatabase/preview-branches-with-vercel/tree/main)

However, I've encountered a challenge when trying to implement the preview site in Railway. The Railway CLI doesn't have an option for creating environments. I can't use automatically created PR environments, as the neon branch action creates a fresh database URL that the preview site needs to connect to the database.

I've been trying to find a viable workaround or a way to implement this. However, I'm currently stuck and could use some advice. Does anyone have any suggestions on how I could go about this or if a feature/support is planned to enable such workflows within the Railway ecosystem?

GitHub

Example project that shows how you can create a branch for every preview deployment on Vercel using GitHub actions - GitHub - neondatabase/preview-branches-with-vercel: Example project that shows h...

novel helmBOT
#

Project ID: N/A

trim junco
eternal cobalt
#

I think @solid badger has successfully done this exact same thing, though I can't remember if it was with planet scale or neon

solid badger
#

Indeed I have thanks for the tag Brody. Hey @trim junco I created my own GitHub action to do exactly this using neon & railway

#

The action I created is a bit barebones and only supports one service at the moment but I was thinking to expand it maybe this xmas weekend if I find some time but essentially

and then how to use it

GitHub

Contribute to Faolain/railway-pr-deploy development by creating an account on GitHub.

GitHub

Contribute to Faolain/railway-pr-delete development by creating an account on GitHub.

#

and that's the github action on how to use it

trim junco
#

Thanks @solid badger and @Brody. It looks exactly like what I'm looking for. Thank you very much! I'll try it out later.

solid badger
#

You're very welcome!

#

Xmas gift 😛

trim junco
#

@solid badger It works like a charm. Thanks again 1010

solid badger
#

you're very welcome!

#

🙂

trim junco
#

@solid badger Just one little thing: For some reason, steps.railway_deploy.outputs.domain appears to be empty 🤔

solid badger
#

ah sorry about that, I need to update the docs

#

it's service_domain, not domain that was an older version and I never changed it in the README

#

just updated the docs for it

trim junco
#

I relied too heavily on IntelliSense 😊 It works now.

solid badger
#

haha perfect

#

I'm going to be doing an update to support multiple services as it's very "naive" now

#

Would love some railway input though and also some endpoints which would help simplify the steps quite heavily

#

open to any PRs though

trim junco
#

I also find it strange that it was not possible to make previews with railway cli.

solid badger
#

agreed, as it's shown it can be done, it's hacky but it works hehe

#

Sidenote I pushed another update to handle multiple services, it's also very very rudimentary at the moment and I don't suggest you update if what you have works @trim junco but I'm setting up infra so that split workers can work alongside an app. Latest is v2.0.4 but imo the action in theory isn't ready for public consumption as it's very shoot from the hip, I'd like something more professional but time is always a bottleneck. In any case if you happen to have multiple running applications in a project v2.0.4 will work (for example a worker app and an api)

unreal blaze
#

I'm working on a blog post which covers this. Glad to see that there's interest 😄

#

If you have any Neon-related questions feel free to reach out

reef mason
#

Hey @unreal blaze! Did that blog post end up coming out? 😄

reef mason
#

I'd love to know if there's an official way to integrate Neon branches with Railway's automatic PR environments

unreal blaze
#

I'm still looking into it. The Railway CLI doesn't support preview deployments so I'll need to do something with the API instead

solid badger
unreal blaze
#

oh

#

this is very cool. I saw it but forgot to check it

#

I'll create my own project and try it out. Thanks @solid badger !