Merge branch 'dev' into add-arrow-support-in-backend #9151
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: main | |
on: | |
push: | |
branches: | |
- "**" | |
jobs: | |
python-lint: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout github repo (+ download lfs dependencies) | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements-dev.txt | |
- uses: isort/isort-action@master | |
with: | |
sort-paths: antarest, tests | |
requirementsFiles: "requirements-dev.txt" | |
- name: Check with black | |
uses: psf/black@stable | |
with: | |
# Version of Black should match the versions set in `requirements-dev.txt` | |
version: "~=23.7.0" | |
options: --check --diff | |
- name: Check Typing (mypy) | |
#continue-on-error: true | |
run: | | |
mypy --install-types --non-interactive | |
python-test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
max-parallel: 9 | |
matrix: | |
os: [windows-latest, ubuntu-20.04] | |
steps: | |
- name: Checkout github repo (+ download lfs dependencies) | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements-dev.txt | |
- name: Test with pytest | |
run: | | |
pytest --cov antarest --cov-report xml | |
- name: Archive code coverage results | |
if: matrix.os == 'ubuntu-20.04' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: python-code-coverage-report | |
path: coverage.xml | |
npm-setup: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout github repo | |
uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.16.1 | |
- name: Cache node modules | |
uses: actions/cache@v4 | |
with: | |
path: webapp/node_modules | |
key: ${{ runner.os }}-webapp-node-modules-${{ hashFiles('webapp/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-webapp-node-modules- | |
${{ runner.os }}- | |
save-always: true | |
- name: Install dependencies | |
run: npm install | |
working-directory: webapp | |
npm-lint: | |
needs: npm-setup | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout github repo | |
uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.16.1 | |
- name: Restore node modules | |
uses: actions/cache@v4 | |
with: | |
path: webapp/node_modules | |
key: ${{ runner.os }}-webapp-node-modules-${{ hashFiles('webapp/package-lock.json') }} | |
save-always: true | |
- name: Lint | |
run: npm run lint | |
working-directory: webapp | |
npm-test: | |
needs: npm-setup | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout github repo | |
uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.16.1 | |
- name: Restore node modules | |
uses: actions/cache@v4 | |
with: | |
path: webapp/node_modules | |
key: ${{ runner.os }}-webapp-node-modules-${{ hashFiles('webapp/package-lock.json') }} | |
save-always: true | |
- name: Test | |
run: npm run test | |
working-directory: webapp | |
npm-build: | |
needs: npm-setup | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout github repo | |
uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.16.1 | |
- name: Restore node modules | |
uses: actions/cache@v4 | |
with: | |
path: webapp/node_modules | |
key: ${{ runner.os }}-webapp-node-modules-${{ hashFiles('webapp/package-lock.json') }} | |
save-always: true | |
- name: Build | |
run: npm run build | |
working-directory: webapp | |
env: | |
NODE_OPTIONS: --max-old-space-size=8192 | |
DISABLE_ESLINT_PLUGIN: true | |
sonarcloud: | |
runs-on: ubuntu-20.04 | |
needs: [python-test, npm-test] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download python coverage report | |
uses: actions/download-artifact@v4 | |
with: | |
name: python-code-coverage-report | |
- name: SonarCloud Scan | |
uses: sonarsource/sonarcloud-github-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |