Skip to content

Commit

Permalink
Merge pull request #420 from askomics/dev
Browse files Browse the repository at this point in the history
Release 4.5.0
  • Loading branch information
mboudet committed Oct 20, 2023
2 parents 399eb77 + f36a977 commit bb23b8a
Show file tree
Hide file tree
Showing 78 changed files with 7,911 additions and 3,858 deletions.
67 changes: 67 additions & 0 deletions .github/workflows/github-publish-celery-flaskomics.yml
@@ -0,0 +1,67 @@
name: Publish Flaskomics Docker image to github

on:
push:
branches:
- 'master'
- 'dev'
tags:
- '*.*.*'

env:
REGISTRY: ghcr.io
IMAGE_NAME: celery-flaskomics

jobs:
build-and-push-image:
if: github.repository == 'askomics/flaskomics'
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
-
name: Checkout repository
uses: actions/checkout@v3

-
name: Login to registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

-
name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
# list of Docker images to use as base name for tags
images: ${{ env.REGISTRY }}/askomics/${{ env.IMAGE_NAME }}
# generate Docker tags based on the following events/attributes
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1

-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

-
name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: ./docker/DockerfileCelery
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
67 changes: 67 additions & 0 deletions .github/workflows/github-publish-flaskomics.yml
@@ -0,0 +1,67 @@
name: Publish Flaskomics Docker image to github

on:
push:
branches:
- 'master'
- 'dev'
tags:
- '*.*.*'

env:
REGISTRY: ghcr.io
IMAGE_NAME: flaskomics

jobs:
build-and-push-image:
if: github.repository == 'askomics/flaskomics'
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
-
name: Checkout repository
uses: actions/checkout@v3

-
name: Login to registry
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

-
name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
# list of Docker images to use as base name for tags
images: ${{ env.REGISTRY }}/askomics/${{ env.IMAGE_NAME }}
# generate Docker tags based on the following events/attributes
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1

-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

-
name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: ./docker/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
2 changes: 1 addition & 1 deletion .github/workflows/lint_test.yml
Expand Up @@ -57,7 +57,7 @@ jobs:
docker run -d --name corese -p 8082:8080 -t xgaia/corese:latest /bin/sh -c "netstat -nr | grep '^0\.0\.0\.0' | grep -oE '((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])' | grep -v '^0\.0\.0\.0' | sed 's/$/ askomics-host/' >> /etc/hosts && /corese/start.sh"
docker run -d --name isql-api -p 5051:5050 -e VIRTUOSO_HOST=askomics-host -e VIRTUOSO_ISQL_PORT=1112 -t xgaia/isql-api:2.1.1 /bin/sh -c "netstat -nr | grep '^0\.0\.0\.0' | grep -oE '((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])' | grep -v '^0\.0\.0\.0' | sed 's/$/ askomics-host/' >> /etc/hosts && sh /isqlapi/docker-run.sh"
docker run -d --name ldap -p 8389:389 -e ORGANISATION_NAME=AskOmics -e SUFFIX='dc=askomics,dc=org' -e ROOT_USER=admin -e ROOT_PW_CLEAR=admin -e FIRST_USER=true -e USER_UID=jwick -e USER_GIVEN_NAME=John -e USER_SURNAME=Wick -e USER_EMAIL=john.wick@askomics.org -e USER_PW_CLEAR=jwick -t xgaia/simple-ldap:latest
galaxy-wait -g http://localhost:8081 --timeout 300
galaxy-wait -g http://localhost:8081 --timeout 900
echo "Galaxy is online, waiting a bit more for admin user creation"
sleep 1m
- name: Run tests
Expand Down
59 changes: 59 additions & 0 deletions CHANGELOG.md
Expand Up @@ -7,6 +7,65 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

This changelog was started for release 4.2.0.

## [4.5.0] - 2023-10-20

### **Deprecation warning**

- Due to a change in the way *strands* are integrated for FALDO entities, you will need to re-integrate them.
- 'Results' from older version of Askomics using 'Minus' or 'Union' blocks will use 'legacy' mode. (Meaning, they will not have recursive block support). To enable recursive block support, please recreate the query from scratch, or manually delete the blocks and re-create them.


### Added

