3

I am trying to set up a Node app to deploy to Digital Ocean after pushing to a Github repo. I am using Github actions and have followed this tutorial but have hit a snag at step 5. I get the following error when I try to push to the repo.

 ! [remote rejected] master -> master (refusing to allow an OAuth App to create or update workflow `.github/workflows/main.yaml` without `workflow` scope)
error: failed to push some refs to 'https://github.com/IT-ACA/hello-node-do.git' 

I have tried everything I can find, including this SO post, but nothing works. I have a .yaml file in my project, which I can't see anything immediately wrong with, that currently looks like this.

name: CI

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

  # 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:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      name: Deploy NodeJS App
      uses: jjst/action-digitalocean-deploy-app@v2 
      with:
        token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
        host: ${{ secrets.SSH_HOST }}
        key: ${{ secrets.SSH_KEY }}
        username: ${{ secrets.SSH_USER }}
        script: | 
          cd hello-node-do
          git clone https://github.com/IT-ACA/hello-node-do.git
          echo 'Deploy successful to Digital Ocean..' 

Note that I have a different value for uses in the yaml code above which comes from this page and is what I began my DigitalOcean deployment journey with. But, I have also tried the one from the tutorial linked above without any luck.

I think the secrets are all correctly in place and that I have done everything necessary on the DigitalOcean side but it still throws this error. This is the very first time I have tried implementing a CD/CI pipeline and I have spent hours troubleshooting it now. Running out of ideas and would appreciate any help getting over this frustrating hurdle. Thanks in advance!

mikeym
  • 5,705
  • 8
  • 42
  • 62
  • I"m not sure I understand what you're trying to do, but why don't you use [checkout](https://github.com/actions/checkout) do get your repo? – Benjamin W. Aug 04 '21 at 03:47
  • I just searched for other people using that action, and [here](https://github.com/mota/ifconfig.cloud/blob/ccbb377332fb8ba7d63ac430c29a668b3b09d2dc/.github/workflows/ifconfig.yaml) is a workflow that seems to work (and uses checkout). – Benjamin W. Aug 04 '21 at 03:51

0 Answers0