on: [push]
jobs:

  alpine:
    container:
      image: ${{vars.DOCKER}}alpine:3.19
    steps:
    - name: spcd
      env:
        SPCD: ${{vars.SPCD}}
        SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
      run: ${{vars.SPCD}}

    - run: spcd-check-project
    - run: spcd-build-project
    - run: spcd-browse-workspace

  debian:
    needs: alpine
    if: failure() || success()
    container:
      image: ${{vars.DOCKER}}debian:bullseye
    steps:
    - name: spcd
      env:
        SPCD: ${{vars.SPCD}}
        SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
      run: ${{vars.SPCD}}

    - run: spcd-check-project
    - run: spcd-build-project
    - run: spcd-browse-workspace

  ubuntu:
    needs: debian
    if: failure() || success()
    container:
      image: ${{vars.DOCKER}}ubuntu:jammy
    steps:
    - name: spcd
      env:
        SPCD: ${{vars.SPCD}}
        SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
      run: ${{vars.SPCD}}

    - run: spcd-check-project
    - run: spcd-build-project
    - run: spcd-browse-workspace

  arch:
    needs: ubuntu
    if: failure() || success()
    container:
      image: ${{vars.DOCKER}}archlinux:base-20240101.0.204074
    steps:
    - name: spcd
      env:
        SPCD: ${{vars.SPCD}}
        SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
      run: ${{vars.SPCD}}

    - run: spcd-check-project
    - run: spcd-build-project
    - run: spcd-browse-workspace

  opensuse:
    needs: arch
    if: failure() || success()
    container:
      image: ${{vars.DOCKER}}opensuse/leap:15.5
    steps:
    - name: spcd
      env:
        SPCD: ${{vars.SPCD}}
        SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
      run: ${{vars.SPCD}}

    - run: spcd-check-project
    - run: spcd-build-project
    - run: spcd-browse-workspace

  fedora:
    needs: opensuse
    if: failure() || success()
    container:
      image: ${{vars.DOCKER}}fedora:39
    steps:
    - name: spcd
      env:
        SPCD: ${{vars.SPCD}}
        SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
      run: ${{vars.SPCD}}

    - run: spcd-check-project
    - run: spcd-build-project
    - run: spcd-browse-workspace

  alma:
    needs: fedora
    if: failure() || success()
    container:
      image: ${{vars.DOCKER}}almalinux:8
    steps:
    - name: spcd
      env:
        SPCD: ${{vars.SPCD}}
        SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
      run: ${{vars.SPCD}}

    - run: spcd-check-project
    - run: spcd-build-project
    - run: spcd-browse-workspace

  rocky:
    needs: alma
    if: failure() || success()
    container:
      image: ${{vars.DOCKER}}rockylinux:8
    steps:
    - name: spcd
      env:
        SPCD: ${{vars.SPCD}}
        SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
      run: ${{vars.SPCD}}

    - run: spcd-check-project
    - run: spcd-build-project
    - run: spcd-browse-workspace