Skip to content
Merged
Show file tree
Hide file tree
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
41 changes: 41 additions & 0 deletions .github/workflows/ci_cd_main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: main
on:
push:
branches:
- main

env:
MAIN_PYTHON_VERSION: '3.10'
DOCUMENTATION_CNAME: 'multi-touch-cockpit.examples.scade.docs.pyansys.com'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:

doc-build:
name: "Build documentation"
runs-on: ubuntu-latest
timeout-minutes: 30
needs: doc-style
steps:
- uses: ansys/actions/doc-build@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
skip-install: true
use-python-cache: false
dependencies: "texlive-fonts-extra qpdf"

doc-deploy-dev:
name: "Deploy development documentation"
runs-on: ubuntu-latest
needs: doc-build
steps:
- uses: ansys/actions/doc-deploy-dev@v10
with:
doc-artifact-name: 'documentation-html'
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}
106 changes: 106 additions & 0 deletions .github/workflows/ci_cd_night.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: night
on:
workflow_dispatch:
schedule:
# Everyday at 00:00 UTC
- cron: '0 0 * * *'

env:
MAIN_PYTHON_VERSION: '3.10'
DOCUMENTATION_CNAME: 'multi-touch-cockpit.examples.scade.docs.pyansys.com'
LIBRARY_NAME: 'ansys-scade-examples-multi-touch-cockpit'
ARTIFACT_NAME: 'MultitouchCockpitStandaloneExecutable'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:

doc-build:
name: "Build documentation"
runs-on: ubuntu-latest
timeout-minutes: 30
needs: doc-style
steps:
- uses: ansys/actions/doc-build@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
skip-install: true
use-python-cache: false
dependencies: "texlive-fonts-extra qpdf"
check-links: false

rules-checker:
name: "Rules Checker"
runs-on: [self-hosted, 'SCADE']
strategy:
matrix:
os: [windows-latest]
scade-version: ['24.2']
fail-fast: false
needs: [code-style]
steps:
- name: "Install Git and clone project"
uses: actions/checkout@v4

- name: "Get SCADE installation directory"
uses: ansys/scade-actions/get-scade-dir@v2
id: get-scade-dir
with:
scade-version: "24.2"

- name: "Check Rules"
uses: ansys/scade-actions/[email protected]
with:
scade-dir: ${{ steps.get-scade-dir.outputs.scade-directory }}
project: 'model/scade-suite/GlassCockpit.etp'
configuration: 'RulesChecker'

standalone-executable:
name: "Standalone Executable"
runs-on: [self-hosted, 'SCADE']
strategy:
matrix:
os: [windows-latest]
scade-version: ['24.2']
fail-fast: false
needs: [rules-checker]
steps:
- name: "Install Git and clone project"
uses: actions/checkout@v4

- name: "Get SCADE installation directory"
uses: ansys/scade-actions/get-scade-dir@v2
id: get-scade-dir
with:
scade-version: "24.2"

- name: "Generate Standalone"
uses: ansys/scade-actions/suite-code@v2
with:
scade-dir: ${{ steps.get-scade-dir.outputs.scade-directory }}
project: 'model/scade-suite/GlassCockpit.etp'
configuration: 'Standalone'
build: true

- name: "Upload folder to artifacts"
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
path: ./model/scade-suite/Standalone/standalone
retention-days: 7
if-no-files-found: error

doc-deploy-dev:
name: "Deploy development documentation"
runs-on: ubuntu-latest
needs: [standalone-executable, doc-build]
steps:
- uses: ansys/actions/doc-deploy-dev@v10
with:
doc-artifact-name: 'documentation-html'
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}
122 changes: 122 additions & 0 deletions .github/workflows/ci_cd_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: pull-request
on:
pull_request:

env:
MAIN_PYTHON_VERSION: '3.10'
DOCUMENTATION_CNAME: 'multi-touch-cockpit.examples.scade.docs.pyansys.com'
LIBRARY_NAME: 'ansys-scade-examples-multi-touch-cockpit'
ARTIFACT_NAME: 'MultitouchCockpitStandaloneExecutable'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:

label-syncer:
name: Syncer
runs-on: ubuntu-latest
steps:

- uses: actions/checkout@v4
- uses: micnncim/action-label-syncer@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: "Label pull-request"
uses: actions/[email protected]
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

