Ketahui cara menyediakan saluran paip CI GitHub Actions yang mantap untuk projek Python anda menggunakan Puisi, menguji merentas berbilang versi Python untuk memastikan keserasian dan kebolehpercayaan.
Integrasi Berterusan (CI) ialah bahagian penting dalam mana-mana aliran kerja pembangunan perisian moden. Jika anda menguruskan kebergantungan dan persekitaran dengan Puisi, panduan ini akan membantu anda mengkonfigurasi saluran paip CI GitHub Actions yang mantap untuk projek Python anda merentas berbilang versi Python. Untuk contoh praktikal, anda boleh merujuk kepada kod sebenar dalam repositori GitHub ini: jdevto/python-poetry-hello. ?
Puisi memudahkan pengurusan dan pembungkusan pergantungan Python. Ia menyediakan:
Di bawah ialah konfigurasi aliran kerja GitHub Actions yang lengkap untuk mengautomasikan saluran paip CI anda dengan Puisi merentas Python versi 3.9 hingga 3.13. Contoh ini termasuk tiga jenis pencetus: semasa menolak ke cawangan utama, atas permintaan tarik dan pada tugas cron harian yang dijadualkan. Anda boleh melaraskan pencetus ini untuk memenuhi keperluan anda sendiri.
name: ci on: push: branches: - main pull_request: schedule: - cron: 0 12 * * * workflow_dispatch: jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] fail-fast: false steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install Poetry run: | curl -sSL https://install.python-poetry.org | python3 - echo "PATH=$HOME/.local/bin:$PATH" >> $GITHUB_ENV - name: Install dependencies with Poetry run: | cd hello-world poetry install --with dev - name: Set PYTHONPATH to include the source directory run: echo "PYTHONPATH=$PWD/hello-world" >> $GITHUB_ENV - name: Run tests run: | cd hello-world poetry run pytest --cov=hello-world --cov-report=term-missing
Tindakan actions/checkout@v4 mengambil kod anda daripada repositori supaya ia boleh digunakan dalam langkah seterusnya.
Tindakan actions/setup-python@v4 memasang versi Python yang ditentukan menggunakan strategi matriks, membolehkan ujian dijalankan pada berbilang versi Python.
Skrip memasang versi terbaharu Puisi menggunakan kaedah pemasangan rasminya dan memastikan ia ditambahkan pada PATH.
pemasangan puisi --dengan dev memasang semua kebergantungan projek, termasuk kebergantungan pembangunan.
Pembolehubah persekitaran PYTHONPATH dikonfigurasikan untuk memasukkan direktori src, membolehkan import modul yang betul semasa ujian.
poetry run pytest menjalankan ujian yang ditakrifkan dalam projek anda, dengan pelaporan liputan didayakan melalui --cov=src --cov-report=term-missing.
Untuk mempercepatkan aliran kerja anda, anda boleh cache kebergantungan Puisi:
name: ci on: push: branches: - main pull_request: schedule: - cron: 0 12 * * * workflow_dispatch: jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] fail-fast: false steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install Poetry run: | curl -sSL https://install.python-poetry.org | python3 - echo "PATH=$HOME/.local/bin:$PATH" >> $GITHUB_ENV - name: Install dependencies with Poetry run: | cd hello-world poetry install --with dev - name: Set PYTHONPATH to include the source directory run: echo "PYTHONPATH=$PWD/hello-world" >> $GITHUB_ENV - name: Run tests run: | cd hello-world poetry run pytest --cov=hello-world --cov-report=term-missing
Tambahkan langkah ini sebelum memasang kebergantungan untuk melangkau pemasangan semula kebergantungan jika tiada apa yang berubah.
Dengan mengkonfigurasi aliran kerja Tindakan GitHub ini, anda boleh mengautomasikan ujian merentas berbilang versi Python dan memastikan projek Python anda menggunakan Puisi sentiasa dalam keadaan terbaik. Persediaan ini termasuk langkah untuk memasang kebergantungan, menjalankan ujian dan juga kebergantungan cache untuk binaan yang lebih pantas. ?
Jika anda mempunyai sebarang soalan atau cadangan, sila kongsikan! ? Untuk mendapatkan lebih banyak inspirasi dan contoh yang berkesan, lawati repositori GitHub: jdevto/python-poetry-hello.
Atas ialah kandungan terperinci Cara Mengkonfigurasi Tindakan GitHub CI untuk Python Menggunakan Puisi pada Berbilang Versi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!