Hallo, @goanpeca!
Erstmal herzlichen Glückwunsch zu dieser Aktion! Und danke für die Bereitstellung!
Nun, leider hatte ich ein Problem in Windows-Builds mit Ihren GH-Aktionen. Ich verwende conda-devenv , um Conda-Umgebungen in einem Entwicklungsmodus zu erstellen. Es bietet erweiterte Funktionen im Vergleich zu regulären conda
, ich kann Umgebungsvariablen definieren, jinja2 verwenden und so weiter.
Das Problem ist: Wenn ich meine Tests durchführe, erstelle ich eine neue Umgebung mit conda devenv
. Wenn ich Ihre Aktion verwende, erhält die erstellte Umgebung aus unbekannten Gründen einen leeren Namen.
Unten stelle ich meine Windows-Build-Datei bereit:
name: windows
on:
push:
branches:
- master
pull_request:
schedule:
- cron: "0 5 * * 1" # runs at 05:00 UTC on Mondays
jobs:
build:
runs-on: windows-latest
env:
configuration: Release
strategy:
fail-fast: true
max-parallel: 4
steps:
- uses: actions/checkout<strong i="13">@v1</strong>
- uses: goanpeca/[email protected]
with:
auto-update-conda: true
activate-environment: autodiff
- name: Install conda-devenv
shell: powershell
run: |
conda install -c conda-forge conda-devenv
conda info -a
- name: Build
shell: powershell
run: |
conda devenv
conda info --envs
conda activate autodiff
cmake -S . -B build
cmake --build build --config ${{ env.configuration }} --target install
- name: Tests
shell: powershell
run: call build\test\${{ env.configuration }}\tests.exe
Ich habe sogar versucht, den gleichen Namen meiner neuen Umgebung als activate-environment
, da conda-devenv problemlos eine Umgebung auf einer vorhandenen Umgebung generieren kann. Wenn ich dies tue, wird die neue Umgebung jedoch ohne Namen erstellt. Wenn ich conda info --envs
im CI ausführe (nur Windows), erhalte ich die folgende Ausgabe:
2020-01-29T22:35:24.9862529Z # conda environments:
2020-01-29T22:35:24.9863192Z #
2020-01-29T22:35:24.9863428Z base C:\Miniconda
2020-01-29T22:35:24.9863652Z autodiff * C:\Miniconda\envs\autodiff
2020-01-29T22:35:24.9863862Z C:\Miniconda\envs\autodiff\envs\autodiff
Wisst ihr wie ich ein solches Problem lösen könnte?
Prost!
Hallo! Danke für die Rückmeldung. Ich habe conda-devenv noch nie verwendet, daher habe ich keine Lösung aus dem Kopf. Ich werde ein wenig hineinlesen, um zu sehen, was das Problem sein könnte.
Es wird ein paar Tage dauern.
Prost!
Keine Bange! Danke für die Hilfe.
Ist dies nur ein Windows-Problem @volpatto ?
Ist dies nur ein Windows-Problem @volpatto ?
Ja, unter Ubuntu oder Mac überhaupt kein Problem.
@goanpeca , ich glaube, ich habe herausgefunden, was passiert. Meine Lösung bestand vor allem darin, Folgendes festzulegen:
auto-activate-base: true
activate-environment: ''
Auf diese Weise bleibt conda
in seinem Stammverzeichnis und erstellt envs im üblichen Verzeichnisbaum. Wenn wir die Umgebung tests
(die von der Aktion erstellte Standardumgebung), verliert conda
ihr Root-Verzeichnis. Es geht zu C:\Miniconda\envs\tests
. Jede Umgebung, die danach erstellt wird, wird als C:\Miniconda\envs\tests\envs\foo
. Wenn Sie conda activate foo
versuchen, wird es nicht gefunden, da es bei C:\Miniconda\envs\foo
. Ich würde Ihnen mit einer PR helfen, aber ich sah einige Typ-Skript-Magie in der Quelle und bekam Angst. Es tut mir wirklich leid für die Unannehmlichkeiten.
PS.: TypeScript kenne ich nicht.
Kein Problem. Ich kannte vor ein paar Monaten kein Typoskript. Ich fühle deinen Schmerz!
Also, wenn Sie diesen Workaround verwenden, funktioniert alles in Ordnung? Ist das in diesem Fall eher ein Problem mit conda devenv on win? Oder ? Ich könnte einige Informationen in der Readme-Datei für diesen Fall hinzufügen, denn was wäre die eigentliche Lösung auf der Aktionsseite?
Ja, jetzt funktioniert alles richtig!
Ich werde hier einen einfachen Test durchführen. Ich werde eine Umgebung ohne conda-devenv erstellen und sehen, was passiert. Nur eine Sekunde!
Um ehrlich zu sein, weiß ich nicht, ob dies ein Conda-Devenv-Problem ist (wahrscheinlich ist es das). Ich werde es morgen mit den Betreuern überprüfen (eigentlich arbeiten sie in einem Raum vor meinem, also fällt es mir leicht). Es ist eher ein Problem auf der Seite von Conda-Devenv. Ich finde die Aktion in Ordnung. Wenn ich eine Umgebung mit conda create -n foo
, funktioniert es ordnungsgemäß und erstellt die Umgebung mit C:\Miniconda\envs\foo
.
Nun, ich werde conda-devenv morgen überprüfen, um es dort zu verbessern.
Danke, dass du mir geholfen hast, @goanpeca
Prost!
Lass mich wissen, was sie gesagt haben @volpatto ;-)
Lass mich wissen, was sie gesagt haben @volpatto ;-)
Klar, ich untersuche es gerade
Ich sprach mit einem der Betreuer von conda-devenv, die Schlussfolgerung war unklar. Aber es ist definitiv kein Problem im Zusammenhang mit der GH Action-Seite.