Lullabot / drainpipe

GNU General Public License v3.0
29 stars 12 forks source link

Make Pantheon GitHub Actions available even without PantheonReviewApps Workflow #499

Open quicksketch opened 3 months ago

quicksketch commented 3 months ago

I'm setting up a new project that uses Tugboat + Pantheon. I'd like to be able to deploy to Pantheon using Drainpipe's available GitHub action scripts, but I don't want to use PantheonReviewApps.yml since it is redundant with Tugboat.

I found out that if I enable Pantheon integration with:

        "drainpipe": {
            "github": ["PantheonReviewApps"]
        }

It adds the .github/actions/drainpipe/pantheon directory with the associate Pantheon actions. But it also adds the PantheonReviewApps.yml. If I try deleting PantheonReviewApps.yml, it is reinstalled on every composer install, and I remove the PantheonReviewApps from composer.json, then it also deletes the .github/actions/drainpipe/pantheon actions directory.

I'd like to be able to keep the actions in place so I can use them for deployment to the dev environment (not a multidev). You'd think I'd be able to just git commit the actions, but Drainpipe actually forcibly removes the entire .github/actions/drainpipe directory on every composer install, which causes the actions to be removed when running ddev task build.

For now what I've done is leave PantheonReviewApps in place in my composer.json, then I disable the workflow manually in the GitHub UI:

image

But what I'd like to see is the ability to just have the actions and not the PantheonReviewApps workflow. Maybe a new key could be introduced to just include the actions like this:

        "drainpipe": {
            "github": ["PantheonActions"]
        }
mrdavidburns commented 3 months ago

@quicksketch have you tried just using "Pantheon"? Not sure if this still works as it looks to be an artifact from resolving an old merge conflict. Also not sure if this only applies to GitLab. https://github.com/Lullabot/drainpipe?tab=readme-ov-file#pantheon-2

"extra": {
    "drainpipe": {
        "gitlab": ["Pantheon"]
    }
}
quicksketch commented 3 months ago

@mrdavidburns Adding the same thing for GitHub has no effect at all.

        "drainpipe": {
            "github": ["Pantheon"]
        }

It does work on GitLab.

This seems to overlap a bit with #500, where general Pantheon support was broken. The default pantheon.yml file isn't getting created either.