-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: split into separate PR/release workflows
+ update NPM caching to not use set-output + update all setup node usage to node 16 + fix third-party-notices gen to so checkout action fetches last 2 commits and does the comparison accurately + use semantic-release-action@v3 to bypass bug with v20.0.0 + update ghaction-docker-meta action to use v2 tag
- Loading branch information
1 parent
8a88578
commit 037f6e1
Showing
2 changed files
with
177 additions
and
43 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
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 |
---|---|---|
@@ -0,0 +1,125 @@ | ||
name: CI | ||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
env: | ||
THIRD_PARTY_GIT_AUTHOR_EMAIL: [email protected] | ||
THIRD_PARTY_GIT_AUTHOR_NAME: nr-opensource-bot | ||
|
||
jobs: | ||
job-test-unit: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Node | ||
uses: actions/setup-node@v2 | ||
with: | ||
node-version: 16 | ||
|
||
- name: Cache node_modules | ||
id: cache-node-modules | ||
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: Lint | ||
run: npm run lint | ||
|
||
- name: Typescript Build | ||
run: npm run build | ||
|
||
- name: NCC Package | ||
run: npm run package | ||
|
||
- name: Test | ||
run: npm run test | ||
|
||
- name: Coverage | ||
uses: codecov/codecov-action@v1 | ||
|
||
job-test-system: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Cache Docker layers | ||
uses: actions/cache@v2 | ||
with: | ||
path: /tmp/.buildx-cache | ||
key: ${{ runner.os }}-buildx-${{ github.sha }} | ||
restore-keys: | | ||
${{ runner.os }}-buildx- | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v1 | ||
|
||
- name: Docker Build | ||
uses: docker/build-push-action@v2 | ||
with: | ||
tags: ${{ github.repository }}:latest | ||
load: true | ||
cache-from: type=local,src=/tmp/.buildx-cache | ||
cache-to: type=local,dest=/tmp/.buildx-cache | ||
|
||
- name: Run Action (JSON) | ||
id: repolinter-json | ||
run: > | ||
docker run -t | ||
-v ${{ github.workspace }}:/github/workspace -w /github/workspace | ||
-e INPUT_DIRECTORY=/github/workspace | ||
-e INPUT_TOKEN=${{ github.token }} | ||
-e INPUT_USERNAME=app/github-actions | ||
-e INPUT_CONFIG_FILE=./.github/workflows/test-rulesets/repolinter-test.json | ||
-e INPUT_REPOSITORY=${{ github.repository }} | ||
-e INPUT_OUTPUT_TYPE=exit-code | ||
-e INPUT_OUTPUT_NAME="[Repolinter] Open Source Policy Issues" | ||
-e INPUT_LABEL_NAME=repolinter | ||
-e INPUT_LABEL_COLOR=fbca04 | ||
-e GITHUB_RUN_NUMBER=${{ github.run_number }} | ||
-e GITHUB_ACTION=true | ||
${{ github.repository }}:latest | ||
- name: Verify Outputs | ||
env: | ||
DID_ERROR: ${{ steps.repolinter-json.outputs.errored }} | ||
DID_PASS: ${{ steps.repolinter-json.outputs.passed }} | ||
shell: bash | ||
run: '[ "$DID_ERROR" = "false" ] && [ "$DID_PASS" = "true" ]' | ||
|
||
- name: Run Action (YAML) | ||
id: repolinter-yaml | ||
run: > | ||
docker run -t | ||
-v ${{ github.workspace }}:/github/workspace -w /github/workspace | ||
-e INPUT_DIRECTORY=/github/workspace | ||
-e INPUT_TOKEN=${{ github.token }} | ||
-e INPUT_USERNAME=app/github-actions | ||
-e INPUT_CONFIG_FILE=./.github/workflows/test-rulesets/repolinter-test.yaml | ||
-e INPUT_REPOSITORY=${{ github.repository }} | ||
-e INPUT_OUTPUT_TYPE=exit-code | ||
-e INPUT_OUTPUT_NAME="[Repolinter] Open Source Policy Issues" | ||
-e INPUT_LABEL_NAME=repolinter | ||
-e INPUT_LABEL_COLOR=fbca04 | ||
-e GITHUB_RUN_NUMBER=${{ github.run_number }} | ||
-e GITHUB_ACTION=true | ||
${{ github.repository }}:latest | ||
- name: Verify Outputs | ||
env: | ||
DID_ERROR: ${{ steps.repolinter-yaml.outputs.errored }} | ||
DID_PASS: ${{ steps.repolinter-yaml.outputs.passed }} | ||
shell: bash | ||
run: '[ "$DID_ERROR" = "false" ] && [ "$DID_PASS" = "true" ]' |