Reputation: 5107
My current workflow:
name: Node CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: npm install, build, and test
run: |
npm install yarn -g
yarn
yarn test
env:
CI: true
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
I have setup my NPM_TOKEN
in the repo secrets area.
The token is also in use on Netlify, and the netlify build process works.
When this workflow runs, I get a 404 for any of my private packages.
What am I doing wrong?
Upvotes: 5
Views: 11327
Reputation: 2424
In case you have an existing .npmrc
and ONLY want to append the token into the existing file instead of overwriting it, this worked for me.
*** NOTE: The echo
includes a -e
argument and a \n
in order to prepend a newline. Also instead of >
which overwrites the .npmrc
file there is a >>
which appends to the .npmrc
file.
- name: npm install, build, and test
run: |
echo -e "\n//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
npm install yarn
yarn
yarn test
env:
CI: true
Upvotes: 0
Reputation: 5107
Found a fix:
Write out .npmrc
as part of the job instead of relying on an env variable.
name: Node CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: npm install, build, and test
run: |
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
npm install yarn -g
yarn
yarn test
env:
CI: true
Upvotes: 6
Reputation: 41900
I think the following question/answer might be related.
Yarn can't find private Github npm registry
If this is the same issue, package proxying from the npm registry doesn't work with yarn yet.
Upvotes: 0