Skip to content

Bump actions/upload-artifact from 4 to 5 #612

Bump actions/upload-artifact from 4 to 5

Bump actions/upload-artifact from 4 to 5 #612

Workflow file for this run

name: Deploy to Kubernetes CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
deploy:
env:
CODE_VERSION: max
TEST_RESOURCES: test-resources
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: 17
distribution: "temurin"
- name: Install JBang
run: |
curl -Ls https://sh.jbang.dev | bash -s - app setup
echo "$HOME/.jbang/bin" >> $GITHUB_PATH
- name: Setup JBang (trusted sources)
run: jbang trust add https://github.com/apache/
- name: Setup Node
uses: actions/setup-node@v5
with:
node-version: 22
cache: npm
- id: setup-docker-qemu
name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Start Minikube
uses: medyagh/setup-minikube@latest
with:
driver: docker
addons: registry,registry-aliases
container-runtime: docker
insecure-registry: '10.0.0.0/24'
- name: Cluster info
run: |
kubectl cluster-info
kubectl get pods -n kube-system
echo "current-context:" $(kubectl config current-context)
echo "environment-kubeconfig:" ${KUBECONFIG}
- name: Install
run: npm ci
- name: Compile
run: npm run compile
- name: set env
run: |
eval $(minikube -p minikube docker-env)
echo "INSTALL_REGISTRY=$(kubectl -n kube-system get service registry -o jsonpath='{.spec.clusterIP}')" >> $GITHUB_ENV
echo $INSTALL_REGISTRY
- name: Allow unprivileged user namespace (ubuntu)
run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
- name: UI Tests
run: |
eval $(minikube -p minikube docker-env)
xvfb-run --auto-servernum npm run ui-test:deploy:minikube
- name: Upload Coverage Results
uses: actions/upload-artifact@v5
if: always()
with:
name: ui-test-screenshots
path: test-resources/screenshots/*/*.png
check:
if: always()
runs-on: ubuntu-latest
name: Status Check
needs: [ deploy ]
steps:
- name: Test Matrix Result
run: |
echo result = ${{ needs.deploy.result }}
- name: Status Check - success
if: ${{ needs.deploy.result == 'success' }}
run: |
echo "All tests successfully completed!"
exit 0
- name: Status Check - failure
if: ${{ needs.deploy.result != 'success' }}
run: |
echo "Status Check failed!"
exit 1