Skip to content

Commit cb017f9

Browse files
committed
Fixes merge conflict in CHANGELOG.md
2 parents 3fa8e41 + 48525cc commit cb017f9

29 files changed

+648
-97
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
- OS: [e.g. iOS]
28+
- Browser [e.g. chrome, safari]
29+
- Version [e.g. 22]
30+
31+
**Smartphone (please complete the following information):**
32+
- Device: [e.g. iPhone6]
33+
- OS: [e.g. iOS8.1]
34+
- Browser [e.g. stock browser, safari]
35+
- Version [e.g. 22]
36+
37+
**Additional context**
38+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## Description
2+
<!--- Describe your changes in detail -->
3+
4+
## Review Time Estimate
5+
<!---When do you want your code reviewed by?-->
6+
- [ ] Immediately
7+
- [ ] Within one week
8+
- [ ] When possible
9+
10+
## Types of changes
11+
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
12+
- [ ] Bug fix (non-breaking change which fixes an issue) <!-- please add issue number -->
13+
- [ ] New feature (non-breaking change which adds functionality)
14+
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
15+
16+
## Checklist:
17+
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
18+
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
19+
- [ ] My change requires a change to the documentation.
20+
- [ ] I have updated the CHANGELOG.md.
21+
- [ ] I have signed the CLA
22+
- [ ] I have updated the documentation accordingly.
23+
- [ ] I have read the **CONTRIBUTING** document.
24+
- [ ] I have added tests to cover my changes.
25+
- [ ] All new and existing tests passed.

