Skip to content

Release Check For CE #30

Release Check For CE

Release Check For CE #30

name: Release Check For CE
on:
workflow_dispatch:
inputs:
ce_juicefs_version:
description: 'ce juicefs version'
required: true
type: string
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-ce-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
CEJUICEFS_VERSION: ${{ inputs.ce_juicefs_version }}
CEVERSION: ce-release-check
MOUNTTAG: ce-release-check
run: |
cd ${GITHUB_WORKSPACE}
make -C docker ce-image
make -C docker image-release-check
make -C docker image-release-check-push
- name: Deploy JuiceFS CSI
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:
JUICEFS_STORAGE: s3
JUICEFS_BUCKET: "http://juicefs-bucket.minio.default.svc.cluster.local:9000"
JUICEFS_ACCESS_KEY: "minioadmin"
JUICEFS_SECRET_KEY: "minioadmin"
JUICEFS_NAME: "ce-secret"
JUICEFS_META_URL: "redis://redis.default.svc.cluster.local:6379/1"
JUICEFS_MODE: ce
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-ce-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"