NR-291019 add fips compliant package builds (#530) #2376
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
--- | |
name: Push/PR pipeline | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
paths-ignore: | |
- README.md | |
- 'docs/**' | |
- 'examples/**' | |
env: | |
REPO_FULL_NAME: ${{ github.event.repository.full_name }} | |
ORIGINAL_REPO_NAME: "newrelic/nri-flex" | |
jobs: | |
test-nix: | |
strategy: | |
matrix: | |
os: [ ubuntu-20.04 ] | |
name: Run unit tests in ${{matrix.os}} | |
runs-on: ${{matrix.os}} | |
steps: | |
- name: checkout code | |
uses: actions/checkout@v2 | |
- name: Install go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: Run unit tests | |
run: make ci/test | |
- name: Coveralls Parallel | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.github_token }} | |
path-to-lcov: ./coverage.out | |
flag-name: run-linux | |
parallel: true | |
test-integration-nix: | |
name: Run integration tests | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.OHAI_DOCKER_HUB_ID }} | |
password: ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }} | |
- name: Run integration tests | |
run: make test-integration | |
snyk: | |
name: Run security checks via snyk | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.OHAI_DOCKER_HUB_ID }} | |
password: ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }} | |
- name: Scan code for vulnerabilities | |
env: | |
SNYK_TOKEN: ${{ secrets.CAOS_SNYK_TOKEN }} | |
run: make ci/snyk-test | |
test-windows: | |
strategy: | |
matrix: | |
go: [ '1.22' ] | |
os: [ windows-2022 ] | |
name: Run unit and integration tests in ${{matrix.os}} with go ${{matrix.go}} | |
runs-on: ${{matrix.os}} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: install go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: run unit tests | |
# we don't have 'make' on windows. | |
run: | | |
go test ./cmd/... ./integration-test/... ./internal/... | |
- name: run integration tests | |
# we don't have 'make' on windows. | |
run: | | |
go test --tags=integration ./cmd/... ./integration-test/... ./internal/... | |
test-build: | |
name: Test binary compilation for all platforms:arch | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.OHAI_DOCKER_HUB_ID }} | |
password: ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }} | |
- name: Build all platforms:arch | |
run: make ci/pre-release | |
test-e2e: | |
name: Run e2e tests | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.OHAI_DOCKER_HUB_ID }} | |
password: ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }} | |
- name: Install go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: Run e2e tests | |
run: make test-e2e | |
finish: | |
name: Finish | |
needs: [ test-nix, test-windows ] | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.github_token }} | |
parallel-finished: true |