101 lines
2.8 KiB
YAML
101 lines
2.8 KiB
YAML
name: Build v5
|
|
|
|
on:
|
|
push:
|
|
branches: [ v5 ]
|
|
pull_request:
|
|
branches: [ v5 ]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
pre-check:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
shared: ${{ steps.filter.outputs.shared }}
|
|
processer: ${{ steps.filter.outputs.processer }}
|
|
converter: ${{ steps.filter.outputs.converter }}
|
|
coordinator: ${{ steps.filter.outputs.coordinator }}
|
|
ui: ${{ steps.filter.outputs.ui }}
|
|
pyMetadata: ${{ steps.filter.outputs.metadata }}
|
|
pyWatcher: ${{ steps.filter.outputs.watcher }}
|
|
dockerTag: ${{ steps.tag.outputs.tag }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Detect changes
|
|
id: filter
|
|
uses: dorny/paths-filter@v3
|
|
with:
|
|
filters: |
|
|
shared:
|
|
- 'shared/**'
|
|
processer:
|
|
- 'apps/processer/**'
|
|
converter:
|
|
- 'apps/converter/**'
|
|
coordinator:
|
|
- 'apps/coordinator/**'
|
|
ui:
|
|
- 'apps/ui/**'
|
|
metadata:
|
|
- 'apps/pyMetadata/**'
|
|
watcher:
|
|
- 'apps/pyWatcher/**'
|
|
|
|
- name: Generate docker tag
|
|
id: tag
|
|
run: echo "tag=$(date -u +'%Y.%m.%d')-$(uuidgen | cut -c 1-8)" >> $GITHUB_OUTPUT
|
|
|
|
|
|
build-shared:
|
|
needs: pre-check
|
|
if: ${{ needs.pre-check.outputs.shared == 'true' || github.event_name == 'workflow_dispatch' }}
|
|
uses: ./.github/workflows/build-shared.yml
|
|
with:
|
|
dockerTag: ${{ needs.pre-check.outputs.dockerTag }}
|
|
|
|
|
|
build-java:
|
|
needs: [pre-check, build-shared]
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- app: processer
|
|
enabled: true
|
|
- app: converter
|
|
enabled: true
|
|
- app: coordinator
|
|
enabled: true
|
|
- app: ui
|
|
enabled: false # sett til false for å deaktivere UI
|
|
|
|
uses: ./.github/workflows/build-java-app.yml
|
|
with:
|
|
app: ${{ matrix.app }}
|
|
dockerTag: ${{ needs.pre-check.outputs.dockerTag }}
|
|
enabled: ${{ matrix.enabled }}
|
|
shouldBuild: ${{ needs.pre-check.outputs[matrix.app] == 'true'
|
|
|| needs.pre-check.outputs.shared == 'true'
|
|
|| github.event_name == 'workflow_dispatch' }}
|
|
|
|
|
|
build-python:
|
|
needs: [pre-check, build-shared]
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- app: pyMetadata
|
|
enabled: true
|
|
- app: pyWatcher
|
|
enabled: true
|
|
|
|
uses: ./.github/workflows/build-python-app.yml
|
|
with:
|
|
app: ${{ matrix.app }}
|
|
dockerTag: ${{ needs.pre-check.outputs.dockerTag }}
|
|
enabled: ${{ matrix.enabled }}
|
|
shouldBuild: ${{ needs.pre-check.outputs[matrix.app] == 'true'
|
|
|| needs.pre-check.outputs.shared == 'true'
|
|
|| github.event_name == 'workflow_dispatch' }}
|