😥
github actionsでpoetry installしようとしたら止まった話
問題
業務で,github actions でテストと linter を走らせる CI/CD を組むことがあった.
そこで,workflow をローカルで動かせるactでテストしようとすると,poetry install
が走った瞬間,exitcode 1
で終わってしまい,相当長い間詰まっていた.
環境
poetry version 1.5.1
エラー発生日:2023/7/1
原因
色々調べて,poetry install exitcode 1
とかで調べると,以下の記事がヒット
https://github.com/python-poetry/poetry/issues/7184
特にここを見てもらうと,poetry が Cleo のインポート中に worker が例外を返してしまっているそうです...
解決方法
そのため,poetry install --no-ansi
で解決しました.
name: Python Lint and Test
on:
push:
branches: [dev]
pull_request:
branches: [dev]
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: snok/install-poetry@v1
- uses: actions/cache@v2
id: venv_cache
with:
path: .venv
key: venv-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}
- name: Install Dependencies
if: steps.venv_cache.outputs.cache-hit != 'true'
run: |
poetry lock
poetry install --no-ansi
- name: Test with pytest
run: |
poetry run pytest
- name: Lint with flake8
run: poetryu flake8 .
Discussion