Skip to content

Solution beyond doubt #60

Solution beyond doubt

Solution beyond doubt #60

---
name: Solution beyond doubt
on:
merge_group:
branches:
- main
workflow_dispatch:
env:
BINARY_REPO: maven.pkg.github.com
IMAGE_REPO: ghcr.io
jobs:
sources:
name: Sources
timeout-minutes: 5
runs-on: ubuntu-22.04
steps:
- uses: actions/[email protected]
- uses: ./.github/actions/prepare
with:
tools: python java
- run: ansible-playbook sources.yml -l lib:app
working-directory: .dx
env:
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
binaries-and-images:
name: Binaries & Images
timeout-minutes: 10
runs-on: ubuntu-22.04
permissions:
checks: write
packages: write
steps:
- uses: actions/[email protected]
- uses: ./.github/actions/prepare
with:
tools: python java docker
token: ${{ secrets.GITHUB_TOKEN }}
- run: >
ansible-playbook images.yml
-e binary_repo=${{ env.BINARY_REPO }}
-e image_repo=${{ env.IMAGE_REPO }}
-e focus=solution
working-directory: .dx
env:
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: EnricoMi/[email protected]
if: ${{ !cancelled() }}
with:
check_name: Unit Test Report
check_run_annotations: none
compare_to_earlier_commit: false
action_fail_on_inconclusive: true
action_fail: true
job_summary: false
comment_mode: off
files: |
libs/*/target/surefire-reports/TEST-*.xml
apps/*/target/surefire-reports/TEST-*.xml
- uses: EnricoMi/[email protected]
if: ${{ !cancelled() }}
with:
check_name: Integration Test Report
check_run_annotations: none
compare_to_earlier_commit: false
action_fail_on_inconclusive: true
action_fail: true
job_summary: false
comment_mode: off
files: |
libs/*/target/failsafe-reports/TEST-*.xml
apps/*/target/failsafe-reports/TEST-*.xml
stack-building:
name: Stack building
timeout-minutes: 5
needs: [sources, binaries-and-images]
strategy:
fail-fast: false
matrix:
usage: [func]
prefs: [turing, church]
runs-on: ubuntu-22.04
steps:
- uses: actions/[email protected]
- uses: ./.github/actions/prepare
with:
tools: python docker
token: ${{ secrets.GITHUB_TOKEN }}
- run: >
ansible-playbook stacks.yml -t build
-e image_repo=${{ env.IMAGE_REPO }}
-e usage=${{ matrix.usage }}
-e prefs=${{ matrix.prefs }}
working-directory: .dx
- uses: actions/[email protected]
with:
name: solution-${{ matrix.usage }}-${{ matrix.prefs }}
path: solutions/target/context
if-no-files-found: ignore
stack-testing:
name: Stack testing
timeout-minutes: 15
needs: [stack-building]
strategy:
fail-fast: false
matrix:
usage: [func]
prefs: [turing, church]
shard: [0, 1]
runs-on: ubuntu-22.04
steps:
- uses: actions/[email protected]
- uses: ./.github/actions/prepare
with:
tools: python java docker
token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/[email protected]
continue-on-error: true # it's ok because solution compilation can be skipped
with:
name: solution-${{ matrix.usage }}-${{ matrix.prefs }}
path: solutions/target/context
- run: >
ansible-playbook stacks.yml -t test
-e image_repo=${{ env.IMAGE_REPO }}
-e test_failure_ignore=true
-e usage=${{ matrix.usage }}
-e prefs=${{ matrix.prefs }}
-e reminder=${{ matrix.shard }}
-e modulus=2
working-directory: .dx
env:
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/[email protected]
if: ${{ !cancelled() }}
with:
name: e2e-test-report-${{ matrix.usage }}-${{ matrix.prefs }}-${{ matrix.shard }}
path: tests/e2e/target/surefire-reports/*.xml
if-no-files-found: ignore
stack-packaging:
name: Stack packaging
timeout-minutes: 5
needs: [stack-testing]
strategy:
fail-fast: false
matrix:
usage: [func]
prefs: [turing, church]
runs-on: ubuntu-22.04
permissions:
packages: write
steps:
- uses: actions/[email protected]
- uses: ./.github/actions/prepare
with:
tools: python docker
token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/[email protected]
continue-on-error: true # it's ok because solution compilation can be skipped
with:
name: solution-${{ matrix.usage }}-${{ matrix.prefs }}
path: solutions/target/context
- run: >
ansible-playbook stacks.yml -t package
-e image_repo=${{ env.IMAGE_REPO }}
-e focus=solution
-e usage=${{ matrix.usage }}
-e prefs=${{ matrix.prefs }}
working-directory: .dx
stack-reporting:
name: Stack reporting
timeout-minutes: 5
needs: [stack-packaging]
runs-on: ubuntu-22.04
permissions:
checks: write
steps:
- uses: actions/[email protected]
with:
path: artifacts
- run: ls -R
- uses: EnricoMi/[email protected]
with:
check_name: E2E Test Report
check_run_annotations: none
compare_to_earlier_commit: false
action_fail_on_inconclusive: true
action_fail: true
job_summary: false
comment_mode: off
files: artifacts/e2e-test-report-*/**/TEST-*.xml