diff --git a/.github/workflows/.nox-session.yml b/.github/workflows/.nox-session.yml new file mode 100644 index 000000000..8f68188cc --- /dev/null +++ b/.github/workflows/.nox-session.yml @@ -0,0 +1,48 @@ +name: Nox Session + +on: + workflow_call: + inputs: + session-name: + required: true + type: string + session-arguments: + required: false + type: string + runs-on-array: + required: false + type: string + default: '["ubuntu-latest"]' + python-version-array: + required: false + type: string + default: '["3.x"]' + job-name: + required: false + type: string + default: python-{0} {1} + +jobs: + nox-session: + name: ${{ format(inputs.job-name, matrix.python-version, matrix.runs-on) }} + strategy: + matrix: + runs-on: ${{fromJson(inputs.runs-on-array)}} + python-version: ${{fromJson(inputs.python-version-array)}} + runs-on: ${{ matrix.runs-on }} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: "14.x" + - name: Install Specific NPM Version + run: npm install -g npm@8.3 + - name: Use Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install Python Dependencies + run: pip install -r requirements/nox-deps.txt + - name: Run Tests + env: { "CI": "true" } + run: nox -s ${{ inputs.session-name }} --stop-on-first-error -- ${{ inputs.session-arguments }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index aca12805a..f6eac70ca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: Test +name: test on: push: @@ -11,75 +11,26 @@ on: - cron: "0 0 * * *" jobs: - test-python-coverage: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - with: - node-version: "14.x" - - name: Install Specific NPM Version - run: npm install -g npm@8.3 - - name: Use Latest Python - uses: actions/setup-python@v2 - with: - python-version: "3.9" - - name: Install Python Dependencies - run: pip install -r requirements/nox-deps.txt - - name: Run Tests - env: { "CI": "true" } - run: nox -s test_python_suite -- --maxfail=3 - test-python-environments: - runs-on: ${{ matrix.os }} - strategy: - matrix: - python-version: ["3.7", "3.8", "3.9", "3.10"] - os: [ubuntu-latest, macos-latest, windows-latest] - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - with: - node-version: "14.x" - - name: Install Specific NPM Version - run: npm install -g npm@8.3 - - name: Use Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install Python Dependencies - run: pip install -r requirements/nox-deps.txt - - name: Run Tests - env: { "CI": "true" } - run: nox -s test_python --stop-on-first-error -- --maxfail=3 --no-cov - test-docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - with: - node-version: "14.x" - - name: Install Specific NPM Version - run: npm install -g npm@8.3 - - name: Use Latest Python - uses: actions/setup-python@v2 - with: - python-version: "3.9" - - name: Install Python Dependencies - run: pip install -r requirements/nox-deps.txt - - name: Run Tests - env: { "CI": "true" } - run: nox -s test_docs - test-javascript: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - with: - node-version: "14.x" - - name: Install Specific NPM Version - run: npm install -g npm@8.3 - - name: Install Python Dependencies - run: pip install -r requirements/nox-deps.txt - - name: Run Tests - env: { "CI": "true" } - run: nox -s test_javascript + python-coverage: + uses: ./.github/workflows/.nox-session.yml + with: + job-name: "python-{0}" + session-name: test_python_suite + session-arguments: --maxfail=3 + python-environments: + uses: ./.github/workflows/.nox-session.yml + with: + session-name: test_python_suite + session-arguments: --maxfail=3 --no-cov + runs-on-array: '["ubuntu-latest", "macos-latest", "windows-latest"]' + python-version-array: '["3.7", "3.8", "3.9", "3.10"]' + docs: + uses: ./.github/workflows/.nox-session.yml + with: + job-name: "python-{0}" + session-name: test_docs + javascript: + uses: ./.github/workflows/.nox-session.yml + with: + job-name: "{1}" + session-name: test_javascript diff --git a/docs/source/_custom_js/package-lock.json b/docs/source/_custom_js/package-lock.json index dd27b5c34..e6bf270c5 100644 --- a/docs/source/_custom_js/package-lock.json +++ b/docs/source/_custom_js/package-lock.json @@ -19,7 +19,7 @@ } }, "../../../src/client/packages/idom-client-react": { - "version": "0.38.1", + "version": "0.39.0", "integrity": "sha512-pIK5eNwFSHKXg7ClpASWFVKyZDYxz59MSFpVaX/OqJFkrJaAxBuhKGXNTMXmuyWOL5Iyvb/ErwwDRxQRzMNkfQ==", "license": "MIT", "dependencies": { diff --git a/requirements/build-docs.txt b/requirements/build-docs.txt index c47d862c0..a0eed26be 100644 --- a/requirements/build-docs.txt +++ b/requirements/build-docs.txt @@ -1,4 +1,4 @@ -sphinx ==4.1.2 +sphinx ==4.2.0 sphinx-autodoc-typehints ==1.7.0 furo ==2021.10.09 setuptools_scm