94 lines
3.4 KiB
YAML
94 lines
3.4 KiB
YAML
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
# ***************************************************************************
|
|
# * *
|
|
# * Copyright (c) 2023 0penBrain. *
|
|
# * *
|
|
# * This file is part of FreeCAD. *
|
|
# * *
|
|
# * FreeCAD is free software: you can redistribute it and/or modify it *
|
|
# * under the terms of the GNU Lesser General Public License as *
|
|
# * published by the Free Software Foundation, either version 2.1 of the *
|
|
# * License, or (at your option) any later version. *
|
|
# * *
|
|
# * FreeCAD is distributed in the hope that it will be useful, but *
|
|
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
|
# * Lesser General Public License for more details. *
|
|
# * *
|
|
# * You should have received a copy of the GNU Lesser General Public *
|
|
# * License along with FreeCAD. If not, see *
|
|
# * <https://www.gnu.org/licenses/>. *
|
|
# * *
|
|
# ***************************************************************************
|
|
|
|
# This is the master workflow for CI of FreeCAD.
|
|
# It (only) aims at properly organizing the sub-workflows.
|
|
|
|
name: FreeCAD master CI
|
|
|
|
on:
|
|
workflow_dispatch: ~
|
|
push:
|
|
branches:
|
|
- main
|
|
- releases/**
|
|
pull_request: ~
|
|
merge_group: ~
|
|
|
|
|
|
concurrency:
|
|
group: FC-CI-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
Prepare:
|
|
uses: ./.github/workflows/sub_prepare.yml
|
|
with:
|
|
artifactBasename: Prepare-${{ github.run_id }}
|
|
|
|
Pixi:
|
|
needs: [Prepare]
|
|
uses: ./.github/workflows/sub_buildPixi.yml
|
|
with:
|
|
artifactBasename: Pixi-${{ github.run_id }}
|
|
|
|
Ubuntu:
|
|
needs: [Prepare]
|
|
if: "!startsWith(github.ref, 'refs/heads/backport-')"
|
|
uses: ./.github/workflows/sub_buildUbuntu.yml
|
|
with:
|
|
artifactBasename: Ubuntu-${{ github.run_id }}
|
|
|
|
Windows:
|
|
needs: [Prepare]
|
|
if: "!startsWith(github.ref, 'refs/heads/backport-')"
|
|
uses: ./.github/workflows/sub_buildWindows.yml
|
|
with:
|
|
artifactBasename: Windows-${{ github.run_id }}
|
|
|
|
Lint:
|
|
needs: [Prepare]
|
|
if: "!startsWith(github.ref, 'refs/heads/backport-')"
|
|
uses: ./.github/workflows/sub_lint.yml
|
|
with:
|
|
artifactBasename: Lint-${{ github.run_id }}
|
|
changedFiles: ${{ needs.Prepare.outputs.changedFiles }}
|
|
changedLines: ${{ needs.Prepare.outputs.changedLines }}
|
|
changedCppFiles: ${{ needs.Prepare.outputs.changedCppFiles }}
|
|
changedCppLines: ${{ needs.Prepare.outputs.changedCppLines }}
|
|
changedPythonFiles: ${{ needs.Prepare.outputs.changedPythonFiles }}
|
|
changedPythonLines: ${{ needs.Prepare.outputs.changedPythonLines }}
|
|
|
|
WrapUp:
|
|
needs: [
|
|
Prepare,
|
|
Pixi,
|
|
Ubuntu,
|
|
Windows,
|
|
Lint
|
|
]
|
|
if: always()
|
|
uses: ./.github/workflows/sub_wrapup.yml
|
|
with:
|
|
previousSteps: ${{ toJSON(needs) }}
|