diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index cc692b20fcf..f847c27d190 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -1,33 +1,32 @@ name: Coverage on: - push: - branches: [ master ] - pull_request: - branches: [ master ] + push: + branches: [master] + pull_request: + branches: [master] jobs: - test: - - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.11" - - name: Install Dependencies - run: | - sudo apt-get update -qq - sudo apt-get install -y libcurl4-openssl-dev libpython3-dev libssl-dev - python -m pip install --upgrade pip - pip install -r requirements.txt - pip install apprise braintree coverage coveralls minio - - name: Run Tests - env: - SECRET_KEY: dummy-key - run: coverage run --omit=*/tests/*,*/migrations/* --source=hc manage.py test - - name: Coveralls - run: coveralls --service=github - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + test: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Install Dependencies + run: | + sudo apt-get update -qq + sudo apt-get install -y libcurl4-openssl-dev libpython3-dev libssl-dev + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install apprise braintree coverage coveralls minio + - name: Run Tests + env: + SECRET_KEY: dummy-key + run: coverage run --omit=*/tests/*,*/migrations/* --source=hc manage.py test + - name: Coveralls + run: coveralls --service=github + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/mypy.yml b/.github/workflows/mypy.yml index 18c1b571706..7c205106989 100644 --- a/.github/workflows/mypy.yml +++ b/.github/workflows/mypy.yml @@ -1,28 +1,28 @@ name: Mypy on: - push: - branches: [ master ] - pull_request: - branches: [ master ] + push: + branches: [master] + pull_request: + branches: [master] jobs: - main: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.11" - - name: Install Dependencies - run: | - sudo apt-get update -qq - sudo apt-get install -y libcurl4-openssl-dev libpython3-dev libssl-dev - python -m pip install --upgrade pip - pip install -r requirements.txt - pip install apprise braintree minio - pip install mypy==1.13.0 django-stubs types-braintree types-pycurl==7.45.2.20240311 types-Markdown types-pygments - touch hc/local_settings.py - - name: Run Mypy - run: mypy --strict hc + main: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Install Dependencies + run: | + sudo apt-get update -qq + sudo apt-get install -y libcurl4-openssl-dev libpython3-dev libssl-dev + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install apprise braintree minio + pip install mypy==1.13.0 django-stubs types-braintree types-pycurl==7.45.2.20240311 types-Markdown types-pygments + touch hc/local_settings.py + - name: Run Mypy + run: mypy --strict hc diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2384d2a21b0..66d89f9b280 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,52 +1,51 @@ name: Tests on: - push: - branches: [ master ] - pull_request: - branches: [ master ] + push: + branches: [master] + pull_request: + branches: [master] jobs: - test: + test: + runs-on: ubuntu-24.04 + strategy: + matrix: + db: [sqlite, postgres, mysql] + python-version: ["3.10", "3.11", "3.12"] + include: + - db: postgres + db_user: runner + db_password: "" + - db: mysql + db_user: root + db_password: root - runs-on: ubuntu-20.04 - strategy: - matrix: - db: [sqlite, postgres, mysql] - python-version: ["3.10", "3.11", "3.12"] - include: - - db: postgres - db_user: runner - db_password: '' - - db: mysql - db_user: root - db_password: root - - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Start MySQL - if: matrix.db == 'mysql' - run: sudo systemctl start mysql.service - - name: Start PostgreSQL - if: matrix.db == 'postgres' - run: | - sudo systemctl start postgresql.service - sudo -u postgres createuser -s runner - - name: Install Dependencies - run: | - sudo apt-get update -qq - sudo apt-get install -y libcurl4-openssl-dev libpython3-dev libssl-dev - python -m pip install --upgrade pip - pip install -r requirements.txt - pip install apprise minio mysqlclient - - name: Run Tests - env: - DB: ${{ matrix.db }} - DB_USER: ${{ matrix.db_user }} - DB_PASSWORD: ${{ matrix.db_password }} - SECRET_KEY: dummy-key - run: python manage.py test + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Start MySQL + if: matrix.db == 'mysql' + run: sudo systemctl start mysql.service + - name: Start PostgreSQL + if: matrix.db == 'postgres' + run: | + sudo systemctl start postgresql.service + sudo -u postgres createuser -s runner + - name: Install Dependencies + run: | + sudo apt-get update -qq + sudo apt-get install -y libcurl4-openssl-dev libpython3-dev libssl-dev + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install apprise minio mysqlclient + - name: Run Tests + env: + DB: ${{ matrix.db }} + DB_USER: ${{ matrix.db_user }} + DB_PASSWORD: ${{ matrix.db_password }} + SECRET_KEY: dummy-key + run: python manage.py test