diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/bump-and-publish.yml similarity index 62% rename from .github/workflows/build-and-release.yml rename to .github/workflows/bump-and-publish.yml index e26345a..202e217 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/bump-and-publish.yml @@ -1,44 +1,10 @@ -name: test, bump and publish +name: bump and publish on: - push: - branches: [master] - pull_request: - branches: [master] + workflow_call: jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - - name: Install python dependencies - run: | - python -m pip install --upgrade pip - pip install setuptools twine wheel coveralls - pip install -e .[all] - - - name: Show python dependencies - run: | - pip freeze - - - name: Run tests - run: | - ./run-tests.sh - bump: - outputs: - new_sha: ${{ steps.sha.outputs.SHA }} - needs: test - if: ${{ github.event_name == 'push' }} runs-on: ubuntu-latest steps: - name: Check out the repository @@ -73,23 +39,16 @@ jobs: branch: ${{ github.ref }} tags: true - - name: get sha - id: sha - run: | - sha_new=$(git rev-parse HEAD) - echo $sha_new - echo "::set-output name=SHA::$sha_new" publish: needs: bump - if: ${{ github.event_name == 'push' }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - ref: ${{ needs.bump.outputs.new_sha }} + fetch-tags: true - name: Set up Python uses: actions/setup-python@v5 diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 0000000..365c5ca --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,12 @@ +name: Pull request master + +on: + pull_request: + branches: [master] + +jobs: + python2_tests: + uses: ./.github/workflows/test-python-2.yml + + python3_tests: + uses: ./.github/workflows/test-python-3.yml diff --git a/.github/workflows/push-master.yml b/.github/workflows/push-master.yml new file mode 100644 index 0000000..412c2dc --- /dev/null +++ b/.github/workflows/push-master.yml @@ -0,0 +1,17 @@ +name: Pull request master + +on: + push: + branches: [master] + +jobs: + python2_tests: + uses: ./.github/workflows/test-python-2.yml + + python3_tests: + uses: ./.github/workflows/test-python-3.yml + + bump_version: + needs: [python2_tests, python3_tests] + uses: ./.github/workflows/bump-and-publish.yml + secrets: inherit diff --git a/.github/workflows/build-and-release-py2.yml b/.github/workflows/test-python-2.yml similarity index 83% rename from .github/workflows/build-and-release-py2.yml rename to .github/workflows/test-python-2.yml index 36a24be..5abd6d9 100644 --- a/.github/workflows/build-and-release-py2.yml +++ b/.github/workflows/test-python-2.yml @@ -1,10 +1,7 @@ -name: test (python 2.7) +name: Test Python 2 on: - push: - branches: [master] - pull_request: - branches: [master] + workflow_call: jobs: test: @@ -16,7 +13,7 @@ jobs: pip: pip steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -35,4 +32,4 @@ jobs: - name: Run tests run: | - ./run-tests.sh \ No newline at end of file + ./run-tests.sh diff --git a/.github/workflows/test-python-3.yml b/.github/workflows/test-python-3.yml new file mode 100644 index 0000000..2c60217 --- /dev/null +++ b/.github/workflows/test-python-3.yml @@ -0,0 +1,32 @@ +name: Test Python 3 + +on: + workflow_call: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install python dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools twine wheel coveralls + pip install -e .[all] + + - name: Show python dependencies + run: | + pip freeze + + - name: Run tests + run: | + ./run-tests.sh