version changed to RC0 #7
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: CI | |
on: [workflow_dispatch, push] | |
jobs: | |
mypy_static_analysis: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: airtai/workflows/airt-mypy-check@main # nosemgrep: yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha.third-party-action-not-pinned-to-commit-sha | |
bandit_static_analysis: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: airtai/workflows/airt-bandit-check@main # nosemgrep: yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha.third-party-action-not-pinned-to-commit-sha | |
semgrep_static_analysis: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: airtai/workflows/airt-semgrep-check@main # nosemgrep: yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha.third-party-action-not-pinned-to-commit-sha | |
test: | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu, windows] | |
version: ["3.8", "3.9", "3.10", "3.11"] | |
runs-on: ${{ matrix.os }}-latest | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Configure Pagefile | |
if: matrix.os == 'windows' | |
uses: al-cheb/configure-pagefile-action@v1.2 # nosemgrep: yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha.third-party-action-not-pinned-to-commit-sha | |
with: | |
minimum-size: 8GB | |
maximum-size: 8GB | |
disk-root: "C:" | |
- name: Install quarto | |
uses: quarto-dev/quarto-actions/setup@v2 # nosemgrep: yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha.third-party-action-not-pinned-to-commit-sha | |
- name: Prepare nbdev env | |
uses: fastai/workflows/nbdev-ci@master # nosemgrep: yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha.third-party-action-not-pinned-to-commit-sha | |
with: | |
version: ${{ matrix.version }} | |
skip_test: true | |
- name: List pip deps | |
run: | | |
pip list | |
- name: Install testing deps | |
run: | | |
fastkafka docs install_deps | |
fastkafka testing install_deps | |
- name: Run nbdev tests | |
run: | | |
nbdev_test --timing --do_print --n_workers 1 --file_glob "*_CLI*" # Run CLI tests first one by one because of npm installation clashes with other tests | |
nbdev_test --timing --do_print --skip_file_glob "*_CLI*" | |
- name: Test building docs with nbdev-mkdocs | |
if: matrix.os != 'windows' | |
run: | | |
nbdev_mkdocs docs | |
if [ -f "mkdocs/site/index.html" ]; then | |
echo "docs built successfully." | |
else | |
echo "index page not found in rendered docs." | |
ls -la | |
ls -la mkdocs/site/ | |
exit 1 | |
fi | |
# https://github.com/marketplace/actions/alls-green#why | |
check: # This job does nothing and is only used for the branch protection | |
if: always() | |
needs: | |
- test | |
- mypy_static_analysis | |
- bandit_static_analysis | |
- semgrep_static_analysis | |
runs-on: ubuntu-latest | |
steps: | |
- name: Decide whether the needed jobs succeeded or failed | |
uses: re-actors/alls-green@release/v1 # nosemgrep | |
with: | |
jobs: ${{ toJSON(needs) }} | |