go.ligato.io/vpp-agent/v3@v3.5.0/.github/workflows/docker.yml (about)

     1  name: Docker
     2  on:
     3    push:
     4      branches:
     5        - master
     6        - release/*
     7      tags:
     8        - 'v[0-9]+.[0-9]+.[0-9]+'
     9        - 'v[0-9]+.[0-9]+.[0-9]+-beta'
    10        - 'v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+'
    11    pull_request:
    12      branches:
    13        - master
    14  
    15  jobs:
    16    build:
    17      name: build
    18      runs-on: ubuntu-20.04
    19      steps:
    20        - uses: actions/checkout@v3
    21        - name: Dev image
    22          run: make dev-image
    23        - name: Prod image
    24          run: make prod-image
    25        - name: List images
    26          run: docker images
    27  
    28    deploy-latest:
    29      name: deploy latest
    30      needs: build
    31      runs-on: ubuntu-20.04
    32      if: github.event_name == 'push' && contains(github.ref, 'master')
    33      steps:
    34        - uses: actions/checkout@v3
    35        - name: Dev image
    36          run: make dev-image
    37        - name: Prod image
    38          run: make prod-image
    39        - name: Tag images
    40          run: |
    41            docker tag dev_vpp_agent ligato/dev-vpp-agent:latest
    42            docker tag prod_vpp_agent ligato/vpp-agent:latest
    43        - name: Docker Login
    44          run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
    45        - name: Push images
    46          run: |
    47            docker push ligato/vpp-agent:latest
    48  
    49    deploy-tag:
    50      name: deploy version
    51      needs: build
    52      runs-on: ubuntu-20.04
    53      if: github.event_name == 'push' && contains(github.ref, 'refs/tags/v')
    54      steps:
    55        - uses: actions/checkout@v3
    56        - name: Dev image
    57          run: make dev-image
    58        - name: Prod image
    59          run: make prod-image
    60        - name: Get tag
    61          id: vars
    62          run: |
    63            echo ::set-output name=tag::$(echo ${GITHUB_REF:10})
    64            echo ::group::Env vars
    65            echo $(env | sort)
    66            echo ::endgroup::
    67        - name: Tag images
    68          run: |
    69            docker tag dev_vpp_agent ligato/dev-vpp-agent:${{ steps.vars.outputs.tag }}
    70            docker tag prod_vpp_agent ligato/vpp-agent:${{ steps.vars.outputs.tag }}
    71        - name: Docker Login
    72          run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
    73        - name: Push images
    74          run: |
    75            docker push ligato/vpp-agent:${{ steps.vars.outputs.tag }}
    76  
    77    deploy-release:
    78      name: deploy release
    79      needs: build
    80      runs-on: ubuntu-20.04
    81      if: github.event_name == 'push' && contains(github.ref, 'release/')
    82      steps:
    83        - uses: actions/checkout@v3
    84        - name: Dev image
    85          run: make dev-image
    86        - name: Prod image
    87          run: make prod-image
    88        - name: Get tag
    89          id: vars
    90          run: |
    91            echo ::set-output name=tag::$(echo ${GITHUB_REF:19:22})
    92            echo ::group::Env vars
    93            echo $(env | sort)
    94            echo ::endgroup::
    95        - name: Tag images
    96          run: |
    97            docker tag dev_vpp_agent ligato/dev-vpp-agent:${{ steps.vars.outputs.tag }}
    98            docker tag prod_vpp_agent ligato/vpp-agent:${{ steps.vars.outputs.tag }}
    99        - name: Docker Login
   100          run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
   101        - name: Push images
   102          run: |
   103            docker push ligato/vpp-agent:${{ steps.vars.outputs.tag }}