# TODO:
# - [ ] prepare a forgejo ci image with the necessary tools and forgejo user
runs:
  using: "composite"
  steps:
    - name: setup user and permissions
      run: |
        git config --add safe.directory '*'
        # ignore if the user already exists (like with the playwright image)
        adduser --quiet --comment forgejo --disabled-password forgejo || true
        chown -R forgejo:forgejo .

    - uses: ./.forgejo/workflows-composite/setup-cache-go
      with:
        username: forgejo

    - name: validate go version
      run: |
        set -ex
        toolchain=$(grep -oP '(?<=toolchain ).+' go.mod)
        version=$(go version | cut -d' ' -f3)
        if dpkg --compare-versions ${version#go} lt ${toolchain#go}; then
          echo "go version too low: $toolchain >= $version"
          exit 1
        fi
