ci.yml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. name: CI
  2. on:
  3. push:
  4. branches: [ "master" ]
  5. pull_request:
  6. branches: [ "*" ]
  7. jobs:
  8. docker:
  9. runs-on: ubuntu-latest
  10. strategy:
  11. matrix:
  12. alpine: [ "3.13", "3.14", "3.15" ]
  13. variant: [ "", "openrc" ]
  14. latest: [ false ]
  15. # include:
  16. # - alpine: 3.16
  17. # variant: ""
  18. # latest: true
  19. steps:
  20. - name: Checkout
  21. uses: actions/checkout@v2
  22. - name: Docker metadata
  23. id: meta
  24. uses: docker/metadata-action@v4
  25. with:
  26. labels: |
  27. maintainer=The Dockage Developers
  28. images: |
  29. dockage/alpine
  30. tags: |
  31. type=raw,value=${{ matrix.alpine }},enable=${{ matrix.variant == '' }}
  32. type=raw,value=${{ matrix.alpine }}-${{ matrix.variant }},enable=${{ matrix.variant != '' }}
  33. type=raw,value=latest,enable=${{ matrix.latest }}
  34. - name: Set up Docker Buildx
  35. uses: docker/setup-buildx-action@v2
  36. - name: Login to DockerHub
  37. if: ${{ github.event_name != 'pull_request' }}
  38. uses: docker/login-action@v2
  39. with:
  40. username: ${{ secrets.DOCKERHUB_USERNAME }}
  41. password: ${{ secrets.DOCKERHUB_TOKEN }}
  42. - name: Build images
  43. uses: docker/bake-action@v2
  44. with:
  45. push: ${{ github.ref == 'refs/heads/master' }}
  46. targets: ${{ matrix.variant }}
  47. files: |
  48. ./docker-bake.hcl
  49. ${{ steps.meta.outputs.bake-file }}
  50. env:
  51. CONTEXT: ${{ matrix.alpine }}
  52. - name: Docker Hub Description
  53. uses: peter-evans/dockerhub-description@v3
  54. if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
  55. with:
  56. username: ${{ secrets.DOCKERHUB_USERNAME }}
  57. password: ${{ secrets.DOCKERHUB_TOKEN }}
  58. short-description: ${{ github.event.repository.description }}