diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c51aca00..6b92c1c5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,154 +1,17 @@ -name: CI +name: Continuous Integration on: push: - branches: - - main - tags: - - '**' - pull_request: {} + branches: [main] + pull_request: + branches: [main] jobs: - lint: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: set up python - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - - run: pip install -r requirements/linting.txt -r requirements/pyproject.txt pre-commit - - - run: pre-commit run -a --verbose - env: - SKIP: no-commit-to-branch - - docs: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: set up python - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - - run: pip install -r requirements/docs.txt -r requirements/pyproject.txt - - run: pip install . - - - run: make docs - - - name: Store docs site - uses: actions/upload-artifact@v4 - with: - name: docs - path: docs/_build/ - - test: - name: test py${{ matrix.python }} with redis:${{ matrix.redis }} on ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu] - python: ['3.8', '3.9', '3.10', '3.11', '3.12'] - redis: ['5'] - include: - - python: '3.11' - redis: '6' - os: 'ubuntu' - - python: '3.11' - redis: '7' - os: 'ubuntu' - - env: - PYTHON: ${{ matrix.python }} - OS: ${{ matrix.os }} - - runs-on: ${{ matrix.os }}-latest - - services: - redis: - image: redis:${{ matrix.redis }} - ports: - - 6379:6379 - options: --entrypoint redis-server - - steps: - - uses: actions/checkout@v4 - - - name: set up python - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python }} - - - run: pip install -r requirements/testing.txt -r requirements/pyproject.txt - - - run: make test - - - run: coverage xml - - - uses: codecov/codecov-action@v4 - with: - file: ./coverage.xml - env_vars: PYTHON,OS - - check: - if: always() - needs: [lint, docs, test] - runs-on: ubuntu-latest - - steps: - - name: Decide whether the needed jobs succeeded or failed - uses: re-actors/alls-green@release/v1 - id: all-green - with: - jobs: ${{ toJSON(needs) }} - - release: - name: Release - needs: [check] - if: "success() && startsWith(github.ref, 'refs/tags/')" - runs-on: ubuntu-latest - environment: release - - permissions: - id-token: write - - steps: - - uses: actions/checkout@v4 - - - name: get docs - uses: actions/download-artifact@v4 - with: - name: docs - path: docs/_build/ - - - name: set up python - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - - name: install - run: pip install -U build - - - name: check version - id: check-version - uses: samuelcolvin/check-python-version@v3.2 - with: - version_file_path: 'arq/version.py' - - - name: build - run: python -m build - - - name: Upload package to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - - - name: publish docs - if: '!fromJSON(steps.check-version.outputs.IS_PRERELEASE)' - run: make publish-docs - env: - NETLIFY: ${{ secrets.netlify_token }} + continuous-integration: + uses: adjust/githubWorkflows/.github/workflows/automatePackageCI.yml@v6.1.6 + secrets: + SLACK_WEBHOOK_URL: ${{ secrets.AUTOMATE_SLACK_WEBHOOK }} + GITHUB_ORGANIZATION_ACCESS_TOKEN: ${{ secrets.AUTOMATE_GITHUB_ACCESS_TOKEN }} + PYPI_SSH_KEY: ${{ secrets.AUTOMATE_DEPLOY_SSH_KEY }} + ADJUST_PYPI_USERNAME: ${{ secrets.ADJUST_PYPI_USERNAME }} + ADJUST_PYPI_PASSWORD: ${{ secrets.ADJUST_PYPI_PASSWORD }}