main.yml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. name: Dockage 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" ]
  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. images: |
  27. dockage/alpine
  28. tags: |
  29. type=raw,value=${{ matrix.alpine }},enable=${{ matrix.variant == '' }}
  30. type=raw,value=${{ matrix.alpine }}-${{ matrix.variant }},enable=${{ matrix.variant != '' }}
  31. type=raw,value=latest,enable=${{ matrix.variant }}
  32. - name: Set up Docker Buildx
  33. uses: docker/setup-buildx-action@v2
  34. - name: Login to DockerHub
  35. if: ${{ github.event_name != 'pull_request' }}
  36. uses: docker/login-action@v2
  37. with:
  38. username: ${{ secrets.DOCKERHUB_USERNAME }}
  39. password: ${{ secrets.DOCKERHUB_PASSWORD }}
  40. - name: Build images
  41. uses: docker/bake-action@v2
  42. with:
  43. push: ${{ github.ref == 'refs/heads/master' }}
  44. targets: ${{ matrix.variant }}
  45. files: |
  46. ${{ steps.meta.outputs.bake-file }}
  47. ./docker-bake.hcl
  48. env:
  49. ALPINE_VERSION: ${{ matrix.alpine }}
  50. - name: Docker Hub Description
  51. uses: peter-evans/dockerhub-description@v3
  52. if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
  53. with:
  54. username: ${{ secrets.DOCKERHUB_USERNAME }}
  55. password: ${{ secrets.DOCKERHUB_PASSWORD }}
  56. short-description: ${{ github.event.repository.description }}