code-style:
name: "Code style"
runs-on: ubuntu-latest
steps:
- uses: ansys/actions/code-style@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
use-python-cache: false

doc-style:
name: "Documentation style"
runs-on: ubuntu-latest
steps:
- uses: ansys/actions/doc-style@v10
with:
token: ${{ secrets.GITHUB_TOKEN }}

doc-build:
name: "Build documentation"
runs-on: ubuntu-latest
timeout-minutes: 30
needs: doc-style
steps:
- uses: ansys/actions/doc-build@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
skip-install: true
use-python-cache: false
dependencies: "texlive-fonts-extra qpdf"
check-links: false

rules-checker:
name: "Rules Checker"
runs-on: [self-hosted, 'SCADE']
strategy:
matrix:
os: [windows-latest]
scade-version: ['24.2']
fail-fast: false
needs: [code-style]
steps:
- name: "Install Git and clone project"
uses: actions/checkout@v4

- name: "Get SCADE installation directory"
uses: ansys/scade-actions/get-scade-dir@v2
id: get-scade-dir
with:
scade-version: "24.2"

- name: "Check Rules"
uses: ansys/scade-actions/[email protected]
with:
scade-dir: ${{ steps.get-scade-dir.outputs.scade-directory }}
project: 'model/scade-suite/GlassCockpit.etp'
configuration: 'RulesChecker'

standalone-executable:
name: "Standalone Executable"
runs-on: [self-hosted, 'SCADE']
strategy:
matrix:
os: [windows-latest]
scade-version: ['24.2']
fail-fast: false
needs: [rules-checker]
steps:
- name: "Install Git and clone project"
uses: actions/checkout@v4

- name: "Get SCADE installation directory"
uses: ansys/scade-actions/get-scade-dir@v2
id: get-scade-dir
with:
scade-version: "24.2"

- name: "Generate Standalone"
uses: ansys/scade-actions/suite-code@v2
with:
scade-dir: ${{ steps.get-scade-dir.outputs.scade-directory }}
project: 'model/scade-suite/GlassCockpit.etp'
configuration: 'Standalone'
build: true

- name: "Upload folder to artifacts"
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
path: ./model/scade-suite/Standalone/standalone
retention-days: 7
if-no-files-found: error
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
name: CI
name: release
on:
pull_request:
push:
tags:
- "*"
branches:
- main
workflow_dispatch:
- "v*.*.*"

env:
MAIN_PYTHON_VERSION: '3.10'
Expand All @@ -24,7 +20,7 @@ jobs:
name: "Code style"
runs-on: ubuntu-latest
steps:
- uses: ansys/actions/code-style@v8
- uses: ansys/actions/code-style@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
use-python-cache: false
Expand All @@ -33,7 +29,7 @@ jobs:
name: "Documentation style"
runs-on: ubuntu-latest
steps:
- uses: ansys/actions/doc-style@v8
- uses: ansys/actions/doc-style@v10
with:
token: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -43,7 +39,7 @@ jobs:
timeout-minutes: 30
needs: doc-style
steps:
- uses: ansys/actions/doc-build@v8
- uses: ansys/actions/doc-build@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
skip-install: true
Expand Down Expand Up @@ -112,12 +108,10 @@ jobs:
retention-days: 7
if-no-files-found: error


release:
name: "Release project"
runs-on: ubuntu-latest
needs: [standalone-executable, doc-build]
if: github.event_name == 'push' && contains(github.ref, 'refs/tags')
steps:

- name: "Download HTML documentation"
Expand Down Expand Up @@ -169,32 +163,14 @@ jobs:
documentation-pdf.zip
${{ env.ARTIFACT_NAME }}.zip

doc-deploy-dev:
name: "Deploy development documentation"
# Deploy development only when merging or pushing to the 'main' branch
runs-on: ubuntu-latest
needs: [standalone-executable, doc-build]
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- uses: ansys/actions/doc-deploy-dev@v8
with:
doc-artifact-name: 'documentation-html'
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}

doc-deploy-stable:
name: "Deploy stable documentation"
# Deploy release documentation when creating a new tag
runs-on: ubuntu-latest
needs: [release]
if: github.event_name == 'push' && contains(github.ref, 'refs/tags')
steps:
- uses: ansys/actions/doc-deploy-stable@v8
- uses: ansys/actions/doc-deploy-stable@v10
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}

Loading