You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.6 KiB

  1. name: webshoppingagg
  2. on:
  3. push:
  4. branches:
  5. - dev
  6. paths:
  7. - src/ApiGateways/Web.Bff.Shopping/aggregator/*
  8. - .github/workflows/webshoppingagg.yml
  9. pull_request:
  10. branches:
  11. - dev
  12. env:
  13. SERVICE: webshoppingagg
  14. IMAGE: webshoppingagg
  15. jobs:
  16. BuildContainersForPR_Linux:
  17. runs-on: ubuntu-latest
  18. if: ${{ github.event_name == 'pull_request' }}
  19. steps:
  20. - name: 'Checkout Github Action'
  21. uses: actions/checkout@master
  22. - name: Compose build ${{ env.SERVICE }}
  23. run: sudo -E docker-compose build ${{ env.SERVICE }}
  24. working-directory: ./src
  25. shell: bash
  26. env:
  27. TAG: ${{ env.BRANCH }}
  28. REGISTRY: ${{ secrets.REGISTRY_ENDPOINT }}
  29. BuildLinux:
  30. runs-on: ubuntu-latest
  31. if: ${{ github.event_name != 'pull_request' }}
  32. steps:
  33. - name: 'Checkout Github Action'
  34. uses: actions/checkout@master
  35. - name: Enable experimental features for the Docker daemon and CLI
  36. run: |
  37. echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
  38. mkdir -p ~/.docker
  39. echo $'{\n "experimental": "enabled"\n}' | sudo tee ~/.docker/config.json
  40. sudo service docker restart
  41. docker version -f '{{.Client.Experimental}}'
  42. docker version -f '{{.Server.Experimental}}'
  43. - name: Login to Container Registry
  44. uses: docker/login-action@v1
  45. with:
  46. registry: ${{ secrets.REGISTRY_HOST }}
  47. username: ${{ secrets.USERNAME }}
  48. password: ${{ secrets.PASSWORD }}
  49. - name: Set branch name as env variable
  50. run: |
  51. currentbranch=$(echo ${GITHUB_REF##*/})
  52. echo "running on $currentbranch"
  53. echo "BRANCH=$currentbranch" >> $GITHUB_ENV
  54. shell: bash
  55. - name: Compose build ${{ env.SERVICE }}
  56. run: sudo -E docker-compose build ${{ env.SERVICE }}
  57. working-directory: ./src
  58. shell: bash
  59. env:
  60. TAG: ${{ env.BRANCH }}
  61. REGISTRY: ${{ secrets.REGISTRY_ENDPOINT }}
  62. - name: Compose push ${{ env.SERVICE }}
  63. run: sudo -E docker-compose push ${{ env.SERVICE }}
  64. working-directory: ./src
  65. shell: bash
  66. env:
  67. TAG: ${{ env.BRANCH }}
  68. REGISTRY: ${{ secrets.REGISTRY_ENDPOINT }}
  69. - name: Create multiarch manifest
  70. run: |
  71. docker --config ~/.docker manifest create ${{ secrets.REGISTRY_ENDPOINT }}/${{ env.IMAGE }}:${{ env.BRANCH }} ${{ secrets.REGISTRY_ENDPOINT }}/${{ env.IMAGE }}:linux-${{ env.BRANCH }}
  72. docker --config ~/.docker manifest push ${{ secrets.REGISTRY_ENDPOINT }}/${{ env.IMAGE }}:${{ env.BRANCH }}
  73. shell: bash