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.

86 lines
2.5 KiB

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