.github/workflows/ci.yml

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
name: CI
2+
3+
# This will run when:
4+
# - a new release is created, and will attach the generated
5+
# artifacts to the release
6+
# - when new code is pushed to master/develop to make sure the
7+
# code does compile.
8+
# - when a pull request is created and updated to make sure the
9+
# code does compile.
10+
on:
11+
release:
12+
types: created
13+
14+
push:
15+
branches:
16+
- master
17+
- develop
18+
19+
pull_request:
20+
21+
# The jobs are chained, the first thing that is run is the code to
22+
# update all the dependencies (which are cached). The cache is
23+
# linked to the project/Build.scala file, if this changes the cache
24+
# is invalidated.
25+
# Once build is done it will start the test, dist and documentation
26+
# phases (which are executed in parallel).
27+
jobs:
28+
29+
# downloads all the dependencies and compiles the scala code
30+
build:
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v2
34+
- uses: actions/setup-java@v1
35+
with:
36+
java-version: 1.8
37+
- name: Cache SBT ivy cache
38+
uses: actions/cache@v1
39+
with:
40+
path: ~/.ivy2/cache
41+
key: ${{ runner.os }}-sbt-ivy-cache-${{ hashFiles('project/Build.scala') }}
42+
- name: Cache SBT
43+
uses: actions/cache@v1
44+
with:
45+
path: ~/.sbt
46+
key: ${{ runner.os }}-sbt-${{ hashFiles('project/Build.scala') }}
47+
- name: sbt clean update
48+
run: ./sbt clean update
49+
- name: sbt compile
50+
run: ./sbt compile
51+
52+
# starts a mongodb instance, and runs the scala tests
53+
test:
54+
runs-on: ubuntu-latest
55+
needs: build
56+
services:
57+
mongodb:
58+
image: mongo:3.6
59+
ports:
60+
- 27017:27017
61+
steps:
62+
- uses: actions/setup-java@v1
63+
with:
64+
java-version: 1.8
65+
- uses: actions/checkout@v2
66+
- uses: actions/setup-java@v1
67+
with:
68+
java-version: 1.8
69+
- name: Cache SBT ivy cache
70+
uses: actions/cache@v1
71+
with:
72+
path: ~/.ivy2/cache
73+
key: ${{ runner.os }}-sbt-ivy-cache-${{ hashFiles('project/Build.scala') }}
74+
- name: Cache SBT
75+
uses: actions/cache@v1
76+
with:
77+
path: ~/.sbt
78+
key: ${{ runner.os }}-sbt-${{ hashFiles('project/Build.scala') }}
79+
- name: sbt test
80+
run: ./sbt "test-only integration.APITestSuite"
81+
82+
# creates zip file of the dist compiled version. The results are
83+
# uploaded as artifacts for this build as well to the release if
84+
# created.
85+
dist:
86+
runs-on: ubuntu-latest
87+
needs: build
88+
steps:
89+
- uses: actions/checkout@v2
90+
- uses: actions/setup-java@v1
91+
with:
92+
java-version: 1.8
93+
- name: Cache SBT ivy cache
94+
uses: actions/cache@v1
95+
with:
96+
path: ~/.ivy2/cache
97+
key: ${{ runner.os }}-sbt-ivy-cache-${{ hashFiles('project/Build.scala') }}
98+
- name: Cache SBT
99+
uses: actions/cache@v1
100+
with:
101+
path: ~/.sbt
102+
key: ${{ runner.os }}-sbt-${{ hashFiles('project/Build.scala') }}
103+
- name: sbt dist
104+
run: ./sbt dist
105+
- uses: actions/upload-artifact@v2
106+
with:
107+
name: clowder.zip
108+
path: target/universal/clowder-*.zip
109+
- name: Upload files to a GitHub release
110+
uses: svenstaro/[email protected]
111+
if: github.event_name == 'release' && github.event.action == 'created'
112+
with:
113+
repo_token: ${{ secrets.GITHUB_TOKEN }}
114+
tag: ${{ github.ref }}
115+
overwrite: true
116+
asset_name: clowder.zip
117+
file: target/universal/clowder-*.zip
118+
file_glob: true
119+
120+
# creates scaladoc, html and epub (no pdflatex) and uploads those
121+
# as artifacts for this build as well to the release if created.
122+
documentation:
123+
runs-on: ubuntu-latest
124+
needs: build
125+
steps:
126+
- uses: actions/checkout@v2
127+
- uses: actions/setup-java@v1
128+
with:
129+
java-version: 1.8
130+
- name: Cache SBT ivy cache
131+
uses: actions/cache@v1
132+
with:
133+
path: ~/.ivy2/cache
134+
key: ${{ runner.os }}-sbt-ivy-cache-${{ hashFiles('project/Build.scala') }}
135+
- name: Cache SBT
136+
uses: actions/cache@v1
137+
with:
138+
path: ~/.sbt
139+
key: ${{ runner.os }}-sbt-${{ hashFiles('project/Build.scala') }}
140+
- name: Set up Python 3.7
141+
uses: actions/setup-python@v1
142+
with:
143+
python-version: 3.7
144+
- name: sbt doc
145+
run: ./sbt doc
146+
- uses: actions/upload-artifact@v2
147+
with:
148+
name: ScalaDoc
149+
path: target/scala-*/api/
150+
- name: sphinx
151+
run: |
152+
cd doc/src/sphinx/
153+
python -m pip install -r requirements.txt
154+
make html epub
155+
- uses: actions/upload-artifact@v2
156+
with:
157+
name: HTML Documentation
158+
path: doc/src/sphinx/_build/html
159+
- uses: actions/upload-artifact@v2
160+
with:
161+
name: EPUB Documentation
162+
path: doc/src/sphinx/_build/epub/Clowder.epub
163+
- name: Upload files to a GitHub release
164+
uses: svenstaro/[email protected]
165+
if: github.event_name == 'release' && github.event.action == 'created'
166+
with:
167+
repo_token: ${{ secrets.GITHUB_TOKEN }}
168+
tag: ${{ github.ref }}
169+
overwrite: true
170+
asset_name: clowder.epub
171+
file: doc/src/sphinx/_build/epub/Clowder.epub

