Skip to content

chore(deps): bump docker/login-action from 4.2.0 to 4.4.0 #62

chore(deps): bump docker/login-action from 4.2.0 to 4.4.0

chore(deps): bump docker/login-action from 4.2.0 to 4.4.0 #62

Workflow file for this run

name: E2E
on:
pull_request:
workflow_call:
permissions:
contents: read
jobs:
kind-e2e:
runs-on: ubuntu-latest
env:
CLUSTER_NAME: backstage-e2e
IMAGE: backstage:e2e
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
- name: Build backend image
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: .
file: packages/backend/Dockerfile
load: true
tags: ${{ env.IMAGE }}
cache-from: type=gha,scope=backstage-e2e
cache-to: type=gha,mode=max,scope=backstage-e2e
- name: Create kind cluster
uses: helm/kind-action@ef37e7f390d99f746eb8b610417061a60e82a6cc # v1
with:
cluster_name: ${{ env.CLUSTER_NAME }}
- name: Load image into kind
run: kind load docker-image "${IMAGE}" --name "${CLUSTER_NAME}"
- name: Install CloudNativePG operator
run: |
helm repo add cnpg https://cloudnative-pg.github.io/charts
helm upgrade --install cnpg cnpg/cloudnative-pg \
--namespace cnpg-system --create-namespace \
--version '0.28.x' --wait --timeout 5m
- name: Install Gateway API CRDs
run: kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.1/standard-install.yaml
- name: Deploy e2e overlay
run: kubectl kustomize config/overlays/e2e | kubectl apply --server-side -f -
- name: Wait for PostgreSQL
run: kubectl -n backstage wait --for=condition=Ready cluster/backstage-postgres --timeout=5m
- name: Wait for Backstage
run: kubectl -n backstage rollout status deploy/backstage --timeout=10m
- name: Smoke test backend
run: |
kubectl -n backstage run curl-smoke \
--image=curlimages/curl:8.10.1 \
--restart=Never --rm -i --quiet -- \
sh -ceu '
echo "readiness:"
code=$(curl -sS -o /dev/null -w "%{http_code}" http://backstage:7007/.backstage/health/v1/readiness)
echo "$code"
[ "$code" = "200" ]
echo "liveness:"
code=$(curl -sS -o /dev/null -w "%{http_code}" http://backstage:7007/.backstage/health/v1/liveness)
echo "$code"
[ "$code" = "200" ]
echo "catalog entities:"
code=$(curl -sS -o /dev/null -w "%{http_code}" http://backstage:7007/api/catalog/entities)
echo "$code"
[ "$code" = "200" ]
'
- name: Dump diagnostics
if: failure()
run: |
kubectl -n backstage get pods,svc,cluster
kubectl -n backstage describe cluster/backstage-postgres || true
kubectl -n backstage describe deploy/backstage
kubectl -n backstage logs deploy/backstage --all-containers --tail=200 || true