11name : Release Conda
22
3+ # Activa el workflow bajo las condiciones que especificaste:
34on :
5+ # 1. Cuando se hace push a la rama 'conda_cd'
46 push :
57 branches : [conda_cd]
8+ # 2. Cuando se publica un nuevo release (etiqueta)
69 release :
710 types : [published]
11+ # 3. Permite la ejecución manual desde la UI de GitHub Actions
812 workflow_dispatch :
913
1014jobs :
@@ -15,26 +19,40 @@ jobs:
1519 - name : Checkout repository
1620 uses : actions/checkout@v4
1721
18- - name : Set up Conda/Miniconda
19- # Inicializa el entorno Conda
22+ # 1. Configurar Miniconda y Conda Build
23+ - name : Setup Miniconda and Conda Tools
2024 uses : conda-incubator/setup-miniconda@v3
2125 with :
22- # Versión de Python a usar para el build
2326 python-version : 3.10
24- # Opcional: Instalar mamba para acelerar la resolución de dependencias
27+ # Instalar conda-build y anaconda-client en el entorno base
28+ auto-install-conda : true
29+ auto-update-conda : true
2530 mamba-version : " *"
26- # Esto configura las variables de entorno necesarias
27- activate-environment : build-env
31+ # Desactivamos la creación automática de entorno para trabajar en el base
32+ activate-environment : false
2833
29- - name : Build and upload Conda package to Anaconda.org
30- uses : conda-incubator/action-tools@v1
31- with :
32- # Esto le dice a la acción que corra el workflow de construir y subir
33- workflow : build-and-upload
34- channel : ' ctlearn-project'
35- anaconda-token : ${{ secrets.ANACONDA_TOKEN }}
34+ # 2. Configurar Autenticación para Anaconda.org
35+ # NOTA: conda-client se instaló en el paso anterior
36+ - name : Configure Anaconda Token
37+ shell : bash
38+ run : |
39+ # Esto guarda el token para usarlo automáticamente con 'anaconda upload'
40+ anaconda config --set upload_token ${{ secrets.ANACONDA_TOKEN }}
41+
42+ # 3. Construir y Subir el Paquete
43+ - name : Conda Build and Upload Package
44+ shell : bash
45+ run : |
46+ # --- FASE DE CONSTRUCCIÓN ---
47+ # La construcción se hará para 'linux-64'
48+ # AJUSTA LA RUTA 'recipe' si tu meta.yaml está en otro lugar
49+ conda build recipe
3650
37- platforms : ' linux-64'
51+ # --- FASE DE SUBIDA ---
52+ # Obtiene la ruta del paquete construido (generalmente en anaconda/conda-bld/linux-64/...)
53+ # Esto asegura que subimos la versión correcta.
54+ PACKAGE_PATH=$(conda build recipe --output)
3855
39- # Usar mamba para el proceso de build
40- mambabuild : true
56+ # Sube el archivo .tar.bz2 al canal de anaconda.org
57+ # Usamos el canal que especificaste: 'ctlearn-project'
58+ anaconda upload "$PACKAGE_PATH" --force --user 'ctlearn-project'
0 commit comments