Lesstep
GitHub Actions・Ubuntu 26.04・2026年11月4日に確認

ubuntu-latest(Ubuntu 26.04)の「conda: command not found」:イメージに Miniconda が無く、$CONDA が空

GitHub の Ubuntu 26.04 のランナーのイメージには Miniconda が入っていません。イメージの告知には「removed from the Ubuntu 26.04 image due to maintenance reasons」(保守上の理由で 26.04 のイメージから外した)とあり(runner-images #14226)、イメージの説明書には環境変数 CONDA が値の無いまま残っています(Ubuntu2604-Readme.md・イメージ 20261026.180.1)。ubuntu-24.04 では Miniconda 26.9.4 が /usr/share/miniconda にあり、CONDA はそこを指します。そのため、ubuntu-latest で 24.04 から 26.04 に移ったジョブでは、$CONDA の先に conda がありません。

どう見えるか

GitHub Actions では、$CONDA/bin を PATH に足したステップの次のステップで落ちます:

Run conda env update --file environment.yml --name base
/home/runner/work/_temp/....sh: line 1: conda: command not found
Error: Process completed with exit code 127.

Azure Pipelines では次のとおりです(truera/trulens #2979):

line 1: conda: command not found
##[error]Bash exited with code '127'.

$CONDA/bin/conda を直に呼ぶステップや、$CONDA/etc/profile.d/conda.sh を読み込むステップは、line 1: /bin/conda: No such file or directory や line 1: /etc/profile.d/conda.sh: No such file or directory で落ちます。CONDA が空なので、パスが / から始まるからです。

当たるもの

GitHub Actions での直し方:setup-miniconda に入れさせる

setup-miniconda は、あとのステップのために CONDA を設定し、conda を PATH に足します(アクションのコード・v4.1.0)。雛形のワークフローのほかのステップはそのままで動きます:

    - uses: conda-incubator/setup-miniconda@v4
      with:
        miniforge-version: latest
        activate-environment: ""
    - name: Add conda to system path
      run: |
        echo $CONDA/bin >> $GITHUB_PATH

miniforge-version: latest は Miniforge を入れ、その既定のチャンネルは conda-forge です。外すと最新の Miniconda が入り、チャンネルは Anaconda の defaults になります。ビルドのマシンに入れた Miniconda のライセンスについて Anaconda から連絡を受けたある組織は、イメージのメンテナーに Miniforge への切り替えを求めています(runner-images #13433)。activate-environment: "" にすると、アクションがふだん作る test の環境を作りません。

Azure Pipelines での直し方:ステップで Miniforge を入れる

- bash: |
    curl -fsSLo "$(Agent.TempDirectory)/miniforge.sh" https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
    bash "$(Agent.TempDirectory)/miniforge.sh" -b -p "$(Agent.TempDirectory)/miniforge3"
    echo "##vso[task.prependpath]$(Agent.TempDirectory)/miniforge3/bin"
  displayName: Install Miniforge

-b はインストーラーを質問なしで進め、-p は入れる先を決めます。あとのステップで $CONDA を使っているところは、このパスに書き換えます。GitHub Actions でも、$RUNNER_TEMP と $GITHUB_PATH を使えば同じステップで入れられます。そのときは echo "CONDA=$RUNNER_TEMP/miniforge3" >> "$GITHUB_ENV" も足すと、$CONDA を使うステップがそのまま動きます。

または、当面は 24.04 にとどまる

runs-on: ubuntu-24.04、Azure Pipelines なら vmImage: ubuntu-24.04 にすると、Miniconda 26.9.4 と CONDA=/usr/share/miniconda が残ります。ジョブを 26.04 に移すときまで、変更を先に延ばすだけです。

26.04 のイメージから消えたほかのツール

告知の同じ表では、24.04 にあるツールがほかにも外れています:

見分け方

ほかの 26.04 の失敗

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べるので、ubuntu-latest が移ったときに赤くなったワークフローがすぐ分かり、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

JetBrains Marketplace で入れる

GitHub と GitHub Actions は GitHub, Inc. の商標、Ubuntu は Canonical Ltd. の商標、Anaconda と Miniconda は Anaconda, Inc. の商標、Azure DevOps は Microsoft Corporation の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・Canonical・Anaconda, Inc.・Microsoft・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:「The ubuntu-latest label will migrate to Ubuntu 26」 · setup-python の「was not found」 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English