title: How To Set Up GitHub Actions to Publish a Lerna Monorepo
body: <p>I maintain a lerna/yarn monorepo. I'm in the process of migrating the CI/CD from circle to the new GitHuba Actions publish beta. I've created the following workflow:</p>
  
  <pre><code>name: CD
  
  on:
    push:
      branches:
        - master
  
  jobs:
    build:
  
      runs-on: ubuntu-latest
  
      steps:
        - uses: actions/checkout@master
  
        - name: Checkout master
          run: git checkout master
  
        - name: Install rsync
          run: sudo apt install rsync
  
        - name: Install yarn
          run: |
            curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
            echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
            sudo apt-get update
            sudo apt-get install yarn
  
        - name: Install Packages
          run: yarn install
  
        - name: Test
          run: yarn test
  
        - name: Upload coverage results to Code Climate
          run: sh ./scripts/upload-coverage.sh
          env:
            CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
  
        - name: Authenticate with Registry
          run: echo "registry=//registry.npmjs.org/:_authToken=$NPM_TOKEN" &gt; ~/.npmrc
          env:
            NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
  
        - name: Configure CI Git User
          run: |
            git config --global user.email octobot@github.com
            git config --global user.name GitHub Actions
  
        - name: Publish package
          run: yarn deploy --yes
          env:
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  
        - name: Build Docs
          run: yarn docs
  
        - name: Deploy Docs
          run: |
            echo "apolloelements.dev" &gt; docs/CNAME
            npx gh-pages --dist docs
  </code></pre>
  
  <p>It fails at the Publish Packages step with this message:</p>
  
  <pre><code>lerna info git Pushing tags...
  lerna ERR! Error: Command failed: git push --follow-tags --no-verify origin master
  lerna ERR! fatal: could not read Username for 'https://github.com': No such device or address
  lerna ERR! 
  lerna ERR!     at makeError (/home/runner/work/apollo-elements/apollo-elements/node_modules/execa/index.js:174:9)
  lerna ERR!     at Promise.all.then.arr (/home/runner/work/apollo-elements/apollo-elements/node_modules/execa/index.js:278:16)
  lerna ERR! Error: Command failed: git push --follow-tags --no-verify origin master
  lerna ERR! fatal: could not read Username for 'https://github.com': No such device or address
  lerna ERR! 
  lerna ERR!     at makeError (/home/runner/work/apollo-elements/apollo-elements/node_modules/execa/index.js:174:9)
  lerna ERR!     at Promise.all.then.arr (/home/runner/work/apollo-elements/apollo-elements/node_modules/execa/index.js:278:16)
  lerna ERR! lerna Command failed: git push --follow-tags --no-verify origin master
  lerna ERR! lerna fatal: could not read Username for 'https://github.com': No such device or address
  lerna ERR! lerna 
  error Command failed with exit code 128.
  info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
  </code></pre>
  
  <p>Changing the remote to use HTTPS and the github token hasn't helped:</p>
  
  <pre><code>git remote rm origin
  git remote add origin "https://$USER_NAME:$GITHUB_PERSONAL_ACCESS_TOKEN@github.com/apollo-elements/apollo-elements.git"
  </code></pre>
  
  <p>Where <code>GITHUB_PERSONAL_ACCESS_TOKEN</code> is a PAT passed via secrets.</p>
  
  <p>In that case, I received this error:</p>
  
  <pre><code>lerna ERR! ENOREMOTEBRANCH Branch 'master' doesn't exist in remote 'origin'.
  </code></pre>
  
  <p>How should I set up the project to be able to push tags and commits back to the repository from CD?</p>