Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5 to 6. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v5...v6) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
103 lines
3 KiB
YAML
103 lines
3 KiB
YAML
name: Server
|
|
|
|
on:
|
|
repository_dispatch:
|
|
types: [frappe-framework-change]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
schedule:
|
|
# Run everday at midnight UTC / 5:30 IST
|
|
- cron: "0 0 * * *"
|
|
|
|
concurrency:
|
|
group: server-${{ github.event_name }}-${{ github.event.number }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
# Do not change this as GITHUB_TOKEN is being used by roulette
|
|
contents: read
|
|
|
|
jobs:
|
|
typecheck:
|
|
name: Types
|
|
uses: ./.github/workflows/_base-type-check.yml
|
|
|
|
checkrun:
|
|
name: Plan Tests
|
|
runs-on: ubuntu-latest
|
|
needs: typecheck
|
|
outputs:
|
|
build: ${{ steps.check-build.outputs.build }}
|
|
run_postgres: ${{ steps.check-build.outputs.run_postgres }}
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@v6
|
|
- name: Check if unit tests should be run
|
|
id: check-build
|
|
run: |
|
|
python "${GITHUB_WORKSPACE}/.github/helper/roulette.py"
|
|
env:
|
|
TYPE: "server"
|
|
PR_NUMBER: ${{ github.event.number }}
|
|
REPO_NAME: ${{ github.repository }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
test:
|
|
name: Tests
|
|
uses: ./.github/workflows/_base-server-tests.yml
|
|
with:
|
|
enable-postgres: ${{ needs.checkrun.outputs.run_postgres == 'true' }} # This enables PostgreSQL to run tests
|
|
enable-sqlite: false # This will test against both MariaDB and SQLite if enabled
|
|
parallel-runs: 2
|
|
enable-coverage: ${{ github.event_name != 'pull_request' }}
|
|
fake-success: ${{ needs.checkrun.outputs.build != 'strawberry' }}
|
|
needs: checkrun
|
|
secrets: inherit
|
|
|
|
migrate:
|
|
name: Migration
|
|
needs: checkrun
|
|
uses: ./.github/workflows/_base-migration.yml
|
|
with:
|
|
db-artifact-url: https://frappe.io/files/v14-frappe.sql.gz
|
|
python-version: '3.14'
|
|
node-version: 24
|
|
fake-success: ${{ needs.checkrun.outputs.build != 'strawberry' }}
|
|
|
|
coverage:
|
|
name: Coverage Wrap Up
|
|
needs: [test, checkrun]
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event_name != 'pull_request' }}
|
|
steps:
|
|
- name: Clone
|
|
uses: actions/checkout@v6
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@v8.0.1
|
|
- name: Upload coverage data
|
|
uses: codecov/codecov-action@v6
|
|
with:
|
|
name: Server
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
fail_ci_if_error: true
|
|
verbose: true
|
|
flags: server
|
|
|
|
dispatch:
|
|
name: Downstream
|
|
runs-on: "ubuntu-latest"
|
|
needs: [test, migrate]
|
|
if: ${{ contains( github.event.pull_request.labels.*.name, 'trigger-downstream-ci') }}
|
|
strategy:
|
|
matrix:
|
|
repo:
|
|
- frappe/erpnext
|
|
- frappe/lending
|
|
- frappe/hrms
|
|
steps:
|
|
- name: Dispatch Downstream CI (if supported)
|
|
uses: peter-evans/repository-dispatch@v4
|
|
with:
|
|
token: ${{ secrets.CI_PAT }}
|
|
repository: ${{ matrix.repo }}
|
|
event-type: frappe-framework-change
|
|
client-payload: '{"frappe_sha": "${{ github.sha }}"}'
|