-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: amaslennikov <[email protected]>
- Loading branch information
1 parent
a730285
commit c1ba312
Showing
11 changed files
with
401 additions
and
0 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 |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
name: Bug Report | ||
about: Report a bug for the project | ||
|
||
--- | ||
<!-- Please use this template while reporting a bug and provide as much relevant info as possible. Doing so give us the best chance to find a prompt resolution to your issue --> | ||
|
||
### What happened? | ||
|
||
### What did you expect to happen? | ||
|
||
### What are the minimal steps needed to reproduce the bug? | ||
|
||
### Anything else we need to know? | ||
|
||
### Component Versions | ||
|
||
### Logs | ||
##### Nic Configuration Operator Logs (use `kubectl logs $PODNAME`) | ||
##### Nic Configuration Daemon Logs (use `kubectl logs $PODNAME`) |
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,11 @@ | ||
--- | ||
name: Enhancement / Feature Request | ||
about: Suggest an enhancement or new feature for the project | ||
|
||
--- | ||
<!-- Please use this template to submit feature and enhancement requests --> | ||
|
||
|
||
## What would you like to be added? | ||
|
||
## What is the use case for this feature / enhancement? |
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,13 @@ | ||
--- | ||
name: Other Issues | ||
about: For everything that isn't a bug report or a feature request | ||
|
||
--- | ||
<!-- Please use this template to submit issues that are neither bugs reports nor feature requests --> | ||
|
||
|
||
## What issue would you like to bring attention to? | ||
|
||
## What is the impact of this issue? | ||
|
||
## Do you have a proposed response or remediation for the issue? |
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,86 @@ | ||
name: "Build, Test, Lint" | ||
on: [push, pull_request] | ||
jobs: | ||
build: | ||
strategy: | ||
matrix: | ||
go-version: [1.22.x] | ||
goarch: [amd64] | ||
os: [ubuntu-latest] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Set up Go matrix | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ matrix.go-version }} | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v4 | ||
- name: Build | ||
env: | ||
GOARCH: ${{ matrix.goarch }} | ||
GOOS: ${{ matrix.goos }} | ||
run: make build | ||
lint: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: 1.22.x | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v4 | ||
- name: Lint | ||
run: make lint | ||
test: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: 1.22.x | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v4 | ||
- name: Run tests | ||
run: make test | ||
build-image: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Build image | ||
run: make docker-build | ||
go-check: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: 1.22.x | ||
# if this fails, run go mod tidy | ||
- name: Check if module files are consistent with code | ||
run: go mod tidy && git diff --exit-code | ||
# if this fails, run make generate; make manifests and commit changes | ||
- name: Check if generated are up to date | ||
run: make generate && make manifests && git diff --exit-code | ||
coverage: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: 1.22.x | ||
- name: Generate coverage report | ||
run: make test | ||
- name: Upload to Coveralls | ||
uses: coverallsapp/github-action@v2 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
file: cover.out |
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,28 @@ | ||
name: "Push helm chart on release" | ||
|
||
env: | ||
IMAGE_NAME: ghcr.io/${{ github.repository }} | ||
|
||
on: | ||
push: | ||
tags: | ||
- v* | ||
jobs: | ||
package-and-push-helm-chart: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Check out the repo | ||
uses: actions/checkout@v4 | ||
|
||
- name: Update chart | ||
env: | ||
GITHUB_TAG: ${{ github.ref_name }} | ||
GITHUB_REPO_OWNER: ${{ github.repository_owner }} | ||
run: make chart-prepare-release | ||
|
||
- name: Push chart | ||
env: | ||
GITHUB_TAG: ${{ github.ref_name }} | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
GITHUB_REPO_OWNER: ${{ github.repository_owner }} | ||
run: make chart-push-release |
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,34 @@ | ||
name: "CodeQL" | ||
on: | ||
push: | ||
branches: ["main"] | ||
pull_request: | ||
branches: ["main"] | ||
schedule: | ||
- cron: "37 4 * * 0" | ||
jobs: | ||
analyze: | ||
name: Analyze | ||
runs-on: ubuntu-latest | ||
permissions: | ||
actions: read | ||
contents: read | ||
security-events: write | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: [go] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v3 | ||
with: | ||
languages: ${{ matrix.language }} | ||
queries: +security-and-quality | ||
- name: Autobuild | ||
uses: github/codeql-action/autobuild@v3 | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3 | ||
with: | ||
category: "/language:${{ matrix.language }}" |
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,49 @@ | ||
name: "Image push main" | ||
on: | ||
push: | ||
branches: | ||
- main | ||
jobs: | ||
image-build-push: | ||
name: Image build and push | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Set repository as lower-case output variable | ||
id: repo_name | ||
run: echo ::set-output name=repository::$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
- name: Login to GitHub Container Registry | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.repository_owner }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Docker meta | ||
id: docker_meta | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: ghcr.io/${{ steps.repo_name.outputs.repository }} | ||
- name: Build and push container image | ||
uses: docker/build-push-action@v4 | ||
with: | ||
push: true | ||
platforms: linux/amd64,linux/arm64 | ||
tags: | | ||
ghcr.io/${{ steps.repo_name.outputs.repository }}:latest | ||
labels: ${{ steps.docker_meta.outputs.labels }} | ||
- name: Build and push container image | ||
uses: docker/build-push-action@v4 | ||
with: | ||
push: true | ||
platforms: linux/amd64,linux/arm64 | ||
tags: | | ||
ghcr.io/${{ steps.repo_name.outputs.repository }}-daemon:latest | ||
labels: ${{ steps.docker_meta.outputs.labels }} | ||
file: ./Dockerfile.nic-configuration-daemon |
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,63 @@ | ||
name: "Image push release" | ||
on: | ||
push: | ||
tags: | ||
- v* | ||
jobs: | ||
image-build-push: | ||
name: Image build and push | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Set repository as lower-case output variable | ||
id: repo_name | ||
run: echo ::set-output name=repository::$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
- name: Login to GitHub Container Registry | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.repository_owner }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Docker operator image meta | ||
id: docker_meta_operator | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: ghcr.io/${{ steps.repo_name.outputs.repository }} | ||
tags: | | ||
type=ref,event=tag | ||
flavor: | | ||
latest=false | ||
- name: Build and push operator image | ||
uses: docker/build-push-action@v4 | ||
with: | ||
platforms: linux/amd64,linux/arm64 | ||
push: true | ||
tags: | | ||
${{ steps.docker_meta_operator.outputs.tags }} | ||
labels: ${{ steps.docker_meta_operator.outputs.labels }} | ||
- name: Docker daemon image meta | ||
id: docker_meta_daemon | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: ghcr.io/${{ steps.repo_name.outputs.repository }}-daemon | ||
tags: | | ||
type=ref,event=tag | ||
flavor: | | ||
latest=false | ||
- name: Build and push config daemon image | ||
uses: docker/build-push-action@v4 | ||
with: | ||
platforms: linux/amd64,linux/arm64 | ||
push: true | ||
tags: | | ||
${{ steps.docker_meta_daemon.outputs.tags }} | ||
labels: ${{ steps.docker_meta_daemon.outputs.labels }} | ||
file: ./Dockerfile | ||
|
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,35 @@ | ||
#!/bin/bash | ||
set -ex | ||
|
||
# github repo owner: e.g mellanox | ||
GITHUB_REPO_OWNER=${GITHUB_REPO_OWNER:-} | ||
# github api token with package:write permissions | ||
GITHUB_TOKEN=${GITHUB_TOKEN:-} | ||
# github tag e.g v1.2.3 | ||
GITHUB_TAG=${GITHUB_TAG:-} | ||
|
||
BASE=${PWD} | ||
HELM_CMD="${BASE}/bin/helm" | ||
HELM_CHART=${BASE}/deployment/nic-configuration-operator-chart | ||
HELM_CHART_VERSION=${GITHUB_TAG#"v"} | ||
HELM_CHART_TARBALL="nic-configuration-operator-chart-${HELM_CHART_VERSION}.tgz" | ||
|
||
if [ -z "$GITHUB_REPO_OWNER" ]; then | ||
echo "ERROR: GITHUB_REPO_OWNER must be provided as env var" | ||
exit 1 | ||
fi | ||
|
||
if [ -z "$GITHUB_TOKEN" ]; then | ||
echo "ERROR: GITHUB_TOKEN must be provided as env var" | ||
exit 1 | ||
fi | ||
|
||
if [ -z "$GITHUB_TAG" ]; then | ||
echo "ERROR: GITHUB_TAG must be provided as env var" | ||
exit 1 | ||
fi | ||
|
||
$HELM_CMD package ${HELM_CHART} | ||
$HELM_CMD registry login ghcr.io -u ${GITHUB_REPO_OWNER} -p ${GITHUB_TOKEN} | ||
# we set repo-owner to lowercase for oci registry. | ||
$HELM_CMD push ${HELM_CHART_TARBALL} oci://ghcr.io/$(echo ${GITHUB_REPO_OWNER} | tr '[:upper:]' '[:lower:]') |
Oops, something went wrong.