Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 0 additions & 35 deletions .github/workflows/build_docs_on_branch.yml

This file was deleted.

13 changes: 0 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,18 +79,6 @@ jobs:
poetry install --all-extras
poetry run mypy docarray

# prep-testbed:
# runs-on: ubuntu-latest
# needs: [lint-ruff, check-black, import-test]
# steps:
# - uses: actions/[email protected]
# - id: set-matrix
# run: |
# sudo apt-get install jq
# export value=$(bash scripts/get-all-test-paths.sh)
# echo "matrix=$value" >> $GITHUB_OUTPUT
# outputs:
# matrix: ${{ steps.set-matrix.outputs.matrix }}

docarray-test:
needs: [lint-ruff, check-black, import-test]
Expand All @@ -99,7 +87,6 @@ jobs:
fail-fast: false
matrix:
python-version: [3.7]
# test-path: ${{fromJson(needs.prep-testbed.outputs.matrix)}}
test-path: [tests/integrations, tests/units, tests/documentation]
steps:
- uses: actions/[email protected]
Expand Down
91 changes: 91 additions & 0 deletions .github/workflows/force-docs-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Manual Docs Build

on:
workflow_dispatch:
inputs:
release_token:
description: 'Your release token'
required: true
triggered_by:
description: 'CD | TAG | MANUAL'
required: false
default: MANUAL
build_old_docs:
description: 'Whether to build old docs (TRUE | FALSE)'
type: string
default: 'FALSE'
package:
description: The name of the repo to build documentation for.
type: string
default: docarray
repo_owner:
description: The owner of the repo to build documentation for. Defaults to 'jina-ai'.
type: string
default: jina-ai
pages_branch:
description: Branch that Github Pages observes
type: string
default: gh-pages
git_config_name:
type: string
default: Jina Dev Bot
git_config_email:
type: string
default: [email protected]

jobs:
token-check:
runs-on: ubuntu-latest
steps:
- name: Check release token
id: token-check
run: |
touch SUCCESS
if: inputs.release_token == env.release_token
env:
release_token: ${{ secrets.DOCARRAY_RELEASE_TOKEN }}
- name: Fail release token
run: |
[[ -f SUCCESS ]]

build-and-push-latest-docs:
needs: token-check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 1
- uses: actions/setup-python@v4
with:
python-version: '3.7'
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
python -m pip install poetry
python -m poetry config virtualenvs.create false && python -m poetry install --no-interaction --no-ansi --all-extras

- name: docs Build
run: |
cd docs
bash makedocs.sh
cd ..
- name: Checkout to GH pages branch (${{ inputs.pages_branch }})
run: |
git fetch origin ${{ inputs.pages_branch }}:${{ inputs.pages_branch }} --depth 1
git checkout -f ${{ inputs.pages_branch }}
git reset --hard HEAD
- name: Moving old doc versions
run: |
cd docs
for i in $(cat _versions.json | jq '.[].version' | tr -d '"'); do if [ -d "$i" ]; then mv "$i" /tmp/gen-html; fi; done
- name: Swap in new docs
run: |
rm -rf ./docs
mv /tmp/gen-html ./docs
- name: Push it up!
run: |
git config --local user.email "${{ inputs.git_config_email }}"
git config --local user.name "${{ inputs.git_config_name }}"
git show --summary
git add ./docs && git commit -m "chore(docs): update docs due to ${{github.event_name}} on ${{github.repository}}"
git push origin ${{ inputs.pages_branch }}
56 changes: 56 additions & 0 deletions .github/workflows/force-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Manual Release

on:
workflow_dispatch:
inputs:
release_token:
description: 'Your release token'
required: true
release_reason:
description: 'Short reason for this manual release'
required: true

jobs:
token-check:
runs-on: ubuntu-latest
steps:
- name: Check release token
id: token-check
run: |
touch SUCCESS
if: inputs.release_token == env.release_token
env:
release_token: ${{ secrets.DOCARRAY_RELEASE_TOKEN }}
- name: Fail release token
run: |
[[ -f SUCCESS ]]

regular-release:
needs: token-check
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
token: ${{ secrets.JINA_DEV_BOT }}
fetch-depth: 100 # means max contribute history is limited to 100 lines
# submodules: true
- uses: actions/setup-python@v4
with:
python-version: 3.7
- run: |
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
npm install git-release-notes
pip install twine wheel
./scripts/release.sh final "${{ github.event.inputs.release_reason }}" "${{github.actor}}"
env:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
JINA_SLACK_WEBHOOK: ${{ secrets.JINA_SLACK_WEBHOOK }}
- if: failure()
run: echo "nothing to release"
- name: bumping master version
uses: ad-m/[email protected]
with:
github_token: ${{ secrets.JINA_DEV_BOT }}
tags: true
branch: ${{ github.ref }}
62 changes: 62 additions & 0 deletions .github/workflows/publish-docarray-org.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Manual Publish DocArray[dot]org

on:
workflow_dispatch:
inputs:
release_token:
description: 'Your release token'
required: true
workflow_call:
secrets:
JINA_DEV_BOT:
required: true

# uncomment this line for testing in PR
# push:

