1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- name: Publish Netclient Docker
- on:
- workflow_dispatch:
- inputs:
- tag:
- description: 'docker tag'
- required: true
- release:
- types: [published]
- jobs:
- docker:
- runs-on: ubuntu-latest
- steps:
- -
- name: Set tag
- run: |
- if [[ -n "${{ github.event.inputs.tag }}" ]]; then
- TAG=${{ github.event.inputs.tag }}
- elif [[ "${{ github.ref_name }}" == 'master' ]]; then
- TAG="latest"
- else
- TAG="${{ github.ref_name }}"
- fi
- echo "TAG=${TAG}" >> $GITHUB_ENV
- -
- name: Checkout
- uses: actions/checkout@v2
- -
- name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- -
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v1
- -
- name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- -
- name: Build x86 and export to Docker
- uses: docker/build-push-action@v2
- with:
- context: .
- load: true
- platforms: linux/amd64
- file: ./docker/Dockerfile-netclient-multiarch
- tags: ${{ env.TAG }}
- build-args: version=${{ env.TAG }}
- -
- name: Test x86
- run: |
- docker run --rm ${{ env.TAG }}&
- sleep 10
- kill %1
- -
- name: Build arm and export to Docker
- uses: docker/build-push-action@v2
- with:
- context: .
- load: true
- platforms: linux/arm64
- file: ./docker/Dockerfile-netclient-multiarch
- tags: ${{ env.TAG }}
- build-args: version=${{ env.TAG }}
- -
- name: Test arm
- run: |
- docker run --rm ${{ env.TAG }}&
- sleep 10
- kill %1
- -
- name: Build and push
- uses: docker/build-push-action@v2
- with:
- context: .
- platforms: linux/amd64, linux/arm64
- file: ./docker/Dockerfile-netclient-multiarch
- push: true
- tags: gravitl/netclient:${{ env.TAG }}, gravitl/netclient:latest
- build-args: version=${{ env.TAG }}
|