name: Weekly Release on: schedule: # * is a special character in YAML so you have to quote this string # ┌───────────── minute (0 - 59) # │ ┌───────────── hour (0 - 23) # │ │ ┌───────────── day of the month (1 - 31) # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) # │ │ │ │ │ # │ │ │ │ │ # │ │ │ │ │ - cron: '0 0 * * 2,5' jobs: nightly: name: Run Weekly Release if: github.repository == 'milvus-io/milvus' runs-on: ubuntu-latest env: IMAGE_REPO: "milvusdb" DEV: "milvus" WEEKLY: "weekly-build" TAG_PREFIX: "master-" steps: - name: Checkout code uses: actions/checkout@v2 with: fetch-depth: '0' - name: Get the latest of Milvus dev image tag shell: bash working-directory: scripts run: echo "tag=$(./docker_image_find_tag.sh -n ${IMAGE_REPO}/${DEV} -t ${TAG_PREFIX}latest -f ${TAG_PREFIX} -F -L -q)" >> $GITHUB_ENV - name: Pull latest milvus image with tag prefix master- run: | docker pull "${IMAGE_REPO}/${DEV}:${{ env.tag }}" docker tag "${IMAGE_REPO}/${DEV}:${{ env.tag }}" "${IMAGE_REPO}/${WEEKLY}:${{ env.tag }}" - name: Log in to Docker Hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USER }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Push Docker image run: | docker push "${IMAGE_REPO}/${WEEKLY}:${{ env.tag }}" - name: Set release build shell: bash run: | tag=${{ env.tag }} IFS=- read branch date sha <<< "$tag" echo "build=$date" >> $GITHUB_ENV echo "sha=$(git rev-parse $sha)" >> $GITHUB_ENV - name: Create a weekly release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: body: "Image: ${{ env.IMAGE_REPO}}/${{ env.WEEKLY }}:${{ env.tag }}" prerelease: true tag_name: "v2.2-testing-${{ env.build }}" release_name: "milvus-2.2-testing-${{ env.build }}" commitish: "${{ env.sha }}"