1ddcffdfb1
The workflow to publish docker images for main branch and for branches with name starting with "feature-"
82 lines
2.1 KiB
YAML
82 lines
2.1 KiB
YAML
name: Publish Feature Brunch
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- feature-**
|
|
|
|
jobs:
|
|
setup:
|
|
name: Setup jobs
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
targets: ${{ steps.filter.outputs.changes }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dorny/paths-filter@v3
|
|
id: filter
|
|
with:
|
|
filters: |
|
|
backend:
|
|
- "tdrive/backend/node/**"
|
|
frontend:
|
|
- "tdrive/frontend/**"
|
|
onlyoffice-connector:
|
|
- "tdrive/connectors/onlyoffice-connector/**"
|
|
ldap-sync:
|
|
- "tdrive/backend/utils/ldap-sync/**"
|
|
nextcloud-migration:
|
|
- "tdrive/backend/utils/nextcloud-migration/**"
|
|
|
|
publish-feature:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
targets: ${{ fromJSON(needs.setup.outputs.targets) }}
|
|
fail-fast: false
|
|
needs:
|
|
- setup
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Echo
|
|
run: echo Publish images with tag ${{ github.head_ref || github.ref_name }}
|
|
|
|
- name: Docker meta
|
|
id: meta
|
|
uses: docker/metadata-action@v5
|
|
with:
|
|
tags: |
|
|
${{ github.head_ref || github.ref_name }}
|
|
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
|
|
|
- name: Login to Linagora Registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: docker-registry.linagora.com
|
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
|
|
|
- name: Build and push
|
|
uses: docker/bake-action@v4
|
|
with:
|
|
files: |
|
|
./docker-bake.hcl
|
|
${{ steps.meta.outputs.bake-file-annotations }}
|
|
${{ steps.meta.outputs.bake-file }}
|
|
push: true
|
|
targets: ${{ matrix.targets }}
|