diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index a18abc9..4873eb6 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -1,22 +1,26 @@ -# .github/docker-image.yml -name: Docker Image Build and Push +# .github/workflows/docker-image.yml +name: Docker Image - DockFlare on: push: branches: - - "stable" # For 'latest' and 'stable' tags - - "unstable" # For 'unstable' tag - - "dev" # For 'dev' tag - - "dockflare-mail" # For 'dockflare-mail' tag + - "stable" + - "unstable" + - "dev" + - "dockflare-mail" tags: - - "v*.*.*" # Trigger on semantic version tags like v1.2.3 - - "v*.*.*-*" # Trigger on pre-release semver tags like v1.2.3-beta.1 + - "v*.*.*" + - "v*.*.*-*" + paths: + - "dockflare/**" pull_request: branches: - "stable" - "unstable" - "dev" - "dockflare-mail" + paths: + - "dockflare/**" env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true @@ -27,7 +31,7 @@ permissions: jobs: build_self_hosted: runs-on: self-hosted - + timeout-minutes: 3 steps: - name: Checkout repository @@ -124,203 +128,3 @@ jobs: push: ${{ github.event_name == 'push' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - - build_mail_manager_self_hosted: - runs-on: self-hosted - - timeout-minutes: 3 - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to Docker Hub - if: github.event_name == 'push' - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Extract Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: alplat/dockflare-mail-manager - tags: | - type=semver,pattern={{version}} - type=semver,pattern={{version}},suffix=-{{premajor}}-{{prerelease}} - type=ref,event=branch,pattern=stable,value=latest - type=ref,event=branch,pattern=stable,value=stable - type=ref,event=branch,pattern=unstable,value=unstable - type=ref,event=branch,pattern=dev,value=dev - type=sha,format=short - type=ref,event=tag - type=ref,event=branch - - - name: Build and Push Docker Image - id: build_and_push - uses: docker/build-push-action@v5 - with: - context: ./mail-manager - platforms: linux/amd64,linux/arm64 - push: ${{ github.event_name == 'push' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - build_mail_manager_github_hosted_fallback: - needs: build_mail_manager_self_hosted - if: failure() || cancelled() - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to Docker Hub - if: github.event_name == 'push' - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Extract Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: alplat/dockflare-mail-manager - tags: | - type=semver,pattern={{version}} - type=semver,pattern={{version}},suffix=-{{premajor}}-{{prerelease}} - type=ref,event=branch,pattern=stable,value=latest - type=ref,event=branch,pattern=stable,value=stable - type=ref,event=branch,pattern=unstable,value=unstable - type=ref,event=branch,pattern=dev,value=dev - type=sha,format=short - type=ref,event=tag - type=ref,event=branch - - - name: Build and Push Docker Image - id: build_and_push - uses: docker/build-push-action@v5 - with: - context: ./mail-manager - platforms: linux/amd64,linux/arm64 - push: ${{ github.event_name == 'push' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - build_webmail_self_hosted: - runs-on: self-hosted - - timeout-minutes: 3 - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to Docker Hub - if: github.event_name == 'push' - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Extract Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: alplat/dockflare-webmail - tags: | - type=semver,pattern={{version}} - type=semver,pattern={{version}},suffix=-{{premajor}}-{{prerelease}} - type=ref,event=branch,pattern=stable,value=latest - type=ref,event=branch,pattern=stable,value=stable - type=ref,event=branch,pattern=unstable,value=unstable - type=ref,event=branch,pattern=dev,value=dev - type=sha,format=short - type=ref,event=tag - type=ref,event=branch - - - name: Build and Push Docker Image - id: build_and_push - uses: docker/build-push-action@v5 - with: - context: ./webmail - platforms: linux/amd64,linux/arm64 - push: ${{ github.event_name == 'push' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - build_webmail_github_hosted_fallback: - needs: build_webmail_self_hosted - if: failure() || cancelled() - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to Docker Hub - if: github.event_name == 'push' - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Extract Docker metadata - id: meta - uses: docker/metadata-action@v5 - with: - images: alplat/dockflare-webmail - tags: | - type=semver,pattern={{version}} - type=semver,pattern={{version}},suffix=-{{premajor}}-{{prerelease}} - type=ref,event=branch,pattern=stable,value=latest - type=ref,event=branch,pattern=stable,value=stable - type=ref,event=branch,pattern=unstable,value=unstable - type=ref,event=branch,pattern=dev,value=dev - type=sha,format=short - type=ref,event=tag - type=ref,event=branch - - - name: Build and Push Docker Image - id: build_and_push - uses: docker/build-push-action@v5 - with: - context: ./webmail - platforms: linux/amd64,linux/arm64 - push: ${{ github.event_name == 'push' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/docker-mail-manager.yml b/.github/workflows/docker-mail-manager.yml new file mode 100644 index 0000000..44c5b54 --- /dev/null +++ b/.github/workflows/docker-mail-manager.yml @@ -0,0 +1,130 @@ +# .github/workflows/docker-mail-manager.yml +name: Docker Image - Mail Manager + +on: + push: + branches: + - "stable" + - "unstable" + - "dev" + - "dockflare-mail" + tags: + - "v*.*.*" + - "v*.*.*-*" + paths: + - "mail-manager/**" + pull_request: + branches: + - "stable" + - "unstable" + - "dev" + - "dockflare-mail" + paths: + - "mail-manager/**" + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + +permissions: + contents: read + +jobs: + build_self_hosted: + runs-on: self-hosted + + timeout-minutes: 3 + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker Hub + if: github.event_name == 'push' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: alplat/dockflare-mail-manager + tags: | + type=semver,pattern={{version}} + type=semver,pattern={{version}},suffix=-{{premajor}}-{{prerelease}} + type=ref,event=branch,pattern=stable,value=latest + type=ref,event=branch,pattern=stable,value=stable + type=ref,event=branch,pattern=unstable,value=unstable + type=ref,event=branch,pattern=dev,value=dev + type=sha,format=short + type=ref,event=tag + type=ref,event=branch + + - name: Build and Push Docker Image + id: build_and_push + uses: docker/build-push-action@v5 + with: + context: ./mail-manager + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name == 'push' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + build_github_hosted_fallback: + needs: build_self_hosted + if: failure() || cancelled() + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker Hub + if: github.event_name == 'push' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: alplat/dockflare-mail-manager + tags: | + type=semver,pattern={{version}} + type=semver,pattern={{version}},suffix=-{{premajor}}-{{prerelease}} + type=ref,event=branch,pattern=stable,value=latest + type=ref,event=branch,pattern=stable,value=stable + type=ref,event=branch,pattern=unstable,value=unstable + type=ref,event=branch,pattern=dev,value=dev + type=sha,format=short + type=ref,event=tag + type=ref,event=branch + + - name: Build and Push Docker Image + id: build_and_push + uses: docker/build-push-action@v5 + with: + context: ./mail-manager + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name == 'push' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/docker-webmail.yml b/.github/workflows/docker-webmail.yml new file mode 100644 index 0000000..01576c4 --- /dev/null +++ b/.github/workflows/docker-webmail.yml @@ -0,0 +1,130 @@ +# .github/workflows/docker-webmail.yml +name: Docker Image - Webmail + +on: + push: + branches: + - "stable" + - "unstable" + - "dev" + - "dockflare-mail" + tags: + - "v*.*.*" + - "v*.*.*-*" + paths: + - "webmail/**" + pull_request: + branches: + - "stable" + - "unstable" + - "dev" + - "dockflare-mail" + paths: + - "webmail/**" + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + +permissions: + contents: read + +jobs: + build_self_hosted: + runs-on: self-hosted + + timeout-minutes: 3 + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker Hub + if: github.event_name == 'push' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: alplat/dockflare-webmail + tags: | + type=semver,pattern={{version}} + type=semver,pattern={{version}},suffix=-{{premajor}}-{{prerelease}} + type=ref,event=branch,pattern=stable,value=latest + type=ref,event=branch,pattern=stable,value=stable + type=ref,event=branch,pattern=unstable,value=unstable + type=ref,event=branch,pattern=dev,value=dev + type=sha,format=short + type=ref,event=tag + type=ref,event=branch + + - name: Build and Push Docker Image + id: build_and_push + uses: docker/build-push-action@v5 + with: + context: ./webmail + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name == 'push' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + build_github_hosted_fallback: + needs: build_self_hosted + if: failure() || cancelled() + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker Hub + if: github.event_name == 'push' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: alplat/dockflare-webmail + tags: | + type=semver,pattern={{version}} + type=semver,pattern={{version}},suffix=-{{premajor}}-{{prerelease}} + type=ref,event=branch,pattern=stable,value=latest + type=ref,event=branch,pattern=stable,value=stable + type=ref,event=branch,pattern=unstable,value=unstable + type=ref,event=branch,pattern=dev,value=dev + type=sha,format=short + type=ref,event=tag + type=ref,event=branch + + - name: Build and Push Docker Image + id: build_and_push + uses: docker/build-push-action@v5 + with: + context: ./webmail + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name == 'push' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}