Skip to content

Update imjoy-rpc-v2.md #376

Update imjoy-rpc-v2.md

Update imjoy-rpc-v2.md #376

Workflow file for this run

name: Release
on:
push:
branches:
- main
- master
jobs:
check:
name: Check versions
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/[email protected]
- name: Get Python version
id: python-version
run: |
echo "::set-output name=version::$(cat python/imjoy_rpc/VERSION | jq -r '.version')"
- name: Get Javascript version
id: js-version
run: |
echo "::set-output name=version::$(cat javascript/package.json | jq -r '.version')"
- name: Compare versions
run: |
.github/check-versions.sh "${{ steps.python-version.outputs.version }}" "${{ steps.js-version.outputs.version }}"
release-python:
name: Release Python
needs: check
runs-on: ubuntu-latest
defaults:
run:
working-directory: python
steps:
- name: Check out the repository
uses: actions/[email protected]
with:
fetch-depth: 2
- name: Set up Python
uses: actions/[email protected]
with:
python-version: "3.8"
- name: Upgrade pip
run: |
python -m pip install --upgrade pip
pip --version
- name: Install dependencies
run: |
pip install tox tox-gh-actions
pip install -r requirements_pypi.txt
- name: Test with tox
run: tox
- name: Check if there is a parent commit
id: check-parent-commit
run: |
echo "::set-output name=sha::$(git rev-parse --verify --quiet HEAD^)"
- name: Detect new version
id: check-version
if: steps.check-parent-commit.outputs.sha
uses: salsify/[email protected]
with:
create-tag: false
version-command: |
bash -o pipefail -c "cat python/imjoy_rpc/VERSION | jq -r '.version'"
- name: Push tag
id: tag-version
if: steps.check-version.outputs.previous-version != steps.check-version.outputs.current-version
uses: mathieudutour/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
custom_tag: ${{ steps.check-version.outputs.current-version }}
- name: Build package
run: |
python setup.py sdist bdist_wheel
- name: Publish package on PyPI
if: steps.tag-version.outputs.new_tag
uses: pypa/[email protected]
with:
user: __token__
password: "${{ secrets.PYPI_TOKEN }}"
packages_dir: python/dist/
- name: Publish the release notes
uses: release-drafter/[email protected]
with:
publish: "${{ steps.tag-version.outputs.new_tag != '' }}"
tag: "${{ steps.tag-version.outputs.new_tag }}"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
release-js:
name: Release Javascript
needs: release-python
runs-on: ubuntu-latest
defaults:
run:
working-directory: javascript
steps:
- uses: actions/[email protected]
with:
fetch-depth: 2
- name: Check if there is a parent commit
id: check-parent-commit
run: |
echo "::set-output name=sha::$(git rev-parse --verify --quiet HEAD^)"
- name: Detect new version
id: check-version
if: steps.check-parent-commit.outputs.sha
uses: salsify/[email protected]
with:
create-tag: false
version-command: |
bash -o pipefail -c "cat javascript/package.json | jq -r '.version'"
- uses: actions/[email protected]
with:
node-version: 15.5.0
registry-url: "https://registry.npmjs.org"
- run: npm ci
- run: npm run check-format
- run: npm run test
- run: npm run build
- name: Publish package on NPM
if: steps.check-version.outputs.previous-version != steps.check-version.outputs.current-version
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}