jobs:
token-check:
runs-on: ubuntu-latest
steps:
- name: debug
run: |
echo ${{ github.event_name }} event triggered this action
- name: Check release token
id: token-check
run: |
touch SUCCESS
if: inputs.release_token == env.release_token
env:
release_token: ${{ secrets.DOCARRAY_RELEASE_TOKEN }}
- name: Check trigger event
run: |
touch SUCCESS
if: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
- name: Fail release token
run: |
[[ -f SUCCESS ]]

copy-readme:
needs: token-check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 1
path: docarray
- uses: actions/checkout@v3
with:
fetch-depth: 1
repository: docarray/docarray.github.io
path: docarray.github.io
token: ${{ secrets.JINA_DEV_BOT }}
- name: Check out DocArray page
run: |
cd ${GITHUB_WORKSPACE}/docarray.github.io
cp ${GITHUB_WORKSPACE}/docarray/README.md .
git config --local user.email "Jina Dev Bot"
git config --local user.name "[email protected]"
if [[ `git status --porcelain` ]]; then
git add README.md && git commit -s -m "chore(docs): sync up README from docarray"
git push
fi
48 changes: 48 additions & 0 deletions .github/workflows/tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Release CD

on:
push:
tags:
- "v*" # push to version tags trigger the build

#on:
# push:
# branches-ignore:
# - '**' # temporally disable this action

jobs:
update-doc:
runs-on: ubuntu-latest
steps:
- uses: benc-uk/workflow-dispatch@v1
with:
workflow: Manual Docs Build
token: ${{ secrets.JINA_DEV_BOT }}
inputs: '{ "release_token": "${{ env.release_token }}", "triggered_by": "TAG", "build_old_docs": "TRUE"}'
env:
release_token: ${{ secrets.DOCARRAY_RELEASE_TOKEN }}

create-release:
needs: update-doc
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/[email protected]
with:
ref: 'main'
- uses: actions/setup-python@v4
with:
python-version: 3.7
- run: |
python scripts/get-last-release-note.py
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: ${{ github.ref }}
release_name: 💫 Patch ${{ github.ref }}
body_path: 'tmp.md'
draft: false
prerelease: false
57 changes: 57 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Overview

This project aims to be governed in a transparent, accessible way for the benefit of the community. All participation in this project is open and not bound to corporate affilation. Participants are bound to the project's [Code of Conduct](./.github/CODE_OF_CONDUCT.md).

# Project roles

## Contributor

The contributor role is the starting role for anyone participating in the project and wishing to contribute code.

### Process for becoming a contributor

* Review the [Contribution Guidelines](./CONTRIBUTING.md) to ensure your contribution is inline with the project's coding and styling guidelines.
* Submit your code as a PR with the appropriate DCO signoff
* Have your submission approved by the committer(s) and merged into the codebase.

## Core developers

The core developers role enables the contributor to commit code directly to the repository, but also comes with the responsibility of being a responsible leader in the community.

Currently core developers of DocArray are (in alphabetic order): [Alaeddine Abdessalem](https://github.com/alaeddine-13), [Charlotte Gerhaher](https://github.com/anna-charlotte), [Anne Yang](https://github.com/AnneYang720), [Han Xiao](https://github.com/hanxiao), [Joan Fontanals Martínez](https://github.com/JoanFM), [Johannes Messner](https://github.com/JohannesMessner),[Nan wang](https://github.com/nan-wang),[Sami Jaghouar](https://github.com/samsja).


### Process for becoming a core developer

Contributors can become core developers by beeing nominated by at least one other core developers of DocArray. There will be a vote by the current core developers. While it is expected that most votes will be unanimous, a two-thirds majority of the cast votes is enough.

If you want to become a core developers, reach out to docs.docarray.org.

## TSC members

The Techincal Steering Commite (TSC) members are core developers who have additional responsibilities to ensure the smooth running of the project. TSC members are expected to participate in strategic planning, and approve changes to the governance model. The purpose of the TSC is to ensure a smooth progress from the big-picture perspective.

Currently TSC menbers of DocArray are (in alphabetic order): [Alaeddine Abdessalem](https://github.com/alaeddine-13), [Han Xiao](https://github.com/hanxiao), [Joan Fontanals Martínez](https://github.com/JoanFM), [Johannes Messner](https://github.com/JohannesMessner),[Nan wang](https://github.com/nan-wang),[Sami Jaghouar](https://github.com/samsja).


One of the TSC members is the chairperson of the TSC and should ensure the smooth running of the TSC. They do not have more voting power that other TSC menber.

Currently [JoanFM](https://github.com/JoanFM) is the chairperson of the TSC

### Process for becoming a TSC member

Core developers can become TSC menbers by beeing nominated by at least one TSC member. There will be a vote by the current TSC menbers and the vote need to be unanimous for the nominated person to be accepted as a TSC menber. TSC members who do not actively engage with the TSC duties are expected to resign.

# Release Process

Project releases will occur on a scheduled basis as agreed by the committers.

# Communication

This project, just like all open source, is a global community. In addition to the [Code of Conduct](./.github/CODE_OF_CONDUCT.md), this project will:

* Keep all communication on open channels ( mailing list, forums, chat ).
* Be respectful of time and language differences between community members ( such as scheduling meetings, email/issue responsiveness, etc ).
* Ensure tools are able to be used by community members regardless of their region.

If you have concerns about communication challenges for this project, please contact the committers.
File renamed without changes.
Loading