diff options
Diffstat (limited to '.github/workflows/docker.yml')
-rw-r--r-- | .github/workflows/docker.yml | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 447213554a..8f0795d1c0 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -13,37 +13,47 @@ on: - '.github/workflows/docker.yml' - 'netdata-installer.sh' - 'packaging/**' + workflow_dispatch: + inputs: + version: + name: Version Tag + default: latest + required: true jobs: docker-build: name: Docker Build - strategy: - matrix: - arch: - - linux/amd64 - - linux/i386 - - linux/arm/v7 - - linux/arm64 - include: - - arch: linux/amd64 - base: amd64 - - arch: linux/i386 - base: i386 - - arch: linux/arm/v7 - base: armhf - - arch: linux/arm64 - base: aarch64 runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 + - name: Determine if we should push changes and which tags to use + if: github.event_name == 'workflow_dispatch' && github.event.inputs.version != 'nightly' + run: | + echo "publish=true" >> $GITHUB_ENV + echo "tags=netdata/netdata:latest,netdata/netdata:stable,netdata/netdata:${{ github.event.inputs.version }}" >> $GITHUB_ENV + - name: Determine if we should push changes and which tags to use + if: github.event_name == 'workflow_dispatch' && github.event.inputs.version == 'nightly' + run: | + echo "publish=true" >> $GITHUB_ENV + echo "tags=netdata/netdata:latest,netdata/netdata:edge" >> $GITHUB_ENV + - name: Determine if we should push changes and which tags to use + if: github.event_name != 'workflow_dispatch' + run: | + echo "publish=false" >> $GITHUB_ENV + echo "tags=netdata/netdata:test" >> $GITHUB_ENV - name: Setup QEMU uses: docker/setup-qemu-action@v1 - name: Setup Buildx uses: docker/setup-buildx-action@v1 + - name: Docker Hub Login + if: github.event_name == 'workflow_dispatch' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} - name: Docker Build uses: docker/build-push-action@v2 with: - platforms: ${{ matrix.arch }} - push: false - build-args: | - ARCH=${{ matrix.base }} + platforms: linux/amd64,linux/i386,linux/arm/v7,linux/arm64 + push: ${{ env.publish }} + tags: ${{ env.tags }} |