name: Fixed-Version Environment Checker

on:
  push:
    branches:
    - master
    paths:
    - 'envs/environment.yaml'

jobs:
  update-environment-fixed:
    name: Update environment.fixed.yaml
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4

    - name: Setup conda
      uses: conda-incubator/setup-miniconda@v3
      with:
        activate-environment: pypsa-eur
        environment-file: envs/environment.yaml

    - name: Update environment.fixed.yaml
      run: |
        conda env export --name pypsa-eur-fixed --no-builds > envs/environment.fixed.yaml

    - name: Add SPDX header
      run: |
        SPDX_HEADER="# SPDX-FileCopyrightText: : 2017-2024 The PyPSA-Eur Authors\n# SPDX-License-Identifier: CC0-1.0\n"
        echo -e "$SPDX_HEADER" | cat - envs/environment.fixed.yaml > temp && mv temp envs/environment.fixed.yaml

    - name: Create Pull Request
      uses: peter-evans/create-pull-request@v7
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
        branch: update-environment-fixed
        title: "[github-actions.ci] Update fixed environment"
        body: Automatically generated PR to update environment.fixed.yaml, since environment.yaml was updated.