Skip to content

Commit bb23b8a

Browse files
authored
Merge pull request #420 from askomics/dev
Release 4.5.0
2 parents 399eb77 + f36a977 commit bb23b8a

78 files changed

Lines changed: 7911 additions & 3858 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Publish Flaskomics Docker image to github
2+
3+
on:
4+
push:
5+
branches:
6+
- 'master'
7+
- 'dev'
8+
tags:
9+
- '*.*.*'
10+
11+
env:
12+
REGISTRY: ghcr.io
13+
IMAGE_NAME: celery-flaskomics
14+
15+
jobs:
16+
build-and-push-image:
17+
if: github.repository == 'askomics/flaskomics'
18+
runs-on: ubuntu-latest
19+
permissions:
20+
contents: read
21+
packages: write
22+
23+
steps:
24+
-
25+
name: Checkout repository
26+
uses: actions/checkout@v3
27+
28+
-
29+
name: Login to registry
30+
uses: docker/login-action@v1
31+
with:
32+
registry: ${{ env.REGISTRY }}
33+
username: ${{ github.actor }}
34+
password: ${{ secrets.GITHUB_TOKEN }}
35+
36+
-
37+
name: Docker meta
38+
id: meta
39+
uses: docker/metadata-action@v3
40+
with:
41+
# list of Docker images to use as base name for tags
42+
images: ${{ env.REGISTRY }}/askomics/${{ env.IMAGE_NAME }}
43+
# generate Docker tags based on the following events/attributes
44+
tags: |
45+
type=ref,event=branch
46+
type=ref,event=pr
47+
type=semver,pattern={{version}}
48+
type=semver,pattern={{major}}.{{minor}}
49+
type=semver,pattern={{major}}
50+
51+
-
52+
name: Set up QEMU
53+
uses: docker/setup-qemu-action@v1
54+
55+
-
56+
name: Set up Docker Buildx
57+
uses: docker/setup-buildx-action@v1
58+
59+
-
60+
name: Build and push
61+
uses: docker/build-push-action@v2
62+
with:
63+
context: .
64+
file: ./docker/DockerfileCelery
65+
push: true
66+
tags: ${{ steps.meta.outputs.tags }}
67+
labels: ${{ steps.meta.outputs.labels }}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Publish Flaskomics Docker image to github
2+
3+
on:
4+
push:
5+
branches:
6+
- 'master'
7+
- 'dev'
8+
tags:
9+
- '*.*.*'
10+
11+
env:
12+
REGISTRY: ghcr.io
13+
IMAGE_NAME: flaskomics
14+
15+
jobs:
16+
build-and-push-image:
17+
if: github.repository == 'askomics/flaskomics'
18+
runs-on: ubuntu-latest
19+
permissions:
20+
contents: read
21+
packages: write
22+
23+
steps:
24+
-
25+
name: Checkout repository
26+
uses: actions/checkout@v3
27+
28+
-
29+
name: Login to registry
30+
uses: docker/login-action@v1
31+
with:
32+
registry: ${{ env.REGISTRY }}
33+
username: ${{ github.actor }}
34+
password: ${{ secrets.GITHUB_TOKEN }}
35+
36+
-
37+
name: Docker meta
38+
id: meta
39+
uses: docker/metadata-action@v3
40+
with:
41+
# list of Docker images to use as base name for tags
42+
images: ${{ env.REGISTRY }}/askomics/${{ env.IMAGE_NAME }}
43+
# generate Docker tags based on the following events/attributes
44+
tags: |
45+
type=ref,event=branch
46+
type=ref,event=pr
47+
type=semver,pattern={{version}}
48+
type=semver,pattern={{major}}.{{minor}}
49+
type=semver,pattern={{major}}
50+
51+
-
52+
name: Set up QEMU
53+
uses: docker/setup-qemu-action@v1
54+
55+
-
56+
name: Set up Docker Buildx
57+
uses: docker/setup-buildx-action@v1
58+
59+
-
60+
name: Build and push
61+
uses: docker/build-push-action@v2
62+
with:
63+
context: .
64+
file: ./docker/Dockerfile
65+
push: true
66+
tags: ${{ steps.meta.outputs.tags }}
67+
labels: ${{ steps.meta.outputs.labels }}

.github/workflows/lint_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
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"
5858
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"
5959
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
60-
galaxy-wait -g http://localhost:8081 --timeout 300
60+
galaxy-wait -g http://localhost:8081 --timeout 900
6161
echo "Galaxy is online, waiting a bit more for admin user creation"
6262
sleep 1m
6363
- name: Run tests

