From 131588592dff9718b3c11cac26bf3c85903790cd Mon Sep 17 00:00:00 2001 From: Andrey Nikiforov Date: Mon, 10 Jun 2024 19:27:55 -0700 Subject: [PATCH] Extract Build and Compatibility Tests from quality checks that run on each push (#865) --- .github/workflows/produce-artifacts.yml | 67 +++++++++++++++++++++++++ .github/workflows/quality-checks.yml | 14 +----- 2 files changed, 68 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/produce-artifacts.yml diff --git a/.github/workflows/produce-artifacts.yml b/.github/workflows/produce-artifacts.yml new file mode 100644 index 000000000..a808acfc5 --- /dev/null +++ b/.github/workflows/produce-artifacts.yml @@ -0,0 +1,67 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Produce Artifacts + +on: + pull_request: + # branches: [ master ] + workflow_dispatch: + # branches: + # - '**' + + +jobs: + skip_check: + # continue-on-error: true # Uncomment once integration is finished + runs-on: ubuntu-22.04 + # Map a step output to a job output + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@v5 + with: + concurrent_skipping: 'same_content_newer' + skip_after_successful_duplicate: 'true' + paths_ignore: '["**/*.md", "examples/**"]' + do_not_skip: '["workflow_dispatch", "schedule"]' + + get_version: + needs: [skip_check] + if: needs.skip_check.outputs.should_skip != 'true' + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + + - name: Retrieve version + id: get_version + run: | + echo icloudpd_version=$(cat pyproject.toml | grep version= | cut -d'"' -f 2) >> $GITHUB_OUTPUT + + - name: Log version + run: | + echo "icloudpd_version=${{steps.get_version.outputs.icloudpd_version}}" + + outputs: + icloudpd_version: ${{steps.get_version.outputs.icloudpd_version}} + + extract_changelog: + needs: [get_version] + uses: ./.github/workflows/extract-changelog.yml + with: + icloudpd_version: ${{needs.get_version.outputs.icloudpd_version}} + + build_package: + needs: [get_version] + if: needs.skip_check.outputs.should_skip != 'true' + uses: ./.github/workflows/build-package.yml + with: + icloudpd_version: ${{needs.get_version.outputs.icloudpd_version}} + + compile_notes: + needs: [get_version, build_package, extract_changelog] + if: needs.skip_check.outputs.should_skip != 'true' + uses: ./.github/workflows/compile-notes.yml + with: + icloudpd_version: ${{needs.get_version.outputs.icloudpd_version}} diff --git a/.github/workflows/quality-checks.yml b/.github/workflows/quality-checks.yml index d9cef9682..5a8c340f6 100644 --- a/.github/workflows/quality-checks.yml +++ b/.github/workflows/quality-checks.yml @@ -112,20 +112,8 @@ jobs: extract_changelog: needs: [get_version] - uses: ./.github/workflows/extract-changelog.yml - with: - icloudpd_version: ${{needs.get_version.outputs.icloudpd_version}} - - build_package: - needs: [get_version, skip_check, type_check, lint, test] if: needs.skip_check.outputs.should_skip != 'true' - uses: ./.github/workflows/build-package.yml + uses: ./.github/workflows/extract-changelog.yml with: icloudpd_version: ${{needs.get_version.outputs.icloudpd_version}} - compile_notes: - needs: [get_version, build_package, extract_changelog] - if: needs.skip_check.outputs.should_skip != 'true' - uses: ./.github/workflows/compile-notes.yml - with: - icloudpd_version: ${{needs.get_version.outputs.icloudpd_version}}