Skip to content

Commit 8ebdfa5

Browse files
authored
Update release_conda.yml
1 parent b6e9e4d commit 8ebdfa5

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

.github/workflows/release_conda.yml

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ jobs:
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

Comments
 (0)