Skip to content

feat: Add Kustomize files for unit testing (#30) #52

feat: Add Kustomize files for unit testing (#30)

feat: Add Kustomize files for unit testing (#30) #52

Workflow file for this run

name: Continuous Integration
on:
workflow_dispatch:
schedule:
- cron: '0 12 * * *'
push:
branches:
- 'main'
- 'renovate/**'
tags:
- 'v*.*.*'
pull_request:
branches:
- 'main'
permissions:
contents: read
jobs:
tests:
name: Unit tests
runs-on: ubuntu-latest
steps:
- name: Checkout GitHub Repository
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- name: Set up Go
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
with:
go-version-file: './go.mod'
- name: Set up tests
run: |
make clean
make format
make modules
- name: Run unit tests for Go
run: |
make test
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
files: ./tmp/cover.out
build:
name: Build Docker image
runs-on: ubuntu-latest
steps:
- name: Checkout GitHub Repository
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Docker metadata
id: metadata
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1
with:
images: |
newrelic/k8s-agents-operator
tags: |
# reflects the last commit of the active branch
type=edge
# nightly tag
type=schedule
# push tag event
type=semver,pattern={{version}}
# push tag event
type=semver,pattern={{major}}.{{minor}}
- name: Login to Docker Hub
if: github.event_name != 'pull_request' && !startsWith(github.ref, 'refs/heads/renovate')
uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0
with:
username: ${{ secrets.K8S_AGENTS_DOCKERHUB_USERNAME }}
password: ${{ secrets.K8S_AGENTS_DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0
- name: Build and push
uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0
with:
context: .
platforms: linux/amd64,linux/arm64,linux/arm
file: ./Dockerfile
push: ${{ github.event_name != 'pull_request' && !startsWith(github.ref, 'refs/heads/renovate') }}
tags: ${{ steps.metadata.outputs.tags }}
labels: ${{ steps.metadata.outputs.labels }}