Move PyPI publishing to shared workflows #4
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create a pre-release | ||
on: | ||
# Trigger a beta version release (pre-release) on push to the master branch. | ||
push: | ||
branches: | ||
- use-release-metadata-action # TODO | ||
tags-ignore: | ||
- "**" # Ignore all tags to prevent duplicate builds when tags are pushed. | ||
jobs: | ||
release_metadata: | ||
name: Prepare release metadata | ||
runs-on: ubuntu-latest | ||
outputs: | ||
version_number: ${{ steps.release_metadata.outputs.version_number }} | ||
tag_name: ${{ steps.release_metadata.outputs.tag_name }} | ||
changelog: ${{ steps.release_metadata.outputs.changelog }} | ||
steps: | ||
- uses: apify/workflows/release-metadata@release-metadata-action | ||
id: release_metadata | ||
name: Prepare release metadata | ||
with: | ||
release_type: prerelease | ||
lint_check: | ||
name: Lint check | ||
uses: apify/workflows/.github/workflows/python_lint_check.yaml@main | ||
type_check: | ||
name: Type check | ||
uses: apify/workflows/.github/workflows/python_type_check.yaml@main | ||
unit_tests: | ||
name: Unit tests | ||
uses: apify/workflows/.github/workflows/python_unit_tests.yaml@main | ||
update_changelog: | ||
name: Update changelog | ||
needs: [release_metadata, lint_check, type_check, unit_tests] | ||
runs-on: ubuntu-latest | ||
outputs: | ||
changelog_commitish: ${{ steps.commit.outputs.commit_long_sha || github.sha }} | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
PYTHON_VERSION: 3.12 | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
with: | ||
token: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }} | ||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ env.PYTHON_VERSION }} | ||
- name: Install poetry | ||
run: pipx install --python ${{ env.PYTHON_VERSION }} poetry | ||
- name: Update package version in pyproject.toml | ||
run: poetry version ${{ needs.release_metadata.outputs.version_number }} | ||
- name: Update CHANGELOG.md | ||
uses: DamianReeves/write-file-action@master | ||
with: | ||
path: CHANGELOG.md | ||
write-mode: overwrite | ||
contents: ${{ needs.release_metadata.outputs.changelog }} | ||
- name: Commit changes | ||
id: commit | ||
uses: EndBug/add-and-commit@v9 | ||
with: | ||
author_name: Apify Release Bot | ||
author_email: noreply@apify.com | ||
message: "chore(release): Update changelog and package version [skip ci]" | ||
publish_to_pypi: | ||
name: Publish to PyPI | ||
needs: [release_metadata, update_changelog] | ||
uses: apify/workflows/.github/workflows/python_publish_to_pypi.yaml@release-metadata-action # TODO change branch to main | ||
with: | ||
package_name: crawlee | ||
version_number: ${{ needs.release_metadata.outputs.version_number }} | ||
ref: ${{ needs.update_changelog.changelog_commitish }} | ||
Check failure on line 87 in .github/workflows/pre_release.yaml GitHub Actions / Create a pre-releaseInvalid workflow file
|
||
is_prerelease: "yes" | ||
# TODO: add job for publish package to Conda | ||
# https://github.com/apify/crawlee-python/issues/104 |