actions / actions/setup-python

Extend PKG_CONFIG_PATH rather than overwriting it

オープン
#1,243 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

feature request
主要言語
TypeScript
スター
2.2k
フォーク
739
平均マージ
6日 18時間
マージ済み PR(30日)
1

説明

Description:

As of now, the setup-python action overwrites the PKG_CONFIG_PATH variable during its execution, which can lead to errors if this variable has already been set to a specific value (which is then no longer available). PKG_CONFIG_PATH works as the normal PATH does (from the man page of pkg-config)

PKG_CONFIG_PATH
  A colon-separated list of high-priority directories where pc(5) files are looked up.

It would therefore be a good idea to instead extend PKG_CONFIG_PATH by adding the new directory to the existing value if one is present in the environment. This will make both existing and new pc files available (We would not want to overwrite PATH either, would we?)

Justification:

I realized this issue after debugging session of a CI pipeline which had a global

env:
  PKG_CONFIG_PATH: '/special/path'

attached to a given workflow. After installing python using setup-python the python dependencies (which included a native library with a pc file) could not be installed any more, since that variable had been overwritten. This is a rather insidious error which is really hard to find.

Are you willing to submit a PR?

Working on a PR.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Issue では、setup-python による PKG_CONFIG_PATH の処理を入口として特定しています。action の環境およびパス書き込みに関するコードと、関連するテストを確認してください。既存の PKG_CONFIG_PATH がある場合の動作を検証し、以前のディレクトリと生成されたディレクトリの両方が引き続き利用可能であることを確認してください。作業はすでに PR #1242 で表されています。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github-actions, typescript
領域
ci-cd, devops
issue の種類
バグ
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
20/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。