123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- 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 arm64 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 arm64
- run: |
- docker run --rm ${{ env.TAG }}&
- sleep 10
- kill %1
- -
- name: Build armv7l and export to Docker
- uses: docker/build-push-action@v2
- with:
- context: .
- load: true
- platforms: linux/armv7l
- file: ./docker/Dockerfile-netclient-multiarch
- tags: ${{ env.TAG }}
- build-args: version=${{ env.TAG }}
- -
- name: Test armv7l
- 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, linux/armv7l
- file: ./docker/Dockerfile-netclient-multiarch
- push: true
- tags: gravitl/netclient:${{ env.TAG }}, gravitl/netclient:latest
- build-args: version=${{ env.TAG }}
|