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.

140 lines
4.1 KiB

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