Skip to content

Commit

Permalink
Merge pull request #144 from datajoint/dev
Browse files Browse the repository at this point in the history
`dev` -> `master`
  • Loading branch information
Synicix authored Apr 1, 2021
2 parents 51943de + 7485419 commit db751f2
Show file tree
Hide file tree
Showing 115 changed files with 9,421 additions and 16,833 deletions.
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pharus
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: 'bug'
assignees: ''

---

## Bug Report

### Description
A clear and concise description of what is the overall operation that is intended to be performed that resulted in an error.

### Reproducibility
Include:
- OS (WIN | MACOS | Linux)
- DataJoint LabBook Version
- MySQL Version
- MySQL Deployment Strategy (local-native | local-docker | remote)
- Minimum number of steps to reliably reproduce the issue
- Complete error stack as a result of evaluating the above steps

### Expected Behavior
A clear and concise description of what you expected to happen.

### Screenshots
If applicable, add screenshots to help explain your problem.

### Additional Research and Context
Add any additional research or context that was conducted in creating this report.

For example:
- Related GitHub issues and PR's either within this repository or in other relevant repositories.
- Specific links to specific lines or a focus within source code.
- Relevant summary of Maintainers development meetings, milestones, projects, etc.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: DataJoint Contribution Guideline
url: https://docs.datajoint.io/python/community/02-Contribute.html
about: Please make sure to review the DataJoint Contribution Guideline
45 changes: 45 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
name: Feature request
about: Suggest an idea for a new feature
title: ''
labels: 'enhancement'
assignees: ''

---

## Feature Request

### Problem
A clear and concise description how this idea has manifested and the context. Elaborate on the need for this feature and/or what could be improved. Ex. I'm always frustrated when [...]

### Requirements
A clear and concise description of the requirements to satisfy the new feature. Detail what you expect from a successful implementation of the feature. Ex. When using this feature, it should [...]

### Justification
Provide the key benefits in making this a supported feature. Ex. Adding support for this feature would ensure [...]

### Alternative Considerations
Do you currently have a work-around for this? Provide any alternative solutions or features you've considered.

### Related Errors
Add any errors as a direct result of not exposing this feature.

Please include steps to reproduce provided errors as follows:
- OS (WIN | MACOS | Linux)
- DataJoint LabBook Version
- MySQL Version
- MySQL Deployment Strategy (local-native | local-docker | remote)
- Minimum number of steps to reliably reproduce the issue
- Complete error stack as a result of evaluating the above steps

### Screenshots
If applicable, add screenshots to help explain your feature.

### Additional Research and Context
Add any additional research or context that was conducted in creating this feature request.

