1515 - name : Checkout repository and fetch tags
1616 uses : actions/checkout@v4
1717 with :
18- # CLAVE: Descarga el historial completo y las etiquetas
1918 fetch-depth : 0
2019
21- # 1. Configurar Miniconda y Mamba
20+ # 1, 2. Setup Conda & Install Tools (Correcto)
2221 - name : Setup Miniconda and Conda Tools
2322 uses : conda-incubator/setup-miniconda@v3
2423 with :
@@ -29,54 +28,53 @@ jobs:
2928 mamba-version : " *"
3029 activate-environment : false
3130
32- # 2. INSTALACIÓN DE HERRAMIENTAS DE DESPLIEGUE
3331 - name : Install anaconda-client and conda-build
3432 shell : bash
3533 run : |
3634 mamba install anaconda-client conda-build -y
3735
38- # 3. Configurar Autenticación para Anaconda.org
39- - name : Configure Anaconda Token
40- shell : bash
41- # Usamos el secreto para establecer la configuración global del cliente de Anaconda
42- run : |
43- conda run anaconda config --set upload_token ${{ secrets.ANACONDA_TOKEN }}
36+ # 3. ¡PASO ELIMINADO! Ya no configuramos el token globalmente para evitar conflictos.
4437
45- # 4. Construir y Subir el Paquete (Subida Limpia )
38+ # 4. Construir y Subir el Paquete (Usando el Token Org. como ENV )
4639 - name : Conda Build and Upload Package
4740 shell : bash
48- # Quitamos la variable 'env: ANACONDA_UPLOAD_TOKEN' de este paso
41+ # CLAVE: Inyectamos el token de la organización como variable de entorno
42+ # Esta es la forma más limpia para CI.
43+ env :
44+ ANACONDA_API_TOKEN : ${{ secrets.ANACONDA_TOKEN }}
4945 run : |
5046 CONDA_RECIPE_DIR=".github/conda"
5147 ANACONDA_CHANNEL="ctlearn-project"
52- TEST_FLAG="--no-test" # Asumimos que quieres saltarte el test siempre
48+ TEST_FLAG="--no-test"
5349
54- # 1. Lógica robusta para obtener la última etiqueta
55- # Fallback: git describe --tags --abbrev=0 2>/dev/null || echo "0.0.0+dev"
50+ # Lógica de Versión
5651 FULL_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "0.0.0+dev")
5752 VERSION="${FULL_TAG#v}"
5853 VERSION="${VERSION#V}"
54+
55+ if [[ "${{ github.event_name }}" == "release" ]]; then
56+ TEST_FLAG=""
57+ fi
5958
6059 echo "Building package version: $VERSION"
61- export PACKAGE_VERSION=$VERSION # Pasa la versión al meta.yaml
60+ export PACKAGE_VERSION=$VERSION
6261
63- # 2. --- FASE DE CONSTRUCCIÓN ---
62+ # FASE DE CONSTRUCCIÓN
6463 conda run conda build $CONDA_RECIPE_DIR $TEST_FLAG
6564
66- # 3. --- FASE DE SUBIDA ---
67- # Obtenemos la ruta del paquete (usando --output)
65+ # OBTENER PATH
6866 PACKAGE_PATH=$(conda run conda build $CONDA_RECIPE_DIR --output)
6967
70- # 4. Subimos el archivo
68+ # FASE DE SUBIDA
7169 if [[ "$VERSION" != "0.0.0+dev" ]]; then
7270 echo "Uploading $PACKAGE_PATH to $ANACONDA_CHANNEL channel..."
7371
74- # CLAVE: ¡Subida sin flags de token!
75- # El cliente de Anaconda usará la configuración del Paso 3 .
72+ # CLAVE FINAL: El cliente de Anaconda lee la variable de entorno ANACONDA_API_TOKEN
73+ # y sube al --owner especificado, usando el token de la ORG .
7674 conda run anaconda upload \
7775 "$PACKAGE_PATH" \
7876 --force \
79- --user $ANACONDA_CHANNEL
77+ --owner $ANACONDA_CHANNEL
8078 else
8179 echo "Skipping upload: Version is $VERSION (development)."
8280 fi
0 commit comments