Skip to content

Minor dashboard updates #1250

Minor dashboard updates

Minor dashboard updates #1250

Workflow file for this run

# Copyright 2019, 2024, Oracle Corporation and/or its affiliates. All rights reserved.
# Licensed under the Universal Permissive License v 1.0 as shown at
# http://oss.oracle.com/licenses/upl.
# ---------------------------------------------------------------------------
# Coherence Operator GitHub Actions CI build.
# ---------------------------------------------------------------------------
name: Operator CI
on:
workflow_dispatch:
push:
branches-ignore:
- gh-pages
- 1.0.0
- 2.x
- 3.x
pull_request:
types:
- opened
- synchronize
- committed
branches-ignore:
- gh-pages
- 1.0.0
- 2.x
- 3.x
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
runs-on: ubuntu-latest
# Checkout the source, we need a depth of zero to fetch all of the history otherwise
# the copyright check cannot work out the date of the files from Git.
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# This step will free up disc space on the runner by removing
# lots of things that we do not need.
- name: disc
shell: bash
run: |
echo "Listing 100 largest packages"
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 100
df -h
echo "Removing large packages"
sudo apt-get remove -y '^dotnet-.*' || true
sudo apt-get remove -y '^llvm-.*' || true
sudo apt-get remove -y 'monodoc-http' || true
sudo apt-get remove -y 'php.*' || true
sudo apt-get remove -y azure-cli google-cloud-sdk hhvm google-chrome-stable firefox powershell mono-devel || true
sudo apt-get autoremove -y || true
sudo apt-get clean
df -h
echo "Removing large directories"
rm -rf /usr/share/dotnet/
sudo rm -rf /usr/local/lib/android
df -h
- name: Set up JDK
uses: oracle-actions/setup-java@v1
with:
website: oracle.com
release: 21
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Cache Go Modules
uses: actions/cache@v4
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-mods-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-mods-
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Cache Tools
uses: actions/cache@v4
with:
path: build/tools
key: ${{ runner.os }}-build-tools-${{ hashFiles('**/Makefile') }}
restore-keys: ${{ runner.os }}-build-tools
- name: Edit DNS Resolve
shell: bash
run: |
sudo chown -R runner:runner /run/systemd/resolve/stub-resolv.conf
sudo echo nameserver 8.8.8.8 > /run/systemd/resolve/stub-resolv.conf
- name: Code Review
shell: bash
run: |
make code-review
- name: Start KinD Cluster
# Start a KinD K8s cluster with single worker node
shell: bash
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
make kind
kubectl version
kubectl get nodes
docker pull gcr.io/distroless/java
docker pull gcr.io/distroless/java11-debian11
docker pull gcr.io/distroless/java17-debian11
- name: Build
shell: bash
run: make all
- name: Load Images to KinD
# Load the images just built to the KinD cluster
shell: bash
run: |
make kind-load
- name: Unit Tests
shell: bash
run: make test-all
- name: E2E Local Tests
shell: bash
run: make e2e-local-test
- name: E2E Remote Tests
shell: bash
run: make e2e-test
- name: Helm Chart Tests
shell: bash
run: |
make e2e-helm-test
- name: Upload Manifests
uses: actions/upload-artifact@v4
if: success()
with:
name: coherence-operator-manifests.tar.gz
path: build/_output/coherence-operator-manifests.tar.gz
- name: Upload Yaml
uses: actions/upload-artifact@v4
if: success()
with:
name: coherence-operator.yaml
path: build/_output/coherence-operator.yaml
- name: Upload CRD
uses: actions/upload-artifact@v4
if: success()
with:
name: coherence.oracle.com_coherence.yaml
path: build/_output/manifests/crd/coherence.oracle.com_coherence.yaml
- uses: actions/upload-artifact@v4
if: failure()
with:
name: test-output
path: build/_output/test-logs
- name: Deploy Snapshots & Docs
if: ${{ github.ref == 'refs/heads/main' && success() }}
env:
MAVEN_SONATYPE_USERNAME: ${{ secrets.MAVEN_SONATYPE_USERNAME }}
MAVEN_SONATYPE_TOKEN: ${{ secrets.MAVEN_SONATYPE_TOKEN }}
shell: bash
run: |
git config --local user.name "Github Action"
git config --local user.email "[email protected]"
export NO_DAEMON=false
make push-snapshot-docs || true