CHANGELOG.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,65 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
This changelog was started for release 4.2.0.
99

10+
## [4.5.0] - 2023-10-20
11+
12+
### **Deprecation warning**
13+
14+
- Due to a change in the way *strands* are integrated for FALDO entities, you will need to re-integrate them.
15+
- '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.
16+
17+
18+
### Added
19+
20+
- Added 'anonymous_query' and 'anonymous_query_cleanup' variables
21+
- These enable 'anonymous query' mode, allowing anonymous users to send 'full queries'. See documentation
22+
- Added 'overview' button in the query page. This button will show all 'selected' attributes, and allow users to quickly select the related entity.
23+
- Added 'Abstraction' tab on the navbar. This will print the whole abstraction as a 2d/3d graph.
24+
- Added 'distance' notion, using attribute link. This allows user to filter a value based on another value, with an optional modifier.
25+
- Added 'custom distance' option for faldo relation (instead of just 'included_in' and 'overlap_with')
26+
- Store 'version' value when storing results. Not used for now, but might be used in deprecation warnings later
27+
- Removed some lines from coverage computation
28+
- 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)
29+
- Basic support for 'skos:broader' and 'skos:narrower' for ontologies.
30+
31+
### Fixed
32+
33+
- Fixed new linting
34+
- Fixed logs for production setup
35+
- Fixed profile update & password reset tab in user profile page
36+
- Fixed Gff Faldo integration (was only integrating the last selected entity)
37+
- Fixed an issue when using filters and an 'UNION' node
38+
- Fixed an issue when launching a query with a 'linked' attribute toggled but unselected
39+
- Fixed missing includeIn and includeInReference in bed files
40+
- Fixed 'overlap_with' faldo query
41+
42+
### Changed
43+
44+
- Added contact_message config option, displayed in a new 'Contact' page
45+
- Added front_message config option, displayed on the front page
46+
- Now print reset link into logs if there are no mailer configured
47+
- Fixed markupsafe to 2.0.1
48+
- Increased Galaxy timeout for tests
49+
- Fix documentation build
50+
- Force all 'user queries'(ask/sparql interfaces) to go to the unauthenticated endpoint, to increase security (no write permissions)
51+
- Force all queries to use 'POST' instead of 'GET' to avoid max length issues
52+
- Changed the way 'strands' are integrated, to quicken FALDO queries. (Require re-integrating the data)
53+
- 'Same strand' queries will now match 'BothStrand' with a forward or reverse strand
54+
- Use '+', '-' and '.' for strand values in CSV instead of raw value (for homogenization)
55+
- Now allows 'infinite' recursive blocks (ie, a Minus block inside a Union block, or the opposite)
56+
- Overhaul faldo relation: add 'direct shortcut' triples between entities and values, to avoid using slow property paths when using faldo queries
57+
58+
### Security
59+
60+
- Bump markdown-captions from 2 to 2.1.2
61+
- Bump http-cache-semantics from 4.1.0 to 4.1.1
62+
- Bump minimatch from 3.0.4 to 3.1.2
63+
- Bump json5 from 1.0.1 to 1.0.2
64+
- Bump qs from 6.10.1 to 6.10.3
65+
- Bump decode-uri-component from 0.2.0 to 0.2.2
66+
- Bump loader-utils from 1.4.0 to 1.4.2
67+
68+
1069
## [4.4.0] - 2022-07-01
1170

1271
### Fixed

Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,18 @@ serve-celery: check-venv build-config create-user
114114
@echo 'Serving Celery...'
115115
. $(ACTIVATE)
116116
ifeq ($(MODE), dev)
117-
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
117+
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
118118
else
119119
FLASK_ENV=production FLASK_APP=app celery -A askomics.tasks.celery worker -Q default -c $(NTASKS) -n default -l info
120120
endif
121121

122+
serve-celery-beat: check-venv build-config create-user
123+
@echo 'Starting Celerybeat'
124+
. $(ACTIVATE)
125+
ifeq ($(MODE), prod)
126+
FLASK_ENV=production FLASK_APP=app celery -A askomics.tasks.celery beat -l info
127+
endif
128+
122129
check-venv:
123130
test -s $(ACTIVATE) || { echo "$(ACTIVATE) not found. Run make install first"; exit 1; }
124131

Pipfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ tld = "*"
2929
argh = "*"
3030
python-ldap = "*"
3131
python-dateutil = "*"
32+
markupsafe = "==2.0.1"
3233

3334
[dev-packages]
3435
pytest = "*"

0 commit comments

Comments
 (0)