name: talk-update

on:
  workflow_dispatch:
  schedule:
  - cron:  '00 12 * * *'

jobs:
  talk-update:
    name: update talk
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Run talk-container-update
      run: |
        # Recording
        recording_version="$(
          git ls-remote https://github.com/nextcloud/nextcloud-talk-recording v* \
            | cut -d/ -f3 \
            | sort -V \
            | grep -E "^v[0-9\.]+$" \
            | tail -1
        )"
        sed -i "s|^ENV RECORDING_VERSION.*$|ENV RECORDING_VERSION=$recording_version|" ./Containers/talk-recording/Dockerfile
        curl -L "https://raw.githubusercontent.com/nextcloud/nextcloud-talk-recording/$recording_version/server.conf.in" -o Containers/talk-recording/recording.conf
        
        # Signaling
        signaling_version="$(
          git ls-remote https://github.com/strukturag/nextcloud-spreed-signaling v*.*.* \
            | cut -d/ -f3 \
            | sort -V \
            | grep -E "^v[0-9]+\.[0-9]+\.[0-9]+$" \
            | tail -1
        )"
        curl -L "https://raw.githubusercontent.com/strukturag/nextcloud-spreed-signaling/$signaling_version/server.conf.in" -o Containers/talk/server.conf.in
        
        # Janus
        janus_version="$(
          git ls-remote https://github.com/meetecho/janus-gateway v0.*.* \
            | cut -d/ -f3 \
            | sort -V \
            | grep -E "^v[0-9]+\.[0-9]+\.[0-9]+$" \
            | tail -1
        )"
        sed -i "s|^ARG JANUS_VERSION=.*$|ARG JANUS_VERSION=$janus_version|" ./Containers/talk/Dockerfile
        
    - name: Create Pull Request
      uses: peter-evans/create-pull-request@v7
      with:
        commit-message: talk-update automated change
        signoff: true
        title: talk container update
        body: Automated talk container update
        labels: dependencies, 3. to review
        milestone: next
        branch: talk-container-update
