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.

139 lines
4.1 KiB

  1. name: webshoppingagg
  2. on:
  3. push:
  4. branches:
  5. - main
  6. - dev
  7. paths:
  8. - src/ApiGateways/Web.Bff.Shopping/aggregator/*
  9. - .github/workflows/webshoppingagg.yml
  10. pull_request:
  11. branches:
  12. - main
  13. - dev
  14. env:
  15. SERVICE: webshoppingagg
  16. IMAGE: webshoppingagg
  17. jobs:
  18. BuildContainersForPR_Linux:
  19. runs-on: ubuntu-latest
  20. if: ${{ github.event_name == 'pull_request' }}
  21. steps:
  22. - name: 'Checkout Github Action'
  23. uses: actions/checkout@master
  24. - name: Compose build ${{ env.SERVICE }}
  25. run: sudo -E docker-compose build ${{ env.SERVICE }}
  26. working-directory: ./src
  27. shell: bash
  28. env:
  29. TAG: ${{ env.BRANCH }}
  30. REGISTRY: ${{ secrets.REGISTRY_ENDPOINT }}
  31. BuildContainersForPR_Windows:
  32. runs-on: windows-2019
  33. if: ${{ false }}
  34. # if: ${{ github.event_name == 'pull_request' }}
  35. steps:
  36. - name: 'Checkout Github Action'
  37. uses: actions/checkout@master
  38. - name: Compose build ${{ env.SERVICE }}
  39. run: docker-compose build ${{ env.SERVICE }}
  40. working-directory: ./src
  41. shell: pwsh
  42. env:
  43. TAG: ${{ env.BRANCH }}
  44. REGISTRY: ${{ secrets.REGISTRY_ENDPOINT }}
  45. BuildLinux:
  46. runs-on: ubuntu-latest
  47. if: ${{ github.event_name != 'pull_request' }}
  48. steps:
  49. - name: 'Checkout Github Action'
  50. uses: actions/checkout@master
  51. - name: Enable experimental features for the Docker daemon and CLI
  52. run: |
  53. echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
  54. mkdir -p ~/.docker
  55. echo $'{\n "experimental": "enabled"\n}' | sudo tee ~/.docker/config.json
  56. sudo service docker restart
  57. docker version -f '{{.Client.Experimental}}'
  58. docker version -f '{{.Server.Experimental}}'
  59. - name: Login to Container Registry
  60. uses: docker/login-action@v1
  61. with:
  62. registry: ${{ secrets.REGISTRY_HOST }}
  63. username: ${{ secrets.USERNAME }}
  64. password: ${{ secrets.PASSWORD }}
  65. - name: Set branch name as env variable
  66. run: |
  67. currentbranch=$(echo ${GITHUB_REF##*/})
  68. echo "running on $currentbranch"
  69. echo "BRANCH=$currentbranch" >> $GITHUB_ENV
  70. shell: bash
  71. - name: Compose build ${{ env.SERVICE }}
  72. run: sudo -E docker-compose build ${{ env.SERVICE }}
  73. working-directory: ./src
  74. shell: bash
  75. env:
  76. TAG: ${{ env.BRANCH }}
  77. REGISTRY: ${{ secrets.REGISTRY_ENDPOINT }}
  78. - name: Compose push ${{ env.SERVICE }}
  79. run: sudo -E docker-compose push ${{ env.SERVICE }}
  80. working-directory: ./src
  81. shell: bash
  82. env:
  83. TAG: ${{ env.BRANCH }}
  84. REGISTRY: ${{ secrets.REGISTRY_ENDPOINT }}
  85. - name: Create multiarch manifest
  86. run: |
  87. docker --config ~/.docker manifest create ${{ secrets.REGISTRY_ENDPOINT }}/${{ env.IMAGE }}:${{ env.BRANCH }} ${{ secrets.REGISTRY_ENDPOINT }}/${{ env.IMAGE }}:linux-${{ env.BRANCH }}
  88. docker --config ~/.docker manifest push ${{ secrets.REGISTRY_ENDPOINT }}/${{ env.IMAGE }}:${{ env.BRANCH }}
  89. shell: bash
  90. BuildWindows:
  91. runs-on: windows-2019
  92. if: ${{ false }}
  93. # if: ${{ github.event_name != 'pull_request' }}
  94. steps:
  95. - name: 'Checkout Github Action'
  96. uses: actions/checkout@master
  97. - name: Login to Container Registry
  98. uses: azure/docker-login@v1
  99. with:
  100. login-server: ${{ env.REGISTRY_HOST }}
  101. username: ${{ secrets.USERNAME }}
  102. password: ${{ secrets.PASSWORD }}
  103. - name: Set branch name as env variable
  104. shell: pwsh
  105. run: echo "BRANCH=$($env:GITHUB_REF.replace('refs/heads/', ''))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
  106. - name: Compose build ${{ env.SERVICE }}
  107. run: docker-compose build ${{ env.SERVICE }}
  108. working-directory: ./src
  109. shell: pwsh
  110. env:
  111. TAG: ${{ env.BRANCH }}
  112. REGISTRY: ${{ secrets.REGISTRY_ENDPOINT }}
  113. - name: Compose push ${{ env.SERVICE }}
  114. run: docker-compose push ${{ env.SERVICE }}'
  115. working-directory: ./src
  116. shell: pwsh
  117. env:
  118. TAG: ${{ env.BRANCH }}
  119. REGISTRY: ${{ secrets.REGISTRY_ENDPOINT }}