Release Check For EE #23
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: 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: Set Node.js 18.18.0 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.18.0 | |
- name: Run install | |
uses: borales/actions-yarn@v4 | |
with: | |
dir: dashboard-ui | |
cmd: install # will run `yarn install` command | |
- name: Build dashboard | |
run: make dashboard-dist | |
- 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" |