Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 17 additions & 133 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,139 +1,23 @@
name: CI
name: Continuous Integration

on:
push:
branches:
- main
tags:
- '*'
pull_request: {}
branches: [main]
pull_request:

permissions:
contents: write
deployments: write
id-token: write

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 }}
ARQ_TEST_REDIS_VERSION: ${{ matrix.redis }}

runs-on: ${{ matrix.os }}-latest

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

steps:
- uses: actions/checkout@v4

- name: set up python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: install
run: pip install -U build

- name: build
run: python -m build

- name: Install SSH key
uses: shimataro/ssh-key-action@v2.7.0
with:
key: ${{ secrets.AUTOMATE_DEPLOY_SSH_KEY }}
known_hosts: |
automate-infra-1.adjust.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDW1dpQo0YbiBaM5bVagST5KN5HlCx0Zo6/tnNTYRQBX
config: |
Host *.adjust.com
User acquired

- name: Upload wheel to PyPI
run: |
scp dist/*.whl automate-infra-1.adjust.com:~/pypi/wheels
continuous-integration:
uses: adjust/githubWorkflows/.github/workflows/automatePackageCI.yml@v11.0.2
with:
python_version: 3.12
secrets:
SLACK_WEBHOOK_URL: ${{ secrets.AUTOMATE_SLACK_WEBHOOK }}
GITHUB_ORGANIZATION_ACCESS_TOKEN: ${{ secrets.AUTOMATE_GITHUB_ACCESS_TOKEN }}
GH_APP_PRIVATE_KEY: ${{ secrets.AUTOMATE_GITHUB_APP_PRIVATE_KEY }}
ADJUST_PYPI_USERNAME: ${{ secrets.ADJUST_PYPI_USERNAME }}
ADJUST_PYPI_PASSWORD: ${{ secrets.ADJUST_PYPI_PASSWORD }}