name: Publish Builder # TODO: do not trigger action for some document file update # This workflow is triggered on pushes or pull request to the repository. on: push: # file paths to consider in the event. Optional; defaults to all. paths: - 'build/docker/builder/**' - '.github/workflows/publish-builder.yaml' - '!**.md' pull_request: # file paths to consider in the event. Optional; defaults to all. paths: - 'build/docker/builder/**' - '.github/workflows/publish-builder.yaml' - '!**.md' jobs: publish-builder: name: AMD64 ${{ matrix.os }} runs-on: ubuntu-latest timeout-minutes: 60 strategy: fail-fast: false matrix: os: [ubuntu18.04, centos7] env: OS_NAME: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v2 - name: Get version from system time after release step id: extracter run: echo "::set-output name=version::$(date +%Y%m%d)" - name: Docker Pull shell: bash run: | DATE_VERSION=latest docker-compose pull --ignore-pull-failures builder - name: Docker Build shell: bash run: | DATE_VERSION=latest docker-compose build builder DATE_VERSION=${{ steps.extracter.outputs.version }} docker-compose build builder - name: Docker Push if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus' continue-on-error: true shell: bash run: | docker login -u ${{ secrets.DOCKERHUB_USER }} \ -p ${{ secrets.DOCKERHUB_TOKEN }} DATE_VERSION=latest docker-compose push builder DATE_VERSION=${{ steps.extracter.outputs.version }} docker-compose push builder - name: Update Builder Image Changes if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus' continue-on-error: true shell: bash run: | sed -i "s#DATE_VERSION=.*#DATE_VERSION=${{ steps.extracter.outputs.version }}#g" .env git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git add .env git commit -m "Update Builder Image Changes" - name: Push Builder Image Changes if: success() && github.event_name == 'push' && github.repository == 'milvus-io/milvus' continue-on-error: true uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: ${{ github.ref }}