-
Notifications
You must be signed in to change notification settings - Fork 114
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #424 from newrelic/jerel/third-party-notices
chore: add jobs for generating third party manifest file
- Loading branch information
Showing
1 changed file
with
105 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,9 +6,110 @@ on: | |
# todo: change this branch name | ||
- master | ||
|
||
env: | ||
BOT_NAME: nr-opensource-bot | ||
BOT_EMAIL: [email protected] | ||
|
||
jobs: | ||
checkout-and-build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v2 | ||
|
||
- name: Setup Node.js | ||
uses: actions/setup-node@v1 | ||
with: | ||
node-version: 12 | ||
|
||
- name: Cache node_modules | ||
id: cache-node | ||
uses: actions/cache@v2 | ||
env: | ||
cache-name: node-modules | ||
with: | ||
path: ~/.npm | ||
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-${{ env.cache-name }}- | ||
- name: Install dependencies | ||
run: npm ci | ||
|
||
- name: Gatsby Build | ||
run: npm run build:production | ||
|
||
generate-third-party-notices: | ||
runs-on: ubuntu-latest | ||
needs: checkout-and-build | ||
steps: | ||
# Checkout fetch-depth: 2 because there's a check to see if package.json | ||
# was updated, and need at least 2 commits for the check to function properly | ||
- name: Checkout repo | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 2 | ||
|
||
- name: Setup Node.js | ||
uses: actions/setup-node@v1 | ||
with: | ||
node-version: 12 | ||
|
||
- name: Download Cached Deps | ||
id: cache-node-modules | ||
uses: actions/cache@v1 | ||
env: | ||
cache-name: node-modules | ||
with: | ||
path: ~/.npm | ||
key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-${{ env.cache-name }}- | ||
- name: Install Dependencies | ||
run: npm ci | ||
|
||
- name: Install OSS CLI | ||
run: | | ||
npm install -g @newrelic/newrelic-oss-cli | ||
- name: Generate Third Party Notices | ||
id: generate-notices | ||
run: | | ||
if [ ! -f "third_party_manifest.json" ]; then | ||
echo "::error::third_party_manifest.json is missing. Must generate using the newrelic-oss-cli." | ||
exit 1 | ||
fi | ||
# latest commit | ||
LATEST_COMMIT=$(git rev-parse HEAD) | ||
# latest commit where package.json was changed | ||
LAST_CHANGED_COMMIT=$(git log -1 --format=format:%H --full-diff package.json) | ||
if [ $LAST_CHANGED_COMMIT = $LATEST_COMMIT ]; then | ||
git config user.email "${{ env.BOT_EMAIL }}" | ||
git config user.name "${{ env.BOT_NAME }}" | ||
oss third-party manifest | ||
oss third-party notices | ||
git add third_party_manifest.json | ||
git add THIRD_PARTY_NOTICES.md | ||
git commit -m 'chore: update third-party manifest and notices [skip-cd]' | ||
echo "::set-output name=commit::true" | ||
else | ||
echo "No change in package.json, not regenerating third-party notices" | ||
fi | ||
- name: Push Commit | ||
if: steps.generate-notices.outputs.commit == 'true' | ||
uses: ad-m/[email protected] | ||
with: | ||
github_token: ${{ secrets.OPENSOURCE_BOT_TOKEN }} | ||
branch: master | ||
|
||
generate-changelog: | ||
runs-on: ubuntu-latest | ||
needs: [checkout-and-build, generate-third-party-notices] | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v2 | ||
|
@@ -38,9 +139,9 @@ jobs: | |
env: | ||
# Use nr-opensource-bot for authoring commits done by | ||
# semantic-release (rather than using @semantic-release-bot) | ||
GIT_AUTHOR_NAME: "nr-opensource-bot" | ||
GIT_AUTHOR_EMAIL: "[email protected]" | ||
GIT_COMMITTER_NAME: "nr-opensource-bot" | ||
GIT_COMMITTER_EMAIL: "[email protected]" | ||
GIT_AUTHOR_NAME: ${{ env.BOT_NAME }} | ||
GIT_AUTHOR_EMAIL: ${{ env.BOT_EMAIL }} | ||
GIT_COMMITTER_NAME: ${{ env.BOT_NAME }} | ||
GIT_COMMITTER_EMAIL: ${{ env.BOT_EMAIL }} | ||
GITHUB_TOKEN: ${{ secrets.OPENSOURCE_BOT_TOKEN }} | ||
run: npx semantic-release |