Skip to content

Add working-directory input #10

@Nedu

Description

@Nedu

TL;DR

Deploy fails while asking for an app.yaml file even though it is present already.

Expected behavior

Expected it to be able to detect app.yaml and deployment to be successful.

Observed behavior

It throws the following error

ERROR: An app.yaml (or appengine-web.xml) file is required to deploy this directory as an App Engine application. Create an app.yaml file using the directions at https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml (App Engine Flexible Environment) or https://cloud.google.com/appengine/docs/standard/python/config/appref (App Engine Standard Environment) under the tab for your language.
ERROR: (gcloud.app.deploy) [/home/runner/work] could not be identified as a valid source directory or file.

Reproduction

Action YAML

name: Deploy Server to Google App Engine

on: 
  push:
    branches: 
      - master
    paths:
      - 'server/**'
      - '.github/workflows/deploy.yml'

defaults:
  run:
    working-directory: server

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [14.9]

    steps:
    - name: Checkout Repo
      uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v2-beta
      with:
        node-version: ${{ matrix.node-version }}
    - name: Install Dependencies
      run: npm ci
    - name: Build Typescript
      run: npm run build:prod --if-present
    - name: Set up PostgreSQL
      uses: harmon758/postgresql-action@v1
      with:
        postgresql version: '12'
        postgresql db: ${{ secrets.DB_TEST }}
        postgresql user: ${{ secrets.DB_USER }}
        postgresql password: ${{ secrets.DB_PASSWORD }}
    - name: Run Tests
      run: npm run test:prod
      env:
        CI: true
        PORT: ${{ secrets.PORT }}
        DB_NAME: ${{ secrets.DB_NAME }}
        DB_TEST: ${{ secrets.DB_TEST }}
        DB_USER: ${{ secrets.DB_USER }}
        DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
        DB_HOST: ${{ secrets.DB_HOST }}
        DB_DIALECT: ${{ secrets.DB_DIALECT }}
  deploy:
    needs: [build]
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: GCP Setup
      uses: google-github-actions/setup-gcloud@master
      with:
        version: '290.0.1'
        project_id: ${{ secrets.PROJECT_ID }}
        service_account_key: ${{ secrets.GCP_CREDENTIALS }}
        export_default_credentials: true
    - id: Deploy
      uses: google-github-actions/deploy-appengine@main
      with:
        credentials: ${{ secrets.GCP_CREDENTIALS }}

Additional information
app.yaml is included in the root of the server

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions