google-github-actions / deploy-appengine

A GitHub Action that deploys source code to Google App Engine.
https://cloud.google.com/appengine
254 stars 72 forks source link

Nodejs 18 + #333

Closed dustin-auby closed 11 months ago

dustin-auby commented 1 year ago

TL;DR

Are there any plans to support NodeJS versions higher than 16 ? i would like to use 18 or 20 for the app engine but as soon as i try anything above 16 then the deploy fails using this GitHub action

Detailed design

No response

Additional information

No response

sethvargo commented 1 year ago

Hi @dustin-auby - are you asking about the runtime deployment for AppEngine, or the Node version that this GitHub Action uses?

dustin-auby commented 1 year ago

Hi, I want to change the version in the app engine. So I changed it in the app.yml file but once I change it there I can no longer deploy using the action. I can however deploy using the standard google deploy script. It only doesn't work with this action.

dustin-auby commented 1 year ago

Hi, I want to change the version in the app engine. So I changed it in the app.yml file but once I change it there I can no longer deploy using the action. I can however deploy using the standard google deploy script. It only doesn't work with this action.

So yes the app engine runtime

sethvargo commented 1 year ago

Does the deploy succeed without the GitHub Action? This action just calls "gcloud app deploy" under the hood.

dustin-auby commented 1 year ago

Hi,

Yes if I use "gcloud app deploy" it works fine out side the action with nodejs 18 or 20 but as soon as I use the action it fails

Sent from my Galaxy

-------- Original message -------- From: Seth Vargo @.> Date: 2023/10/07 17:57 (GMT+02:00) To: google-github-actions/deploy-appengine @.> Cc: Dustin | Epicdev @.>, Mention @.> Subject: Re: [google-github-actions/deploy-appengine] Nodejs 18 + (Issue #333)

Does the deploy succeed without the GitHub Action? This action just calls "gcloud app deploy" under the hood.

— Reply to this email directly, view it on GitHubhttps://github.com/google-github-actions/deploy-appengine/issues/333#issuecomment-1751744788, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJEJOY64ENSNPPXOZRWDJN3X6F3XLAVCNFSM6AAAAAA5VWJDG6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJRG42DINZYHA. You are receiving this because you were mentioned.Message ID: @.***>

sethvargo commented 1 year ago

Can you please provide the action.yaml and debug logs?

dustin-auby commented 1 year ago

Hi Here is the action yaml

# This is a basic workflow to help you get started with Actions

name: Deploy to GAE

# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events but only for the main branch
  push:
    branches: [ qa ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  deploy:
    name: Deploying to Google Cloud
    runs-on: ubuntu-latest

    steps:
    - name: Checkout
      uses: actions/checkout@v2

    - name: Deploy to App Engine
      id: deploy
      uses: google-github-actions/deploy-appengine@v0.2.0
      with:
        deliverables: app-dev.yaml
        version: v1
        project_id: ${{ secrets.GCP_PROJECT }}
        credentials: ${{ secrets.GCP_CREDENTIALS }}

    - name: Test
      run: curl "${{ steps.deploy.outputs.url }}"`

And here are the logs

Run google-github-actions/deploy-appengine@v0.2.0
/usr/bin/tar --version
tar (GNU tar) 1.34
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
/usr/bin/tar xz --warning=no-unknown-keyword -C /home/runner/work/_temp/[8](https://github.com/REMOVED/actions/runs/6246055006/job/16955896854#step:3:9)2c2643f-5158-46b6-b[9](https://github.com/REMOVED/actions/runs/6246055006/job/16955896854#step:3:10)18-f47d2a4fcee4 -f /home/runner/work/_temp/e2d773bc-2e59-4e9a-9fda-e5df0601f8e5
/opt/hostedtoolcache/gcloud/447.0.0/x64/bin/gcloud config get-value project
(unset)
/opt/hostedtoolcache/gcloud/447.0.0/x64/bin/gcloud --quiet auth activate-service-account app-engine-deployer@***.iam.gserviceaccount.com --key-file -
Activated service account credentials for: [app-engine-deployer@***.iam.gserviceaccount.com]
/opt/hostedtoolcache/gcloud/447.0.0/x64/bin/gcloud auth list
                            Credentialed Accounts
ACTIVE  ACCOUNT
*       app-engine-deployer@***.iam.gserviceaccount.com

To set the active account, run:
    $ gcloud config set account `ACCOUNT`

/opt/hostedtoolcache/gcloud/447.0.0/x64/bin/gcloud app deploy --quiet app-dev.yaml --project *** --version v1 --promote
Services to deploy:

descriptor:                  [/home/runner/work/REMOVED/app-dev.yaml]
target project:              [***]
target service:              [default]
target version:              [v1]
target url:                  [https://***.ey.r.appspot.com]
target service account:      [***@appspot.gserviceaccount.com]

Beginning deployment of service [default]...
Created .gcloudignore file. See `gcloud topic gcloudignore` for details.
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 297 files to Google Cloud Storage              ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................failed.
ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build UUID status: FAILURE
> postinstall
> nuxt prepare

sh: 1: nuxt: not found
npm ERR! code [12](https://github.com/#step:3:13)7
npm ERR! path /workspace
npm ERR! command failed
npm ERR! command sh -c nuxt prepare

npm ERR! A complete log of this run can be found in: 
sethvargo commented 1 year ago

Hi @dustin-auby - I see a few things here:

  1. You're using very old versions of these actions. The newest version of checkout is actions/checkout@v4 and the latest version of deploy-appengine is google-github-actions/deploy-appengine@v1. Can you try updating to the latest versions please?

  2. The error is coming from the build on Cloud Build. It looks like nuxt is not installed.

  3. What does your app-dev.yaml look like?

dustin-auby commented 1 year ago

Hi @dustin-auby - I see a few things here:

  1. You're using very old versions of these actions. The newest version of checkout is actions/checkout@v4 and the latest version of deploy-appengine is google-github-actions/deploy-appengine@v1. Can you try updating to the latest versions please?
  2. The error is coming from the build on Cloud Build. It looks like nuxt is not installed.
  3. What does your app-dev.yaml look like?

Hi, ok i will try the later version. for point 2 and 3 keep in mind this only happens when using the action when calling the deploy command directly it deploys just fine so it cant be an issue with the project.

sethvargo commented 1 year ago

Hi, ok i will try the later version.

Okay - let me know how it goes.

for point 2 and 3 keep in mind this only happens when using the action when calling the deploy command directly it deploys just fine so it cant be an issue with the project.

I'm aware thank you. We can keep playing this game of back-and-forth (which I don't believe to be the most efficient or most effective use of our time), or you can show me files and/or a minimum reproduction case so I can iterate on my side and come back with an answer/fix. Up to you.

sethvargo commented 11 months ago

Closing due to lack of reply.