For example:
- Related GitHub issues and PR's either within this repository or in other relevant repositories.
- Specific links to specific lines or a focus within source code.
- Relevant summary of Maintainers development meetings, milestones, projects, etc.
- Any additional supplemental web references or links that would further justify this feature request.
209 changes: 209 additions & 0 deletions .github/workflows/development.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
name: Development
on:
pull_request:
push:
tags:
- '*.*.*'
jobs:
test-changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get changelog entry
id: changelog_reader
uses: guzman-raphael/changelog-reader-action@v5
with:
path: ./CHANGELOG.md
- name: Verify changelog parsing
env:
TAG_NAME: ${{steps.changelog_reader.outputs.version}}
RELEASE_NAME: Release ${{steps.changelog_reader.outputs.version}}
BODY: ${{steps.changelog_reader.outputs.changes}}
PRERELEASE: ${{steps.changelog_reader.outputs.status == 'prereleased'}}
DRAFT: ${{steps.changelog_reader.outputs.status == 'unreleased'}}
run: |
echo "TAG_NAME=${TAG_NAME}"
echo "RELEASE_NAME=${RELEASE_NAME}"
echo "BODY=${BODY}"
echo "PRERELEASE=${PRERELEASE}"
echo "DRAFT=${DRAFT}"
build-docs:
needs: test-changelog
runs-on: ubuntu-latest
env:
DOCKER_CLIENT_TIMEOUT: "120"
COMPOSE_HTTP_TIMEOUT: "120"
steps:
- uses: actions/checkout@v2
- name: Compile docs static artifacts
run: |
export DJ_LABBOOK_VERSION=$(awk 'FNR==3' package.json | \
awk '{split($0,a,":"); print a[2]}' | \
awk -F'"' '{$0=$2}1')
docker-compose -f docker-compose-docs.yaml up --exit-code-from docs-build --build
echo "DJ_LABBOOK_VERSION=${DJ_LABBOOK_VERSION}" >> $GITHUB_ENV
- name: Add docs static artifacts
uses: actions/upload-artifact@v2
with:
name: docs-static-djlabbook-${{env.DJ_LABBOOK_VERSION}}
path: docs/build/html
retention-days: 1
build:
needs: test-changelog
runs-on: ubuntu-latest
env:
DOCKER_CLIENT_TIMEOUT: "120"
COMPOSE_HTTP_TIMEOUT: "120"
steps:
- uses: actions/checkout@v2
- name: Compile static artifacts
run: |
export DJLABBOOK_VERSION=$(cat package.json | grep \"version\" | \
awk -F\" '{print $4}')
export HOST_UID=$(id -u)
mkdir build
docker-compose -f docker-compose-build.yaml up \
--exit-code-from datajoint-labbook --build
echo "DJLABBOOK_VERSION=${DJLABBOOK_VERSION}" >> $GITHUB_ENV
- name: Add static artifacts
uses: actions/upload-artifact@v2
with:
name: static-djlabbook-${{env.DJLABBOOK_VERSION}}
path: build
retention-days: 1
test:
needs: test-changelog
runs-on: ubuntu-latest
strategy:
matrix:
include:
- py_ver: 3.8
distro: alpine
image: djbase
env:
PY_VER: ${{matrix.py_ver}}
DISTRO: ${{matrix.distro}}
IMAGE: ${{matrix.image}}
DOCKER_CLIENT_TIMEOUT: "120"
COMPOSE_HTTP_TIMEOUT: "120"
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Determine package version
run: |
DJLABBOOK_VERSION=$(cat package.json | grep \"version\" | awk -F\" '{print $4}')
echo "DJLABBOOK_VERSION=${DJLABBOOK_VERSION}" >> $GITHUB_ENV
- name: Run primary tests
run: |
export PHARUS_VERSION=$(cat pharus/pharus/version.py | tail -1 | \
awk -F\' '{print $2}')
export HOST_UID=$(id -u)
docker-compose -f docker-compose-dev.yaml run -e CI=true datajoint-labbook \
npm test -- --coverage
publish-release:
if: github.event_name == 'push'
needs:
- build
- build-docs
- test
runs-on: ubuntu-latest
outputs:
release_upload_url: ${{steps.create_gh_release.outputs.upload_url}}
steps:
- uses: actions/checkout@v2
- name: Determine package version
run: |
DJLABBOOK_VERSION=$(cat package.json | grep \"version\" | awk -F\" '{print $4}')
echo "DJLABBOOK_VERSION=${DJLABBOOK_VERSION}" >> $GITHUB_ENV
- name: Get changelog entry
id: changelog_reader
uses: guzman-raphael/changelog-reader-action@v5
with:
path: ./CHANGELOG.md
version: ${{env.DJLABBOOK_VERSION}}
- name: Fetch static artifacts
uses: actions/download-artifact@v2
with:
name: static-djlabbook-${{env.DJLABBOOK_VERSION}}
path: build
- name: Compress static site artifacts
run: zip -r static-djlabbook-${DJLABBOOK_VERSION}.zip build
- name: Create GH release
id: create_gh_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
tag_name: ${{steps.changelog_reader.outputs.version}}
release_name: Release ${{steps.changelog_reader.outputs.version}}
body: ${{steps.changelog_reader.outputs.changes}}
prerelease: ${{steps.changelog_reader.outputs.status == 'prereleased'}}
draft: ${{steps.changelog_reader.outputs.status == 'unreleased'}}
- name: Upload static site to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
upload_url: ${{steps.create_gh_release.outputs.upload_url}}
asset_path: static-djlabbook-${{env.DJLABBOOK_VERSION}}.zip
asset_name: static-djlabbook-${{env.DJLABBOOK_VERSION}}.zip
asset_content_type: application/zip
- name: Upload deploy docker environment
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
upload_url: ${{steps.create_gh_release.outputs.upload_url}}
asset_path: docker-compose-deploy.yaml
asset_name: docker-compose-deploy.yaml
asset_content_type: application/yaml
publish-docs:
if: github.event_name == 'push'
needs: publish-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Determine package version
run: |
export DJLABBOOK_VERSION=$(cat package.json | grep \"version\" | \
awk -F\" '{print $4}')
echo "DJLABBOOK_VERSION=${DJLABBOOK_VERSION}" >> $GITHUB_ENV
- name: Fetch docs static artifacts
uses: actions/download-artifact@v2
with:
name: docs-static-djlabbook-${{env.DJLABBOOK_VERSION}}
path: docs/build/html
- name: Commit documentation changes
run: |
git clone https://github.com/${GITHUB_REPOSITORY}.git \
--branch gh-pages --single-branch gh-pages
rm -R gh-pages/*
cp -r docs/build/html/* gh-pages/
cp .gitignore gh-pages/
touch gh-pages/.nojekyll
cd gh-pages
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add . --all
git commit -m "Update documentation" -a || true
# The above command will fail if no changes were present, so we ignore
# the return code.
- name: Push changes
uses: ad-m/github-push-action@master
with:
branch: gh-pages
directory: gh-pages
github_token: ${{secrets.GITHUB_TOKEN}}
- name: Compress docs static site artifacts
run: zip -r docs-static-djlabbook-${DJLABBOOK_VERSION}.zip docs/build/html
- name: Upload docs static site to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
upload_url: ${{needs.publish-release.outputs.release_upload_url}}
asset_path: "docs-static-djlabbook-${{env.DJLABBOOK_VERSION}}.zip"
asset_name: "docs-static-djlabbook-${{env.DJLABBOOK_VERSION}}.zip"
asset_content_type: application/zip
# fail_on_unmatched_files: true
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# docs
/docs/build
/docs/sphinx/_static/typedocs

# dependencies
/node_modules
Expand All @@ -22,4 +25,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*

.eslintcache
.eslintcache
.env
docker-compose.y*ml
.vscode
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "pharus"]
path = pharus
url = [email protected]:datajoint/pharus.git
branch = master
3 changes: 0 additions & 3 deletions .vscode/settings.json

This file was deleted.

Loading

0 comments on commit db751f2

Please sign in to comment.