There is a missing step in your main.yml that's why your workflow can't find and access the files. To fix it, add checkout@v2 action in your steps:

name: Deployment

on:
  push:
    branches:
    - master
  
jobs:
  deploy:
    name: Deploy to App Engine
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Google App Engine
        uses: google-github-actions/[email protected]
        with:
          project_id: my-gae-project-id
          version: master
          credentials: ${{secrets.GOOGLE_APP_ENGINE_KEY}}
          flags: --no-cache
          deliverables: app.yaml

You can also visit this official github example for your reference.

Answer from JM Gelilio on Stack Overflow
🌐
GitHub
github.com › google-github-actions › deploy-appengine
GitHub - google-github-actions/deploy-appengine: A GitHub Action that deploys source code to Google App Engine. · GitHub
jobs: job_id: permissions: contents: 'read' id-token: 'write' steps: - id: 'auth' uses: 'google-github-actions/auth@v3' with: workload_identity_provider: 'projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider' service_account: 'my-service-account@my-project.iam.gserviceaccount.com' - id: 'deploy' uses: 'google-github-actions/deploy-appengine@v3' # Example of using the output - id: 'test' run: 'curl "${{ steps.deploy.outputs.version_url }}"'
Starred by 276 users
Forked by 73 users
Languages   TypeScript 95.9% | JavaScript 4.1%
🌐
GitHub
github.com › google-github-actions › deploy-appengine › blob › main › README.md
deploy-appengine/README.md at main · google-github-actions/deploy-appengine
jobs: job_id: permissions: contents: 'read' id-token: 'write' steps: - id: 'auth' uses: 'google-github-actions/auth@v3' with: workload_identity_provider: 'projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider' service_account: 'my-service-account@my-project.iam.gserviceaccount.com' - id: 'deploy' uses: 'google-github-actions/deploy-appengine@v3' # Example of using the output - id: 'test' run: 'curl "${{ steps.deploy.outputs.version_url }}"'
Author   google-github-actions
🌐
GitHub
github.com › google-github-actions › deploy-appengine › tree › main
deploy-appengine/ at main · google-github-actions/deploy-appengine
jobs: job_id: permissions: contents: 'read' id-token: 'write' steps: - id: 'auth' uses: 'google-github-actions/auth@v3' with: workload_identity_provider: 'projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider' service_account: 'my-service-account@my-project.iam.gserviceaccount.com' - id: 'deploy' uses: 'google-github-actions/deploy-appengine@v3' # Example of using the output - id: 'test' run: 'curl "${{ steps.deploy.outputs.version_url }}"'
Author   google-github-actions
🌐
GitHub
github.com › marketplace › actions › deploy-to-app-engine
Deploy to App Engine · Actions · GitHub Marketplace · GitHub
jobs: job_id: permissions: contents: 'read' id-token: 'write' steps: - id: 'auth' uses: 'google-github-actions/auth@v3' with: workload_identity_provider: 'projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider' service_account: 'my-service-account@my-project.iam.gserviceaccount.com' - id: 'deploy' uses: 'google-github-actions/deploy-appengine@v3' # Example of using the output - id: 'test' run: 'curl "${{ steps.deploy.outputs.version_url }}"'
🌐
GitHub
github.com › google-github-actions › deploy-appengine › releases
Releases · google-github-actions/deploy-appengine
February 1, 2025 - A GitHub Action that deploys source code to Google App Engine. - google-github-actions/deploy-appengine
Author   google-github-actions
🌐
GitHub
github.com › google-github-actions › deploy-appengine › tree › main › example-app
deploy-appengine/example-app at main · google-github-actions/deploy-appengine
A GitHub Action that deploys source code to Google App Engine. - deploy-appengine/example-app at main · google-github-actions/deploy-appengine
Author   google-github-actions
🌐
GitHub
github.com › google-github-actions › deploy-appengine › blob › main › package.json
deploy-appengine/package.json at main · google-github-actions/deploy-appengine
A GitHub Action that deploys source code to Google App Engine. - deploy-appengine/package.json at main · google-github-actions/deploy-appengine
Author   google-github-actions
Find elsewhere
🌐
GitHub
github.com › marketplace › actions › deploy-to-google-app-engine
Deploy to Google App Engine · Actions · GitHub Marketplace · GitHub
- name: Deploy to Google App Engine uses: etereo-io/deploy-gae-action with: service_account: ${{ secrets.SERVICE_ACCOUNT }} project_id: ${{ secrets.PROJECT_ID }} gae_config_path: './app.yaml' no_cache: false dispatch_yaml: './dispatch.yaml'
🌐
GitHub
github.com › google-github-actions › deploy-appengine › blob › main › action.yml
deploy-appengine/action.yml at main · google-github-actions/deploy-appengine
A GitHub Action that deploys source code to Google App Engine. - deploy-appengine/action.yml at main · google-github-actions/deploy-appengine
Author   google-github-actions
🌐
GitHub
github.com › google-github-actions › deploy-appengine › actions › workflows › deploy-appengine.yml
Workflow runs · google-github-actions/deploy-appengine
A GitHub Action that deploys source code to Google App Engine. - Workflow runs · google-github-actions/deploy-appengine
Author   google-github-actions
🌐
GitHub
github.com › actions-marketplace-validations › google-github-actions_deploy-appengine
GitHub - actions-marketplace-validations/google-github-actions_deploy-appengine · GitHub
jobs: job_id: permissions: contents: 'read' id-token: 'write' steps: - id: 'auth' uses: 'google-github-actions/auth@v3' with: workload_identity_provider: 'projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider' service_account: 'my-service-account@my-project.iam.gserviceaccount.com' - id: 'deploy' uses: 'google-github-actions/deploy-appengine@v3' # Example of using the output - id: 'test' run: 'curl "${{ steps.deploy.outputs.version_url }}"'
Author   actions-marketplace-validations
🌐
Martinelli
martinelli.ch › home › deploy to google cloud app engine with github actions
Deploy to Google Cloud App Engine with GitHub Actions - Martinelli
February 17, 2025 - - name: GCP Authentication uses: google-github-actions/auth@v0 with: workload_identity_provider: 'projects/839267018602/locations/global/workloadIdentityPools/playground-pool/providers/gha-provider' service_account: 'github@organic-gecko-350604.iam.gserviceaccount.com' In the next step deploy to App Engine. In my example the App Engine Maven plugin is used: - name: Maven Build and AppEngine Deploy run: mvn -B package appengine:deploy -Pproduction
🌐
Daniel's Journey
dannyboy.hashnode.dev › deploying-to-google-app-engine-using-github-actions
Deploying to Google App Engine Using Github Actions
November 7, 2023 - With App Engine, the developer ... the deployment. When you combine Google App Engine and Github Actions, it provides a seamless deployment process....
🌐
GitHub
github.com › marketplace › actions › deploy-google-app-engine
Deploy google app engine · Actions · GitHub Marketplace · GitHub
- name: Deploy google app engine uses: vijayp23/deploy-gae-action@1.0.1 with: service-account: ${{ secrets.SERVICE_ACCOUNT }} project-id: ${{ secrets.PROJECT_ID }} config-files: './app.yml' # Optional service-version: 3 #default value : "" delete-previous-versions: true #default value : false service-name: ${{ secrets.SERVICE_NAME }} #default value : default no-cache: false #default value : false debug: false #default value : false
🌐
GitHub
github.com › marketplace › actions › publish-app-to-google-app-engine
Publish app to Google App Engine · Actions · GitHub Marketplace · GitHub
- name: Initialize Google Cloud SDK uses: zxyle/publish-gae-action@master with: service_account_email: ${{ secrets.GCP_SA_EMAIL }} service_account_key: ${{ secrets.GCP_SA_KEY }} project_id: ${{ secrets.PROJECT_ID }} # An optional variables parameter can be used gae_variables: ${{ secrets.GAE_VARIABLES }} - name: Publish app to Google App Engine run: | # This client-secret.json is converted by GCP_SA_KEY. gcloud auth activate-service-account ${{ secrets.GCP_SA_EMAIL }} --key-file=client-secret.json gcloud config set project ${{ secrets.PROJECT_ID }} gcloud -q app deploy app.yaml --promote # Suppose you need a cron task.
🌐
Medium
medium.com › geekculture › deploy-to-google-app-engine-using-github-actions-ci-cd-f25d4c965fbc
Deploy to Google App Engine using GitHub Actions (CI/CD) | by Avinash Kanumuru | Geek Culture | Medium
August 17, 2021 - Deploy to Google App Engine using GitHub Actions (CI/CD) Continuous Integration and Continuous Deployment (CI/CD) is the core thing in MLOps (other being Data Version Control) and we will look at how …
🌐
Google Cloud
cloud.google.com › blog › topics › developers-practitioners › deploying-serverless-platforms-github-actions
Deploying to serverless platforms with GitHub Actions | Google Cloud Blog
December 15, 2020 - Deploy your source code with the google-github-actions/deploy-appengine action by specifying a service account key with permissions to deploy and the path to App Engine app's settings file, app.yaml which sits next to your application to define ...
🌐
Wordpress
baskus.wordpress.com › 2019 › 09 › 29 › how-to-deploy-to-app-engine-using-github-actions
How to: deploy to App Engine using GitHub Actions – Sebastian Ärleryd
February 11, 2020 - This how-to describes how to setup a GitHub Actions workflow that builds your code and deploys the new version directly to your Google App Engine project.