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.

143 lines
4.1 KiB

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