[Automated] Update net-certmanager nightly #7984
Workflow file for this run
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: e2e | |
on: | |
pull_request: | |
branches: [ 'main', 'release-*' ] | |
defaults: | |
run: | |
shell: bash | |
env: | |
# https://github.com/google/go-containerregistry/pull/125 allows insecure registry for | |
# '*.local' hostnames. This works both for `ko` and our own tag-to-digest resolution logic, | |
# thus allowing us to test without bypassing tag-to-digest resolution. | |
CLUSTER_DOMAIN: c${{ github.run_id }}.local | |
REGISTRY_NAME: registry.local | |
REGISTRY_PORT: 5000 | |
KO_DOCKER_REPO: registry.local:5000/knative | |
KIND_VERSION: 0.19.0 | |
GOTESTSUM_VERSION: 1.7.0 | |
KAPP_VERSION: 0.46.0 | |
YTT_VERSION: 0.40.1 | |
KO_FLAGS: --platform=linux/amd64 | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Go 1.19.x | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19.x | |
- name: Setup Cache Directories | |
run: | | |
mkdir -p ~/artifacts/build | |
mkdir -p ~/artifacts/registry | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
# Install the latest release of ko | |
- name: Install ko | |
uses: ko-build/[email protected] | |
- name: Setup Registry | |
run: | | |
docker run -d --restart=always \ | |
-p $REGISTRY_PORT:$REGISTRY_PORT \ | |
-v ~/artifacts/registry:/var/lib/registry \ | |
--name $REGISTRY_NAME registry:2 | |
# Make the $REGISTRY_NAME -> 127.0.0.1, to tell `ko` to publish to | |
# local reigstry, even when pushing $REGISTRY_NAME:$REGISTRY_PORT/some/image | |
sudo echo "127.0.0.1 $REGISTRY_NAME" | sudo tee -a /etc/hosts | |
- name: Build Knative | |
run: | | |
export YAML_OUTPUT_DIR=$HOME/artifacts/build | |
./hack/generate-yamls.sh "$GITHUB_WORKSPACE" "$(mktemp)" $YAML_OUTPUT_DIR/env | |
- name: Build Test Images | |
run: | | |
./test/upload-test-images.sh | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: artifacts | |
path: ~/artifacts | |
retention-days: 1 | |
test: | |
name: test | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false # Keep running if one leg fails. | |
matrix: | |
k8s-version: | |
- v1.25.x | |
- v1.26.x | |
- v1.27.x | |
ingress: | |
- kourier | |
- kourier-tls | |
- istio | |
- istio-ambient | |
- contour | |
# Disabled due to consistent failures | |
# - gateway_istio | |
test-suite: | |
- runtime | |
- api | |
- e2e | |
include: | |
# Disabled due to consistent failures | |
# - ingress: gateway_istio | |
# ingress-class: gateway-api | |
# test-flags: -enable-alpha | |
# namespace-resources: httproute | |
- ingress: contour | |
namespace-resources: httpproxy | |
- ingress: istio | |
namespace-resources: virtualservices | |
- ingress: istio-ambient | |
namespace-resources: virtualservices | |
ingress-class: istio | |
ambient: 1 | |
- ingress: kourier-tls | |
ingress-class: kourier | |
enable-tls: 1 | |
- test-suite: runtime | |
test-path: ./test/conformance/runtime/... | |
- test-suite: api | |
test-path: ./test/conformance/api/... | |
- test-suite: e2e | |
test-path: ./test/e2e | |
env: | |
KIND: 1 | |
INGRESS_CLASS: ${{ matrix.ingress-class || matrix.ingress }}.ingress.networking.knative.dev | |
ENABLE_TLS: ${{ matrix.enable-tls || 0 }} | |
AMBIENT: ${{ matrix.ambient || 0 }} | |
steps: | |
- name: Set up Go 1.19.x | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19.x | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- uses: actions/download-artifact@v3 | |
with: | |
name: artifacts | |
path: ~/artifacts | |
- name: Setup KinD | |
uses: chainguard-dev/actions/setup-kind@main | |
with: | |
k8s-version: ${{ matrix.k8s-version }} | |
kind-worker-count: 4 | |
cluster-suffix: c${{ github.run_id }}.local | |
registry-volume: $HOME/artifacts/registry | |
- name: Install Dependencies | |
run: | | |
set -x | |
echo "::group:: install gotestsum ${GOTESTSUM_VERSION}" | |
curl -L https://github.com/gotestyourself/gotestsum/releases/download/v${GOTESTSUM_VERSION}/gotestsum_${GOTESTSUM_VERSION}_linux_amd64.tar.gz | tar xzf - gotestsum | |
chmod +x ./gotestsum | |
sudo mv gotestsum /usr/local/bin | |
echo "::endgroup::" | |
echo "::group:: install kapp ${KAPP_VERSION}" | |
curl -Lo ./kapp https://github.com/vmware-tanzu/carvel-kapp/releases/download/v${KAPP_VERSION}/kapp-linux-amd64 | |
chmod +x ./kapp | |
sudo mv kapp /usr/local/bin | |
echo "::endgroup::" | |
echo "::group:: install ytt ${YTT_VERSION}" | |
curl -Lo ./ytt https://github.com/vmware-tanzu/carvel-ytt/releases/download/v${YTT_VERSION}/ytt-linux-amd64 | |
chmod +x ./ytt | |
sudo mv ytt /usr/local/bin | |
echo "::endgroup::" | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install Serving & Ingress | |
run: | | |
set -x | |
# Remove chaosduck since we don't use it and it'll skip the build | |
rm ./test/config/chaosduck/chaosduck.yaml | |
source ./test/e2e-common.sh | |
export INSTALL_CUSTOM_YAMLS=$HOME/artifacts/build/env | |
knative_setup | |
# Run the tests tagged as e2e on the KinD cluster. | |
echo "SYSTEM_NAMESPACE=$SYSTEM_NAMESPACE" >> $GITHUB_ENV | |
echo "GATEWAY_OVERRIDE=$GATEWAY_OVERRIDE" >> $GITHUB_ENV | |
echo "GATEWAY_NAMESPACE_OVERRIDE=$GATEWAY_NAMESPACE_OVERRIDE" >> $GITHUB_ENV | |
echo "CA_CERT=$CA_CERT" >> $GITHUB_ENV | |
echo "SERVER_NAME=$SERVER_NAME" >> $GITHUB_ENV | |
- name: Test ${{ matrix.test-suite }} | |
run: | | |
gotestsum --format testname -- \ | |
-race -count=1 -parallel=1 -tags=e2e \ | |
-timeout=30m \ | |
${{ matrix.test-path }} \ | |
-skip-cleanup-on-fail \ | |
-enable-alpha -enable-beta \ | |
--ingress-class=${{ matrix.ingress-class || matrix.ingress }}.ingress.networking.knative.dev | |
- uses: chainguard-dev/actions/kind-diag@main | |
# Only upload logs on failure. | |
if: ${{ failure() }} | |
with: | |
cluster-resources: nodes,namespaces,crds | |
namespace-resources: configmaps,pods,svc,ksvc,route,configuration,revision,king,${{ matrix.namespace-resources || '' }} | |
artifact-name: logs-${{ matrix.k8s-version}}-${{ matrix.ingress }}-${{ matrix.test-suite }} |