Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge from master #60

Open
wants to merge 430 commits into
base: introgressearch
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
430 commits
Select commit Hold shift + click to select a range
e1aa8a2
Update build.yml
GuilhemSempere Oct 9, 2023
636877e
Delete .github/workflows/test.yml
GuilhemSempere Oct 9, 2023
dce8be2
Update build.yml
GuilhemSempere Oct 9, 2023
2265dd6
Update build.yml
GuilhemSempere Oct 9, 2023
5ab5aed
Update build.yml
GuilhemSempere Oct 9, 2023
910e883
Delete .github/workflows/manual.yml
GuilhemSempere Oct 9, 2023
0845037
Update build.yml
GuilhemSempere Oct 9, 2023
0cf8fe5
Update build.yml
GuilhemSempere Oct 9, 2023
e56ef7c
Update build.yml
GuilhemSempere Oct 9, 2023
4af3643
Update build.yml
GuilhemSempere Oct 9, 2023
dd2b711
Update build.yml
GuilhemSempere Oct 9, 2023
31215ee
Update build.yml
GuilhemSempere Oct 9, 2023
64d2b5d
Merge branch 'master' into homepage
GuilhemSempere Oct 10, 2023
d43f6a2
Updated FJ-Bytes version
GuilhemSempere Oct 11, 2023
8122be0
Fixed Unit Tests that didn't support assemblies
GuilhemSempere Oct 12, 2023
2300cf4
POM version update
GuilhemSempere Oct 12, 2023
4240a04
Merge branch 'master' of github.com:SouthGreenPlatform/Gigwa2 into st…
aliceboizet Oct 12, 2023
6b15419
fix: summary of instance content in another jsp + empty database ok (…
GaiaYuuki-dev Oct 12, 2023
0efefb9
Made group overlap problem more explicit for Fst calculation
GuilhemSempere Oct 13, 2023
199fd27
Fixed unit-tests (many were out of date)
GuilhemSempere Oct 16, 2023
09622e6
feat: instance-summary-table -> minor changes
GuilhemSempere Oct 16, 2023
e80aa3f
Merge branch 'homepage', fixing a couple of slight issues
GuilhemSempere Oct 16, 2023
c76f29e
Adding means to support unlimited number of individual groups
GuilhemSempere Oct 18, 2023
e4553f5
Removed unused stuff
GuilhemSempere Oct 19, 2023
ce9d011
Fixed copy-individuals-to-clipboard bug
GuilhemSempere Oct 19, 2023
63f6d97
Fixed several issues for supporting unlimited number of groups
GuilhemSempere Oct 19, 2023
06a85df
Made number of groups only depend on declared "groupColors" array
Oct 20, 2023
11d4d2e
feat: multiple graph ok with bugs
GaiaYuuki-dev Oct 20, 2023
bd6dc0b
fix: multi graphe ok
GaiaYuuki-dev Oct 20, 2023
5d7b384
Merge pull request #71 from SouthGreenPlatform/multipleGropus
GuilhemSempere Oct 23, 2023
3e3040e
fix: all ok but process problem
GaiaYuuki-dev Oct 25, 2023
82a915f
Tiny bugfix
GuilhemSempere Oct 25, 2023
644e259
Merge pull request #72 from SouthGreenPlatform/master
GuilhemSempere Oct 30, 2023
eed8a4e
Fix: reset individual list before feeding it
GuilhemSempere Oct 30, 2023
b444a0e
Merge pull request #73 from SouthGreenPlatform/master
GuilhemSempere Oct 30, 2023
cbd72ff
Fix: slight bug in group memorizing when changing project
GuilhemSempere Oct 31, 2023
0fca865
Merge pull request #74 from SouthGreenPlatform/master
GuilhemSempere Oct 31, 2023
713a380
Reduction of the genotype column in the table and addition of known a…
dorian-grst Nov 2, 2023
ff08399
bookmark multigroups working
dorian-grst Nov 2, 2023
a99bc7e
minor change
dorian-grst Nov 6, 2023
3ead1c1
Added --excludeCollection=variants_without_runs to dump scripts
GuilhemSempere Nov 7, 2023
fe7d0db
update known alleles INDEL
dorian-grst Nov 8, 2023
1aad6cd
updating bugged alleles
dorian-grst Nov 8, 2023
6d0d26a
feat: individual's metadata modal's table is now built on server
GaiaYuuki-dev Nov 8, 2023
c134cb9
simplify extract unique allele function
dorian-grst Nov 9, 2023
50139de
minor change
dorian-grst Nov 9, 2023
4c80377
Merge pull request #75 from SouthGreenPlatform/store_runs_list_in_var…
GuilhemSempere Nov 9, 2023
79314ef
Merge pull request #76 from SouthGreenPlatform/bookmarkMultiGroups
GuilhemSempere Nov 9, 2023
0f1470d
POM dependency update
GuilhemSempere Nov 10, 2023
f8dfefc
Implementing gene lookup
GuilhemSempere Nov 14, 2023
32ad9de
feat: bundles files in misc folder + pom.xml update bundle's project …
GaiaYuuki-dev Nov 14, 2023
86d349b
Minor fix
GuilhemSempere Nov 16, 2023
0d8dffa
feat: begin multiple groups
GaiaYuuki-dev Nov 17, 2023
a4156cc
Merge branch 'master' into multipleGroups
GaiaYuuki-dev Nov 17, 2023
19fef1c
fix: multiple groups on progress
GaiaYuuki-dev Nov 17, 2023
e12dd36
Merge pull request #77 from SouthGreenPlatform/master
GuilhemSempere Nov 17, 2023
723cf95
Fixed genotype display in details popup
GuilhemSempere Nov 17, 2023
2c7d8db
Fixed display of individual selection widget for export
GuilhemSempere Nov 17, 2023
5311d46
Made chart queries compatible with multiple groups
GuilhemSempere Nov 17, 2023
15a6133
Introduced VariantQueryWrapper...
GuilhemSempere Nov 17, 2023
70c3b37
feat: multiplegroup continue
GaiaYuuki-dev Nov 20, 2023
e60d24b
Merge branch 'multipleGroups' of https://github.com/SouthGreenPlatfor…
GaiaYuuki-dev Nov 20, 2023
d7c8244
Fixed bug in replicating variant type list into chart window
GuilhemSempere Nov 21, 2023
3c1d108
Fix: found a way to cleanly reset variant IDs' ajaxSelectPicker
GuilhemSempere Nov 21, 2023
376efda
Improved the way we directly focus on selected region when applicable
GuilhemSempere Nov 21, 2023
b203142
fix: multiplegroups ok but maf 50/50 to fix
GaiaYuuki-dev Nov 21, 2023
4a93234
Applied reliable reset of Gene-ajaxSelectPicker when changing project
GuilhemSempere Nov 21, 2023
aa868ea
Removed commented out code
GuilhemSempere Nov 22, 2023
db1312b
Minor fix
GuilhemSempere Nov 22, 2023
d0e48d3
Merge remote-tracking branch 'origin/VariantQueryWrapper' into
GuilhemSempere Nov 23, 2023
cf00061
Merge branch 'multipleGroups' into geneLookup
GuilhemSempere Nov 23, 2023
678b983
Made export and visualization queries support any group number
GuilhemSempere Nov 23, 2023
ba66ff7
Merge pull request #78 from SouthGreenPlatform/multipleGroups
GuilhemSempere Nov 23, 2023
ea8880c
Merge pull request #79 from SouthGreenPlatform/VariantQueryWrapper
GuilhemSempere Nov 23, 2023
e7980b9
Limited number of groups to 2 until we know how to manage discrim flag
GuilhemSempere Nov 23, 2023
ca1a9fc
Merge pull request #80 from SouthGreenPlatform/multipleGroups
GuilhemSempere Nov 23, 2023
a07817f
load query fixed
GaiaYuuki-dev Nov 24, 2023
2550c5f
Merge pull request #82 from SouthGreenPlatform/query
GuilhemSempere Nov 24, 2023
f92d3ab
Minor cleanup
GuilhemSempere Nov 24, 2023
db8b69c
Simplified support for multiple groups
GuilhemSempere Nov 28, 2023
d8d7728
Minor fix
GuilhemSempere Nov 29, 2023
c3eaab6
Group individuals into populations before passing to export procedures
GuilhemSempere Nov 30, 2023
63b4ccb
Conformed to latest role_manager changes
GuilhemSempere Nov 30, 2023
ba9827a
Merge branch 'master' into geneLookup
GuilhemSempere Nov 30, 2023
0db8413
Various UI improvements
GuilhemSempere Dec 5, 2023
a733004
Merge remote-tracking branch 'origin/master' into geneLookup
GuilhemSempere Dec 6, 2023
554b8b2
Fix: Issue in attaching genotype pattern onchange to groups
GuilhemSempere Dec 11, 2023
062cc10
Merge pull request #85 from SouthGreenPlatform/master
GuilhemSempere Dec 11, 2023
60ce0cd
Removed unwanted changes / unused stuff
GuilhemSempere Dec 11, 2023
68ca74b
Merge pull request #86 from SouthGreenPlatform/master
GuilhemSempere Dec 11, 2023
e984537
Re-added accidentally lost geneLookup code
GuilhemSempere Dec 12, 2023
13cef0a
Avoided duplication of project / run removal code
GuilhemSempere Dec 14, 2023
98e6f55
Minor fix
GuilhemSempere Dec 14, 2023
d8f2693
Merge pull request #87 from SouthGreenPlatform/geneLookup
GuilhemSempere Dec 14, 2023
4e8836b
Merge pull request #88 from SouthGreenPlatform/master
GuilhemSempere Dec 15, 2023
e62654e
Implementing discriminate on multiple groups
GuilhemSempere Dec 15, 2023
7059ae4
Minor change
GuilhemSempere Dec 18, 2023
22e41f2
Fixed bookmark reload with multiple discriminate
GuilhemSempere Dec 18, 2023
c0360ce
Merge pull request #89 from SouthGreenPlatform/multipleGroups
GuilhemSempere Dec 18, 2023
753b7d6
Fixed bookmark save & reload for gene-name and variant-id filters
GuilhemSempere Dec 18, 2023
7c7185c
Minor changes
GuilhemSempere Dec 18, 2023
a2dea0d
Reorganized JSP structure to avoid duplicate AppConfig bean declaration
GuilhemSempere Dec 19, 2023
c57b090
Changed POM version
GuilhemSempere Dec 19, 2023
1269290
POM update
GuilhemSempere Dec 19, 2023
b417cd1
Version update
GuilhemSempere Dec 20, 2023
7d58e50
Updated documentation
GuilhemSempere Dec 20, 2023
157ef95
Merge pull request #92 from SouthGreenPlatform/master
GuilhemSempere Dec 20, 2023
8914860
Merge remote-tracking branch 'origin/master' into individualMetadata
GuilhemSempere Dec 21, 2023
2f69eaf
Merge pull request #95 from SouthGreenPlatform/individualMetadata
GuilhemSempere Dec 21, 2023
4c2ecc5
Slight bugfix
GuilhemSempere Dec 21, 2023
e3f6189
Merge pull request #96 from SouthGreenPlatform/master
GuilhemSempere Dec 21, 2023
92328ff
Back to default
GuilhemSempere Dec 22, 2023
b299905
Sorted out filtering individuals by metadata
GuilhemSempere Jan 3, 2024
4bf85aa
Merge pull request #98 from SouthGreenPlatform/master
GuilhemSempere Jan 4, 2024
7056af1
Bundle creation script version update
GuilhemSempere Jan 4, 2024
bc3bb01
Merge pull request #99 from SouthGreenPlatform/bundles
GuilhemSempere Jan 5, 2024
0ba1562
Mentioned customHomepageParagraph property in documentation
GuilhemSempere Jan 5, 2024
ce4b6c5
Solved issues with individuals' selection for IGV display
GuilhemSempere Jan 6, 2024
c08a2a7
Minor fix
GuilhemSempere Jan 10, 2024
e58431e
Fixed 2 bugs in chart interface...
GuilhemSempere Jan 11, 2024
6d97bc6
Last adjustments for 2.7-RELEASE
GuilhemSempere Jan 17, 2024
8b00467
Minor fix
GuilhemSempere Jan 17, 2024
0acf871
Improved metadata load interface
GuilhemSempere Jan 19, 2024
b062ae3
Update build.yml
GuilhemSempere Jan 23, 2024
a0a8298
Update build.yml
GuilhemSempere Jan 23, 2024
eb6ad94
Update build.yml
GuilhemSempere Jan 23, 2024
98c6823
Update build.yml
GuilhemSempere Jan 23, 2024
9d8e618
Update build.yml
GuilhemSempere Jan 23, 2024
fedf854
Update build.yml
GuilhemSempere Jan 23, 2024
b80b5dd
Update build.yml
GuilhemSempere Jan 23, 2024
ba74fd9
Update build.yml
GuilhemSempere Jan 23, 2024
7d7783e
Update build.yml
GuilhemSempere Jan 23, 2024
77bf127
Update build.yml
GuilhemSempere Jan 23, 2024
e300da8
Update build.yml
GuilhemSempere Jan 23, 2024
3161385
Update build.yml
GuilhemSempere Jan 23, 2024
bff05be
Update build.yml
GuilhemSempere Jan 23, 2024
de4e47f
Update build.yml
GuilhemSempere Jan 23, 2024
5239ea4
Update build.yml
GuilhemSempere Jan 23, 2024
f8d2dfa
Update build.yml
GuilhemSempere Jan 23, 2024
9285e80
Update build.yml
GuilhemSempere Jan 23, 2024
a13015d
Update build.yml
GuilhemSempere Jan 23, 2024
b07c729
Update build.yml
GuilhemSempere Jan 23, 2024
fac3d47
Update build.yml
GuilhemSempere Jan 24, 2024
0c52467
Update build.yml
GuilhemSempere Jan 24, 2024
9302c5b
Minor change
GuilhemSempere Jan 24, 2024
8a20ef1
Switched back to mongo:4.2.24 image as 4.2.25 not yet on dockerhub
GuilhemSempere Jan 25, 2024
aaa4210
Update build.yml
GuilhemSempere Jan 25, 2024
b4e5772
Finalized build.yml for 2.7-RELEASE
GuilhemSempere Jan 25, 2024
24fb8d5
Minor fix
GuilhemSempere Jan 25, 2024
33ac791
Added support for SNPCLUST_EDITOR role
GuilhemSempere Feb 13, 2024
a26a9fd
Update web.xml
mrouard Feb 29, 2024
e09a196
Added snpclust logo
GuilhemSempere Mar 5, 2024
3a8c9b1
Set session duration to 2 hours
GuilhemSempere Mar 15, 2024
17ace45
Fixed bug in ignored metadata columns (all after first were shifted)
GuilhemSempere Mar 15, 2024
40f250f
SnpClust link functionality almost finalized
GuilhemSempere Mar 20, 2024
c8b0c37
Update index.jsp
GuilhemSempere Mar 21, 2024
86fbf66
Small bugfix
GuilhemSempere Mar 26, 2024
e8b260f
Now get list of list of level1Roles from moduleManager
GuilhemSempere Mar 26, 2024
204fb27
Merge remote-tracking branch 'origin/snpclust'
GuilhemSempere Mar 26, 2024
898d0a7
Simplified areGroupsOverlapping() implementation
GuilhemSempere Mar 26, 2024
068f450
Gave more flexibility in designing Fst groups
GuilhemSempere Mar 26, 2024
1317b75
Fixed bug in areGroupsOverlapping()
GuilhemSempere Mar 27, 2024
a0718fa
Simplified chart query payload
GuilhemSempere Mar 27, 2024
3b56fd1
Minor fix
GuilhemSempere Mar 31, 2024
d63c177
Added means to display MAF distribution chart
GuilhemSempere Apr 2, 2024
52c884e
Moved standalone IGV download link to "Online output tools" dialog
GuilhemSempere Apr 3, 2024
a899c7f
added OAuth token compatibility for API requests, based on an OIDC di…
BrapiCoordinatorSelby Apr 3, 2024
ab0492f
Revert "added OAuth token compatibility for API requests, based on an…
GuilhemSempere Apr 3, 2024
44dbfc2
added OAuth token compatibility for API requests, based on an OIDC di…
GuilhemSempere Apr 3, 2024
1f22f59
Caching unzoomed results for fast zoom resets
GuilhemSempere Apr 15, 2024
a5b6d54
add samples number in column "Projects"
dorian-grst Apr 16, 2024
dc18318
fix export box text overflow
dorian-grst Apr 16, 2024
b6d28de
add number of intervals in localstorage
dorian-grst Apr 16, 2024
86779d6
update bundle-update script
dorian-grst Apr 25, 2024
f3446f0
add quick variant stats in variant details
dorian-grst Apr 25, 2024
e984a18
Fixed dialog height (set to maximum for all)
GuilhemSempere Apr 25, 2024
f3bf559
add quick variant stats for any groups selected
dorian-grst Apr 26, 2024
fa84f1a
Dartimport (#121)
GuilhemSempere Apr 30, 2024
bfe93cd
fix importing metadata from BrAPI to manage the case of having severa…
GuilhemSempere Apr 30, 2024
ffbecfa
Merge remote-tracking branch 'origin/bioversity-update' into staging
GuilhemSempere Apr 30, 2024
b38cb80
Added progress gif to let user wait
GuilhemSempere May 2, 2024
102a1f3
Fixed clearing of group contents when decreasing number of groups
GuilhemSempere May 2, 2024
d2a0ab7
By default display no genotypes in IGV.js
GuilhemSempere May 7, 2024
7a8beaa
Merge branch 'master' of https://github.com/SouthGreenPlatform/Gigwa2…
GuilhemSempere May 14, 2024
10f26a6
Modified import UI to allow importing MD from single endpoint
GuilhemSempere May 15, 2024
b59066b
Getting there (direct BrAPI metadata import along with genotypes)
GuilhemSempere May 16, 2024
2eff217
Finalized interface for direct BrAPI metadata import
GuilhemSempere May 17, 2024
ce5e520
Finalized controller code for direct BrAPI metadata import
GuilhemSempere May 17, 2024
c5612f8
Minor change
GuilhemSempere May 17, 2024
9862e2b
Merge remote-tracking branch 'origin/directBrAPIMetadataImport' into
GuilhemSempere May 21, 2024
61cbd9f
feat(ci): build staging
dorian-grst May 22, 2024
2ffaf7a
Update build-staging.yml
GuilhemSempere May 22, 2024
52471c7
Finalized quick variant stats
GuilhemSempere May 23, 2024
cba4935
Re-added lost functionality (fast loading of IGV data without genotypes)
GuilhemSempere May 23, 2024
c24295e
Update build-staging.yml
GuilhemSempere May 23, 2024
32ba0b4
Update build-staging.yml
GuilhemSempere May 23, 2024
ff1e9d4
Update build-staging.yml
GuilhemSempere May 23, 2024
0dda1fc
Update build-staging.yml
GuilhemSempere May 23, 2024
76dbeb3
Fixed missing data calculation
GuilhemSempere May 27, 2024
d22745c
Fix/ci (#126)
dorian-grst Jun 14, 2024
4f4f206
Minor change
GuilhemSempere Jun 14, 2024
8ccc54e
Update pom.xml
GuilhemSempere Jun 19, 2024
64df994
Update pom.xml (#128)
dorian-grst Jun 20, 2024
0a08424
Build update (#129)
dorian-grst Jun 20, 2024
feebdf1
Removed unused code
GuilhemSempere Jun 20, 2024
3fdf670
Added means to copy x-axis range to clipboard
GuilhemSempere Jun 20, 2024
0321830
Added means to paste position range from clipboard at once
GuilhemSempere Jun 20, 2024
7e84285
trigger changed on build-test
dorian-grst Jun 20, 2024
c05d853
added echo for debugging
dorian-grst Jun 20, 2024
f83f5c0
added command in github ci
dorian-grst Jun 20, 2024
2fda3eb
changed trigger on build-test ci
dorian-grst Jun 20, 2024
d5e183d
Implemented Zoom-out functionality
GuilhemSempere Jun 20, 2024
3e7a462
Merge branch 'staging' of https://github.com/SouthGreenPlatform/Gigwa…
GuilhemSempere Jun 20, 2024
cd32431
Resolved import bugs created when adding support for direct MD pulling
GuilhemSempere Jun 20, 2024
aa07315
Create MIT.txt (#130)
GuilhemSempere Jun 21, 2024
9583260
Update LICENSE.txt
GuilhemSempere Jun 21, 2024
d63f24c
Create AGPL-3.0.txt
GuilhemSempere Jun 21, 2024
f0b9cfd
Added means to create hashes in insecure context
GuilhemSempere Jun 21, 2024
2736ade
Doc update
GuilhemSempere Jun 21, 2024
10598f9
Merge branch 'master' of https://github.com/SouthGreenPlatform/Gigwa2…
GuilhemSempere Jun 21, 2024
d3bc142
Removed useless files
GuilhemSempere Jun 21, 2024
3bc7606
Revert "added OAuth token compatibility for API requests, based on an
GuilhemSempere Jun 21, 2024
a3eb5d6
Merge from master
GuilhemSempere Jun 21, 2024
08c12f7
Added an outline output tool
GuilhemSempere Jun 21, 2024
b2ea435
POM update
GuilhemSempere Jun 21, 2024
d3e6ded
Fixed chart zoom-out feature
GuilhemSempere Jun 21, 2024
20725d4
Fixed dependency version
GuilhemSempere Jun 21, 2024
6599847
Merge remote-tracking branch 'origin/staging'
GuilhemSempere Jun 21, 2024
bb12e76
Minor UI change
GuilhemSempere Jun 21, 2024
3c994ce
Minor fix
GuilhemSempere Jun 26, 2024
5fb2db8
Simplified individual selection
GuilhemSempere Jun 26, 2024
a1b2e2c
Re-added means to paste gene name list
GuilhemSempere Jun 26, 2024
af13324
Minor change
GuilhemSempere Jun 26, 2024
8e9d491
Updated FJ-Bytes to latest version
GuilhemSempere Jun 26, 2024
e9c4475
Provided means to (1) name individual groups, (2) select DB by taxon
GuilhemSempere Jun 28, 2024
8e131df
Split up shared code from main.js into common.js
GuilhemSempere Jun 28, 2024
19f6342
Merge pull request #132 from SouthGreenPlatform/master
GuilhemSempere Jul 2, 2024
c09c2e1
Set version number to 2.8-RELEASE
GuilhemSempere Jul 2, 2024
d3d4991
Merge pull request #133 from SouthGreenPlatform/staging
GuilhemSempere Jul 2, 2024
a488316
Final adjustments before release, documentation update
GuilhemSempere Jul 2, 2024
c851d5b
Merge pull request #134 from SouthGreenPlatform/staging
GuilhemSempere Jul 2, 2024
94c0841
Update build.yml
GuilhemSempere Jul 2, 2024
6d8325d
Merge pull request #135 from SouthGreenPlatform/GuilhemSempere-patch-3
GuilhemSempere Jul 2, 2024
d9684b9
Reverted back to original build.sh
GuilhemSempere Jul 2, 2024
03759c7
Added missing file (possibly forgot to commmit/push it)
GuilhemSempere Jul 2, 2024
ca25f42
Added missing file (possibly forgot to commmit/push it) (#136)
GuilhemSempere Jul 2, 2024
0062dcf
Merge from master (#137)
GuilhemSempere Jul 2, 2024
f20be5c
Re-added lost methods
GuilhemSempere Jul 2, 2024
7770283
Merge from staging
GuilhemSempere Jul 2, 2024
c92c6bd
added python build file to get dynamically current pom.xml dependenci…
GuilhemSempere Jul 25, 2024
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
114 changes: 114 additions & 0 deletions .github/workflows/build-staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: Gigwa Build Staging test
on:
push:
tags:
- 'STAGING'
jobs:
pre-realese:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/[email protected]

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'zulu'
java-version: 17

- name: Build project
run: |
wget https://raw.githubusercontent.com/${{ github.repository }}/staging/misc/build-staging.sh
chmod +x build-staging.sh
./build-staging.sh -P staging
pwd
ls

- name: Delete old prelease and tag
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
TAG_NAME=$(basename ${{ github.ref }})
echo "Deleting release and tag $TAG_NAME"

# Get the release ID associated with the tag
RELEASE_ID=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \
"https://api.github.com/repos/${{ github.repository }}/releases/tags/$TAG_NAME" \
| jq -r '.id')

if [ "$RELEASE_ID" != "null" ]; then
echo "Deleting release with ID $RELEASE_ID"
# Delete the release
curl -s -X DELETE -H "Authorization: token $GITHUB_TOKEN" \
"https://api.github.com/repos/${{ github.repository }}/releases/$RELEASE_ID"
else
echo "No release found for tag $TAG_NAME"
fi

# Delete the tag locally
git tag -d $TAG_NAME
# Delete the tag from the remote repository
git push origin :refs/tags/$TAG_NAME

- name: Set up variables
id: vars
run: |
echo "DATE=$(date +'%d/%m/%y')" >> $GITHUB_ENV
echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "NEW_NAME=Gigwa2_STAGING" >> $GITHUB_ENV

- name: Create prerelease
id: create_release
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: "STAGING"
release_name: "STAGING"
draft: false
prerelease: true
body: "This is a staging prerelease ${{ env.DATE }} ${{ env.SHORT_SHA }}"

- name: Grep release version
id: grep_release_version
run: |
# RESULT=$(grep -m 1 project\\\.version ${{ github.event.repository.name }}/pom.xml | sed -n 's/.*<project\.version>\(.*\)<\/project\.version>.*/\1/p')
echo "release_version=$(grep -m 1 project\\\.version ${{ github.event.repository.name }}/pom.xml | sed -n 's/.*<project\.version>\(.*\)<\/project\.version>.*/\1/p')" >>$GITHUB_OUTPUT
shell: bash

- name: Upload main prerelease asset (webapp zip)
id: upload-release-asset
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ github.event.repository.name }}/target/Gigwa_V${{ steps.grep_release_version.outputs.release_version }}_Webapp.zip
asset_name: ${{ env.NEW_NAME }}.zip
asset_content_type: application/zip

# ssh:
# runs-on: ubuntu-latest
# needs: build
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Install OpenVPN
# run: |
# sudo apt update
# sudo apt install -y openvpn openvpn-systemd-resolved
# - name: Connect to VPN
# uses: "kota65535/github-openvpn-connect-action@v2"
# with:
# config_file: .github/workflows/client.ovpn
# username: ${{ secrets.OVPN_USERNAME }}
# password: ${{ secrets.OVPN_PASSWORD }}
# client_key: ${{ secrets.USER_KEY }}
# - name: Use SSH
# uses: appleboy/ssh-action@master
# with:
# host: ${{ secrets.SERVER_HOST }}
# username: ${{ secrets.SERVER_USERNAME }}
# key: ${{ secrets.SSH_PRIVATE_KEY }}
# script: |
# ls
147 changes: 147 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
name: Gigwa Build

on:
workflow_dispatch

jobs:
setup-and-build:
runs-on: ubuntu-latest
outputs:
# Output the release version to be used in the following steps
release_version: ${{ steps.grep_release_version.outputs.release_version }}
steps:
- uses: actions/checkout@v4

# Set up Python for the build script
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'

# Install Python dependencies for the build script
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install gitpython

# Set up Java for the maven build
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17

# Get the release version from the pom.xml file
- name: Grep release version
id: grep_release_version
run: |
echo "release_version=$(grep -m 1 project\\\.version pom.xml | sed -n 's/.*<project\.version>\(.*\)<\/project\.version>.*/\1/p')" >> $GITHUB_OUTPUT

# Run the maven build script which will build the project and create the Webapp zip
- name: Run Python build script
run: |
cd misc
python3 build.py

# Upload the Webapp zip as artifact for upload-release-assets
- name: Upload Webapp zip
uses: actions/upload-artifact@v3
with:
name: Gigwa_V${{ steps.grep_release_version.outputs.release_version }}_Webapp.zip
path: target/Gigwa_V${{ steps.grep_release_version.outputs.release_version }}_Webapp.zip

# Upload the Gigwa directory as artifact for the Dockerfile
- name: Upload Gigwa directory
uses: actions/upload-artifact@v3
with:
name: gigwa
path: target/gigwa/

create-release:
needs: setup-and-build
runs-on: ubuntu-latest
outputs:
# Output the upload URL to be used in the following steps
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
# Create a release with the good version and add a description
- name: Create Release
id: create_release
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: "${{ needs.setup-and-build.outputs.release_version }}"
release_name: "${{ needs.setup-and-build.outputs.release_version }}"
body: |
For initial setups not using Docker, download the bundle creation script corresponding to your OS, place it in the desired installation location, and launch it!
draft: false
prerelease: false

upload-release-assets:
needs: [setup-and-build, create-release]
runs-on: ubuntu-latest
strategy:
matrix:
# Define the assets to be uploaded with their path, name, content type, and add a flag "download" to download the asset before uploading it
asset:
- { path: "target/Gigwa_V${{ needs.setup-and-build.outputs.release_version }}_Webapp.zip", name: "Gigwa_V${{ needs.setup-and-build.outputs.release_version }}_Webapp.zip", content_type: "application/zip", downloaded: true }
- { path: "misc/macos_bundle.command", name: "Gigwa_V${{ needs.setup-and-build.outputs.release_version }}_bundle_creation_osx.command", content_type: "application/x-sh" }
- { path: "misc/linux_bundle.sh", name: "Gigwa_V${{ needs.setup-and-build.outputs.release_version }}_bundle_creation_ubuntu.sh", content_type: "application/x-sh" }
- { path: "misc/win_bundle.ps1", name: "Gigwa_V${{ needs.setup-and-build.outputs.release_version }}_bundle_creation_windows.ps1", content_type: "application/powershell" }
- { path: "docker-compose.yml", name: "Gigwa_V${{ needs.setup-and-build.outputs.release_version }}_docker-compose.yml", content_type: "application/yml" }
steps:
- uses: actions/checkout@v4

# Download the asset if the flag "download" is set to true
- name: Download Webapp zip
if: matrix.asset.downloaded == true
uses: actions/download-artifact@v3
with:
name: Gigwa_V${{ needs.setup-and-build.outputs.release_version }}_Webapp.zip
path: target/

# Upload the asset to the release
- name: Upload Release Asset
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ${{ matrix.asset.path }}
asset_name: ${{ matrix.asset.name }}
asset_content_type: ${{ matrix.asset.content_type }}

build-push-docker:
needs: [ setup-and-build, create-release ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

# Set up Docker Buildx for multi-platform builds
- name: Set up Docker Buildx
uses: docker/[email protected]

# Login to Docker Hub
- name: Login to Docker Hub
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# Download the Gigwa directory artifact for the Dockerfile
- name: Download gigwa directory
uses: actions/download-artifact@v3
with:
name: gigwa
path: target/gigwa/

# Build and push the Docker image
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: |
${{ secrets.DOCKERHUB_USERNAME }}/gigwa:${{ needs.setup-and-build.outputs.release_version }}
${{ secrets.DOCKERHUB_USERNAME }}/gigwa:latest
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM tomcat:8.5.81-jre8-openjdk-slim-bullseye
FROM tomcat:9.0.58-jdk17-openjdk-slim

ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
Expand Down
14 changes: 14 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
GIGWA - Genotype Investigator for Genome Wide Analyses
Copyright (C) 2016, 2024 <South Green> <CIRAD> <IRD>

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License, version 3 as published by
the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
details.

See <http://www.gnu.org/licenses/agpl.html> for details about GNU General
Public License V3.
24 changes: 15 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,18 @@ https://github.com/SouthGreenPlatform/Gigwa2/wiki

The source code is available in this repository. It uses Maven for dependency management and requires the following dependencies to be present in your workspace (order matters):

##### https://github.com/SouthGreenPlatform/GenotypeFileManipulation
##### https://github.com/SouthGreenPlatform/Mgdb2BrapiModel
##### https://github.com/SouthGreenPlatform/Mgdb2
##### https://github.com/SouthGreenPlatform/Mgdb2Export
##### https://github.com/SouthGreenPlatform/role_manager
##### https://github.com/SouthGreenPlatform/Gigwa2ServiceInterface
##### https://github.com/SouthGreenPlatform/Gigwa2ServiceImpl
##### https://github.com/SouthGreenPlatform/Mgdb2BrapiImpl
##### https://github.com/SouthGreenPlatform/Mgdb2BrapiV2Impl
##### https://github.com/GuilhemSempere/GenotypeFileManipulation
##### https://github.com/GuilhemSempere/Mgdb2BrapiModel
##### https://github.com/GuilhemSempere/Mgdb2
##### https://github.com/GuilhemSempere/Mgdb2Export
##### https://github.com/GuilhemSempere/role_manager
##### https://github.com/GuilhemSempere/Mgdb2BrapiImpl
##### https://github.com/GuilhemSempere/Mgdb2BrapiV2Impl
##### https://github.com/GuilhemSempere/Gigwa2ServiceInterface
##### https://github.com/GuilhemSempere/Gigwa2ServiceImpl

Gigwa2 project now contains **bom/pom.xml** which can be used as a parent project that **treats all required projects as Maven modules**, and thus **allows to build them all with a single mvn install** (all projects, including Gigwa2 have to sit at the same level though)

A quick and convenient way to **build the latest version of Gigwa at once** is to use the following script misc/build.sh:
- ideally not from within the Gigwa2 source hierarchy, otherwise it will create duplicate source files
- assuming that for each referenced project, a git tag exists, named after the value found in pom.xml's <project.version>
File renamed without changes.
24 changes: 24 additions & 0 deletions bom/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>fr.cirad</groupId>
<artifactId>Gigwa2bom</artifactId>
<version>1.0-RELEASE</version>
<packaging>pom</packaging>

<modules>
<module>../../GenotypeFileManipulation</module>
<module>../../Mgdb2BrapiModel</module>
<module>../../Mgdb2</module>
<module>../../Mgdb2Export</module>
<module>../../role_manager</module>
<module>../../Mgdb2BrapiImpl</module>
<module>../../Mgdb2BrapiV2Impl</module>
<module>../../Gigwa2ServiceImpl</module>
<module>../../Gigwa2ServiceInterface</module>
<module>..</module>
</modules>
</project>
File renamed without changes.
File renamed without changes.
36 changes: 25 additions & 11 deletions bundle_files/osx/updateGigwa.command
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,24 @@ fi

if [ -d "$1" ]; then
if [ -d "$2" ]; then


if [ ! -d "$1/WEB-INF" ]; then
echo "Error: $1 does not contain a WEB-INF directory."
exit 1
fi

if [ ! -d "$2/WEB-INF" ]; then
echo "Error: $2 does not contain a WEB-INF directory."
exit 1
fi

DATE=$(date +%Y%m%d%H%M)

# Get the name of the last directory in the second argument path
backup_dir=$(basename "$2")

#save old gigwa files
mkdir -p $3 && cp -av $2 $3/gigwa.$DATE
mkdir -p "$3" && cp -av "$2" "$3/$backup_dir.$DATE"

#remove gigwa folder
rm -rf $2
Expand All @@ -20,15 +33,16 @@ if [ -d "$1" ]; then
cp -av $1 $2

#copy configuration files from saved folder to new gigwa folder
cp -av $3/gigwa.$DATE/WEB-INF/classes/applicationContext-data.xml $2/WEB-INF/classes/applicationContext-data.xml
# cp -av $3/gigwa.$DATE/WEB-INF/classes/applicationContext-security.xml $2/WEB-INF/classes/applicationContext-security.xml
cp -av $3/gigwa.$DATE/WEB-INF/classes/datasources.properties $2/WEB-INF/classes/datasources.properties
cp -av $3/gigwa.$DATE/WEB-INF/classes/users.properties $2/WEB-INF/classes/users.properties
cp -av $3/gigwa.$DATE/WEB-INF/classes/config.properties $2/WEB-INF/classes/config.properties
cp -av $3/gigwa.$DATE/WEB-INF/classes/log4j.xml $2/WEB-INF/classes/log4j.xml
cp -av $3/$backup_dir.$DATE/WEB-INF/classes/applicationContext-data.xml $2/WEB-INF/classes/applicationContext-data.xml
# cp -av $3/$backup_dir.$DATE/WEB-INF/classes/applicationContext-security.xml $2/WEB-INF/classes/applicationContext-security.xml
cp -av $3/$backup_dir.$DATE/WEB-INF/classes/datasources.properties $2/WEB-INF/classes/datasources.properties
cp -av $3/$backup_dir.$DATE/WEB-INF/classes/users.properties $2/WEB-INF/classes/users.properties
cp -av $3/$backup_dir.$DATE/WEB-INF/classes/config.properties $2/WEB-INF/classes/config.properties
cp -av $3/$backup_dir.$DATE/WEB-INF/classes/log4j.xml $2/WEB-INF/classes/log4j.xml

# Changes specific to migration to v2.5
sed -i 's/project\$CREATOR/SUPERVISOR/g' $2/WEB-INF/classes/users.properties # replace the deprecated project-CREATOR role with the new DB-level SUPERVISOR role

sed -i '' 's/project\$CREATOR/SUPERVISOR/g' "$2"/WEB-INF/classes/users.properties # replace the deprecated project-CREATOR role with the new DB-level SUPERVISOR role

if [ "$(grep -c dumpFolder $2/WEB-INF/classes/config.properties)" -eq 0 ]; then
printf "\n\ndumpFolder=$HOME/gigwaDumps" >> $2/WEB-INF/classes/config.properties # add dumpFolder entry to config.properties it not present
Expand All @@ -39,8 +53,8 @@ if [ -d "$1" ]; then
fi

# applicationContext-security.xml has changed much in v2.5 so we don't want to keep that of the previous version. However, still make sure we keep the same passwordEncoder we had
if [ "$(grep 'id="passwordEncoder"' $3/gigwa.$DATE/WEB-INF/classes/applicationContext-security.xml | grep -v '<!--')" != "$(grep 'id="passwordEncoder"' $2/WEB-INF/classes/applicationContext-security.xml | grep -v '<!--')" ]; then
sed -i "s/.*PasswordEncoder.*//g;s/.*Only one passwordEncoder bean should be enabled at a time.*//g;s|</secur:http>|</secur:http>\n\n\n$(grep 'id="passwordEncoder"' $3/gigwa.$DATE/WEB-INF/classes/applicationContext-security.xml | grep -v '<!--')|g;" $2/WEB-INF/classes/applicationContext-security.xml
if [ "$(grep 'id="passwordEncoder"' $3/$backup_dir.$DATE/WEB-INF/classes/applicationContext-security.xml | grep -v '<!--')" != "$(grep 'id="passwordEncoder"' $2/WEB-INF/classes/applicationContext-security.xml | grep -v '<!--')" ]; then
sed -i '' "s/.*PasswordEncoder.*//g;s/.*Only one passwordEncoder bean should be enabled at a time.*//g;s|</secur:http>|</secur:http>\n\n\n$(grep 'id="passwordEncoder"' $3/$backup_dir.$DATE/WEB-INF/classes/applicationContext-security.xml | grep -v '<!--')|g;" $2/WEB-INF/classes/applicationContext-security.xml
fi
fi
fi
Expand Down
Loading