Skip to content

update: use provided termination #485

update: use provided termination

update: use provided termination #485

Workflow file for this run

name: Continuous Testing and Publication
on: [push]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
run-py-linter:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8.6]
steps:
- name: Checkout this repository
uses: actions/checkout@v4
with:
lfs: true
- name: Checkout actions repository
uses: actions/checkout@v4
with:
repository: Exabyte-io/actions
token: ${{ secrets.BOT_GITHUB_TOKEN }}
path: actions
- name: Run ruff linter
uses: ./actions/py/lint
with:
python-version: ${{ matrix.python-version }}
run-py-tests:
needs: run-py-linter
runs-on: ubuntu-20.04
strategy:
matrix:
python-version:
- 3.8.x
- 3.9.x
- 3.10.x
- 3.11.x
steps:
- name: Checkout this repository
uses: actions/checkout@v4
with:
lfs: true
- name: Checkout actions repository
uses: actions/checkout@v4
with:
repository: Exabyte-io/actions
token: ${{ secrets.BOT_GITHUB_TOKEN }}
path: actions
- name: Run python unit tests
uses: ./actions/py/pytest
with:
python-version: ${{ matrix.python-version }}
unit-test-directory: tests/py/unit
bot-ssh-key: ${{ secrets.BOT_GITHUB_KEY }}
run-js-tests:
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- 14.x
- 20.x
steps:
- name: Checkout this repository
uses: actions/checkout@v4
with:
lfs: true
- name: Checkout actions repository
uses: actions/checkout@v4
with:
repository: Exabyte-io/actions
token: ${{ secrets.BOT_GITHUB_TOKEN }}
path: actions
- name: Run JS validate
uses: ./actions/js/validate
with:
node-version: '14.x'
skip-eslint: 'true'
- name: Run JS tests
uses: ./actions/js/test
with:
node-version: ${{ matrix.node-version }}
publish-js-package:
needs:
- run-js-tests
- run-py-tests
- run-py-linter
runs-on: ubuntu-latest
if: (github.repository != 'Exabyte-io/template-definitions-js-py') && (github.ref_name == 'main')
steps:
- name: Checkout this repository
uses: actions/checkout@v4
- name: Checkout actions repository
uses: actions/checkout@v4
with:
repository: Exabyte-io/actions
token: ${{ secrets.BOT_GITHUB_TOKEN }}
path: actions
- name: Publish JS release
uses: ./actions/js/publish
with:
node-version: 14.x
npm-token: ${{ secrets.NPM_TOKEN }}
github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
verify-tests: 'false'
publish-py-package:
needs:
- run-js-tests
- run-py-tests
- run-py-linter
# Wait for JS publish step to publish the new tag
- publish-js-package
runs-on: ubuntu-latest
if: (github.repository != 'Exabyte-io/template-definitions-js-py') && (github.ref_name == 'main')
steps:
- name: Checkout this repository
uses: actions/checkout@v4
with:
lfs: true
- name: Checkout actions repository
uses: actions/checkout@v4
with:
repository: Exabyte-io/actions
token: ${{ secrets.BOT_GITHUB_TOKEN }}
path: actions
- name: Publish python release
uses: ./actions/py/publish
with:
python-version: 3.8.x
github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
pypi-api-token: ${{ secrets.PYPI_API_TOKEN }}
publish-tag: 'false'