- Added 'anonymous_query' and 'anonymous_query_cleanup' variables
- These enable 'anonymous query' mode, allowing anonymous users to send 'full queries'. See documentation
- Added 'overview' button in the query page. This button will show all 'selected' attributes, and allow users to quickly select the related entity.
- Added 'Abstraction' tab on the navbar. This will print the whole abstraction as a 2d/3d graph.
- Added 'distance' notion, using attribute link. This allows user to filter a value based on another value, with an optional modifier.
- Added 'custom distance' option for faldo relation (instead of just 'included_in' and 'overlap_with')
- Store 'version' value when storing results. Not used for now, but might be used in deprecation warnings later
- Removed some lines from coverage computation
- Added 'indirect relations': Two entities will be linked on the graph, without a direct relation between them (same as faldo relations). This is intended to be used with 'linked attributes' (ex: get all entities B where B.color is the same as A.color, without a direct relation between A and B)
- Basic support for 'skos:broader' and 'skos:narrower' for ontologies.

### Fixed

- Fixed new linting
- Fixed logs for production setup
- Fixed profile update & password reset tab in user profile page
- Fixed Gff Faldo integration (was only integrating the last selected entity)
- Fixed an issue when using filters and an 'UNION' node
- Fixed an issue when launching a query with a 'linked' attribute toggled but unselected
- Fixed missing includeIn and includeInReference in bed files
- Fixed 'overlap_with' faldo query

### Changed

- Added contact_message config option, displayed in a new 'Contact' page
- Added front_message config option, displayed on the front page
- Now print reset link into logs if there are no mailer configured
- Fixed markupsafe to 2.0.1
- Increased Galaxy timeout for tests
- Fix documentation build
- Force all 'user queries'(ask/sparql interfaces) to go to the unauthenticated endpoint, to increase security (no write permissions)
- Force all queries to use 'POST' instead of 'GET' to avoid max length issues
- Changed the way 'strands' are integrated, to quicken FALDO queries. (Require re-integrating the data)
- 'Same strand' queries will now match 'BothStrand' with a forward or reverse strand
- Use '+', '-' and '.' for strand values in CSV instead of raw value (for homogenization)
- Now allows 'infinite' recursive blocks (ie, a Minus block inside a Union block, or the opposite)
- Overhaul faldo relation: add 'direct shortcut' triples between entities and values, to avoid using slow property paths when using faldo queries

### Security

- Bump markdown-captions from 2 to 2.1.2
- Bump http-cache-semantics from 4.1.0 to 4.1.1
- Bump minimatch from 3.0.4 to 3.1.2
- Bump json5 from 1.0.1 to 1.0.2
- Bump qs from 6.10.1 to 6.10.3
- Bump decode-uri-component from 0.2.0 to 0.2.2
- Bump loader-utils from 1.4.0 to 1.4.2


## [4.4.0] - 2022-07-01

### Fixed
Expand Down
9 changes: 8 additions & 1 deletion Makefile
Expand Up @@ -114,11 +114,18 @@ serve-celery: check-venv build-config create-user
@echo 'Serving Celery...'
. $(ACTIVATE)
ifeq ($(MODE), dev)
FLASK_ENV=development FLASK_APP=app watchmedo auto-restart -d $(BASEDIR)/askomics --recursive -p '*.py' --ignore-patterns='*.pyc' -- celery -A askomics.tasks.celery worker -Q default -c $(NTASKS) -n default -l info
FLASK_ENV=development FLASK_APP=app watchmedo auto-restart -d $(BASEDIR)/askomics --recursive -p '*.py' --ignore-patterns='*.pyc' -- celery -A askomics.tasks.celery worker -Q default -c $(NTASKS) -n default -l info -B
else
FLASK_ENV=production FLASK_APP=app celery -A askomics.tasks.celery worker -Q default -c $(NTASKS) -n default -l info
endif

serve-celery-beat: check-venv build-config create-user
@echo 'Starting Celerybeat'
. $(ACTIVATE)
ifeq ($(MODE), prod)
FLASK_ENV=production FLASK_APP=app celery -A askomics.tasks.celery beat -l info
endif

check-venv:
test -s $(ACTIVATE) || { echo "$(ACTIVATE) not found. Run make install first"; exit 1; }

Expand Down
1 change: 1 addition & 0 deletions Pipfile
Expand Up @@ -29,6 +29,7 @@ tld = "*"
argh = "*"
python-ldap = "*"
python-dateutil = "*"
markupsafe = "==2.0.1"

[dev-packages]
pytest = "*"
Expand Down

0 comments on commit bb23b8a

Please sign in to comment.