name: Publish Laconicd Fixturenet Stack Container Images

on:
  push:
    branches: 'main'
    paths:
      - '!**'
      - '.gitea/workflows/triggers/publish-fixturenet-laconicd-images'
      - '.gitea/workflows/publish-fixturenet-laconicd-images.yml'

jobs:
  publish:
    name: "Publish Laconicd Fixturenet Stack Container Images"
    runs-on: ubuntu-latest
    steps:
      - name: "Clone project repository"
        uses: actions/checkout@v3
      # At present the stock setup-python action fails on Linux/aarch64
      # Conditional steps below workaroud this by using deadsnakes for that case only
      - name: "Install Python for ARM on Linux"
        if: ${{ runner.arch == 'arm64' && runner.os == 'Linux' }}
        uses: deadsnakes/action@v3.0.1
        with:
          python-version: '3.8'
      - name: "Install Python cases other than ARM on Linux"
        if: ${{ ! (runner.arch == 'arm64' && runner.os == 'Linux') }}
        uses: actions/setup-python@v4
        with:
          python-version: '3.8'
      - name: "Print Python version"
        run: python3 --version
      - name: "Install stack orchestrator"
        run: ./scripts/install-so.sh
      - name: "Build containers"
        run: |
         PATH=$PATH:~/bin
         laconic-so --quiet --stack fixturenet-laconicd setup-repositories
         laconic-so --stack fixturenet-laconicd build-containers         
      - name: "Publish container images"
        run: |
          PATH=$PATH:~/bin
          echo ${{ secrets.CICD_PUBLISH_TOKEN }} | docker login git.vdb.to -u cerccicd --password-stdin
          laconic-so --stack fixturenet-laconicd build-containers --publish-images --image-registry git.vdb.to/cerc-io