Skip to content

Release Check For EE #8

Release Check For EE

Release Check For EE #8

name: Release Check For EE
on:
workflow_dispatch:
push:
branches:
- release_check
jobs:
build-matrix:
runs-on: ubuntu-latest
steps:
- id: set-matrix
run: |
sudo apt-get install jq
testmode=("pod" "pod-mount-share" "pod-provisioner" "webhook" "webhook-provisioner" "process")
value=`printf '%s\n' "${testmode[@]}" | jq -R . | jq -cs .`
echo "value: $value"
echo "matrix=$value" >> $GITHUB_OUTPUT
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
e2e-ee-test:
runs-on: ubuntu-latest
needs: build-matrix
strategy:
fail-fast: false
matrix:
testmode: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v2
- name: Prepare microk8s environment
run: ${GITHUB_WORKSPACE}/.github/scripts/k8s-deps.sh
- name: Login Docker Hub
run: docker login --username chnliyong --password ${PASSWORD}
env:
PASSWORD: ${{ secrets.DOCKERHUB_FUSE_ACCESS_TOKEN }}
- name: Build image
env:
DEV_K8S: microk8s
JFSCHAN: beta
CEJUICEFS_VERSION: main
EEVERSION: ee-release-check
MOUNTTAG: ee-release-check
run: |
cd ${GITHUB_WORKSPACE}
make -C docker ee-image
make -C docker image-release-check
make -C docker image-release-check-push
- name: Deploy JuiceFS CSI
env:
JFSCHAN: beta
run: |
testmode=${{matrix.testmode}}
cd ${GITHUB_WORKSPACE}
dev_tag=dev-$(git describe --always)
echo "Dev tag is: " $dev_tag
export dev_tag=$dev_tag
.github/scripts/deploy-csi-in-k8s.sh ${testmode}
- name: Run e2e test
env:
JFSCHAN: beta
JUICEFS_TOKEN: ${{ secrets.JUICEFS_CI_VOLUME_TOKEN }}
JUICEFS_STORAGE: s3
JUICEFS_BUCKET: "http://juicefs-bucket.minio.default.svc.cluster.local:9000"
JUICEFS_ACCESS_KEY: "minioadmin"
JUICEFS_SECRET_KEY: "minioadmin"
JUICEFS_NAME: "csi-ci"
JUICEFS_META_URL: ""
JUICEFS_MODE: "ee"
TEST_MODE: ${{matrix.testmode}}
run: |
cd ${GITHUB_WORKSPACE}/.github/scripts/
python3 e2e-test.py
- name: Setup upterm session
if: ${{ failure() }}
timeout-minutes: 60
uses: lhotari/action-upterm@v1
success-all-test:
runs-on: ubuntu-latest
needs: [ e2e-ee-test ]
if: always()
steps:
- uses: technote-space/workflow-conclusion-action@v3
- uses: actions/checkout@v3
- name: Check Failure
if: env.WORKFLOW_CONCLUSION == 'failure'
run: exit 1
- name: Success
if: ${{ success() }}
run: echo "All Done"