.github/workflows/docker.yml

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
name: Docker
2+
3+
# This will run when:
4+
# - a new release is created, to make sure the right tags of the
5+
# docker images are pushed (expects tags to be v1.8.4).
6+
# - when new code is pushed to master/develop to push the tags
7+
# latest and develop
8+
# - when a pull request is created and updated to make sure the
9+
# Dockerfile is still valid.
10+
# To be able to push to dockerhub, this execpts the following
11+
# secrets to be set in the project:
12+
# - DOCKERHUB_USERNAME : username that can push to the org
13+
# - DOCKERHUB_PASSWORD : password asscoaited with the username
14+
on:
15+
release:
16+
types: created
17+
18+
push:
19+
branches:
20+
- master
21+
- develop
22+
23+
pull_request:
24+
25+
# Certain actions will only run when this is the master repo.
26+
env:
27+
MASTER_REPO: clowder-framework/clowder
28+
DOCKERHUB_ORG: clowder
29+
30+
jobs:
31+
docker:
32+
runs-on: ubuntu-latest
33+
strategy:
34+
fail-fast: true
35+
matrix:
36+
name:
37+
- clowder
38+
- toolserver
39+
- mongo-init
40+
- monitor
41+
- check
42+
include:
43+
- name: clowder
44+
FOLDER: "."
45+
IMAGE: clowder
46+
README: README.md
47+
- name: toolserver
48+
FOLDER: scripts/toollaunchservice
49+
IMAGE: toolserver
50+
README: ""
51+
- name: mongo-init
52+
FOLDER: scripts/mongo-init
53+
IMAGE: mongo-init
54+
README: ""
55+
- name: monitor
56+
FOLDER: scripts/monitor
57+
IMAGE: monitor
58+
README: ""
59+
- name: check
60+
FOLDER: scripts/check
61+
IMAGE: check
62+
README: ""
63+
steps:
64+
- uses: actions/checkout@v2
65+
66+
# build the docker image, this will always run to make sure
67+
# the Dockerfile still works.
68+
- name: Build image
69+
run: |
70+
docker build \
71+
--build-arg BRANCH=${{ github.ref }} \
72+
--build-arg VERSION=${{ github.run_number }} \
73+
--build-arg BUILDNUMBER=${{ github.run_number }} \
74+
--build-arg GITSHA1=${{ github.sha }} \
75+
--tag image ${{ matrix.FOLDER }}
76+
77+
# this will publish to the actor (person) github packages
78+
- name: Publish to GitHub
79+
if: github.event_name != 'pull_request'
80+
uses: elgohr/[email protected]
81+
env:
82+
BRANCH: ${{ github.ref }}
83+
VERSION: ${{ github.run_number }}
84+
BUILDNUMBER: ${{ github.run_number }}
85+
GITSHA1: ${{ github.sha }}
86+
with:
87+
name: ${{ github.repository_owner }}/clowder/${{ matrix.IMAGE }}
88+
username: ${{ github.actor }}
89+
password: ${{ secrets.GITHUB_TOKEN }}
90+
context: ${{ matrix.FOLDER }}
91+
tag_semver: true
92+
tag_names: true
93+
registry: docker.pkg.github.com
94+
buildargs: BRANCH,VERSION,BUILDNUMBER,GITSHA1
95+
96+
# this will publish to the clowder dockerhub repo
97+
- name: Publish to Docker Hub
98+
if: github.event_name != 'pull_request' && github.repository == env.MASTER_REPO
99+
uses: elgohr/[email protected]
100+
env:
101+
BRANCH: ${{ github.ref }}
102+
VERSION: ${{ github.run_number }}
103+
BUILDNUMBER: ${{ github.run_number }}
104+
GITSHA1: ${{ github.sha }}
105+
with:
106+
name: ${{ env.DOCKERHUB_ORG }}/${{ matrix.IMAGE }}
107+
username: ${{ secrets.DOCKERHUB_USERNAME }}
108+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
109+
context: ${{ matrix.FOLDER }}
110+
tag_semver: true
111+
tag_names: true
112+
buildargs: BRANCH,VERSION,BUILDNUMBER,GITSHA1
113+
114+
# this will update the README of the dockerhub repo
115+
- name: check file
116+
id: filecheck
117+
if: github.event_name == 'release' && github.repository == env.MASTER_REPO
118+
run: |
119+
if [ "${{ matrix.README }}" != "" -a -e "${{ matrix.README }}" ]; then
120+
echo "##[set-output name=exists;]true"
121+
else
122+
echo "##[set-output name=exists;]false"
123+
fi
124+
- name: Docker Hub Description
125+
if: github.event_name == 'release' && github.repository == env.MASTER_REPO && steps.filecheck.outputs.exists == 'true'
126+
uses: peter-evans/dockerhub-description@v2
127+
env:
128+
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
129+
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
130+
DOCKERHUB_REPOSITORY: ${{ env.DOCKERHUB_ORG }}/${{ matrix.IMAGE }}
131+
README_FILEPATH: ${{ matrix.README }}

0 commit comments

Comments
 (0)