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

Release/0.11.0 🎉 #749

Merged
merged 166 commits into from
Apr 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
1b238e3
build(deps): bump google.golang.org/grpc from 1.27.1 to 1.59.0 (#725)
dependabot[bot] Nov 8, 2023
b28ee22
build(deps): bump google.golang.org/api from 0.17.0 to 0.150.0 (#726)
dependabot[bot] Nov 8, 2023
7fb5819
build(deps): bump github.com/go-test/deep from 1.0.5 to 1.1.0 (#727)
dependabot[bot] Nov 8, 2023
f115231
build(deps): bump github.com/aws/aws-sdk-go from 1.13.54 to 1.47.5 (#…
dependabot[bot] Nov 8, 2023
5736415
build(deps): bump k8s.io/client-go from 0.17.0 to 0.28.3 (#729)
dependabot[bot] Nov 8, 2023
3924d10
build(deps): bump github.com/spf13/cobra from 0.0.5 to 1.8.0 (#739)
dependabot[bot] Nov 9, 2023
ff0a475
build(deps): bump github.com/shirou/gopsutil (#738)
dependabot[bot] Nov 9, 2023
69a9fc1
build(deps): bump golang.org/x/time from 0.3.0 to 0.4.0 (#737)
dependabot[bot] Nov 9, 2023
5198f7b
build(deps): bump github.com/ncw/swift from 1.0.50 to 1.0.53 (#736)
dependabot[bot] Nov 9, 2023
20bbac2
build(deps): bump github.com/prometheus/client_golang (#735)
dependabot[bot] Nov 9, 2023
8655654
build(deps): bump golang.org/x/net from 0.17.0 to 0.19.0 (#747)
dependabot[bot] Dec 7, 2023
98c0bba
build(deps): bump github.com/dgraph-io/badger/v2 from 2.0.1 to 2.2007…
dependabot[bot] Dec 7, 2023
5fa767a
build(deps): bump github.com/prometheus/common from 0.44.0 to 0.45.0 …
dependabot[bot] Dec 7, 2023
66aaec2
build(deps): bump github.com/logrusorgru/aurora (#740)
dependabot[bot] Dec 7, 2023
54c199b
build(deps): bump k8s.io/apimachinery from 0.28.3 to 0.28.4
dependabot[bot] Dec 8, 2023
f105788
build(deps): bump google.golang.org/api from 0.150.0 to 0.153.0
dependabot[bot] Dec 8, 2023
a369d46
build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4
dependabot[bot] Dec 8, 2023
b76ff39
build(deps): bump github.com/elazarl/go-bindata-assetfs
dependabot[bot] Dec 8, 2023
18beb7c
build(deps): bump k8s.io/client-go from 0.28.3 to 0.28.4
dependabot[bot] Dec 12, 2023
e4ccea8
build(deps): bump google.golang.org/grpc from 1.59.0 to 1.60.0
dependabot[bot] Dec 13, 2023
359d5cc
build(deps): bump golang.org/x/oauth2 from 0.14.0 to 0.15.0
dependabot[bot] Dec 13, 2023
e706df4
build(deps): bump github.com/gammazero/workerpool
dependabot[bot] Dec 13, 2023
c2070c2
build(deps): bump github.com/jlaffaye/ftp
dependabot[bot] Dec 13, 2023
e4dc28e
build(deps): bump google.golang.org/api from 0.153.0 to 0.154.0 (#757)
dependabot[bot] Dec 14, 2023
cd68c22
build(deps): bump github.com/sirupsen/logrus from 1.6.0 to 1.9.3
dependabot[bot] Dec 15, 2023
079031e
build(deps): bump github.com/rs/xid from 1.2.1 to 1.5.0
dependabot[bot] Dec 15, 2023
d95a2fe
build(deps): bump github.com/grpc-ecosystem/go-grpc-middleware
dependabot[bot] Dec 15, 2023
d7b0226
build(deps): bump k8s.io/apimachinery from 0.28.4 to 0.29.0
dependabot[bot] Dec 15, 2023
c0e367d
build(deps): bump github.com/aws/aws-sdk-go from 1.47.5 to 1.49.7 (#773)
dependabot[bot] Dec 21, 2023
aa93182
build(deps): bump github.com/aws/aws-sdk-go from 1.47.5 to 1.49.8 (#774)
dependabot[bot] Dec 21, 2023
45f551d
build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#770)
dependabot[bot] Dec 21, 2023
b0043ec
build(deps): bump k8s.io/client-go from 0.28.4 to 0.29.0 (#775)
dependabot[bot] Dec 27, 2023
f624841
build(deps): bump google.golang.org/grpc from 1.60.0 to 1.60.1 (#776)
dependabot[bot] Dec 27, 2023
a839683
build(deps): bump github.com/aws/aws-sdk-go from 1.49.8 to 1.49.10 (#…
dependabot[bot] Dec 28, 2023
bb1c32d
build(deps): bump gopkg.in/olivere/elastic.v5 from 5.0.84 to 5.0.86 (…
dependabot[bot] Dec 28, 2023
68cfc39
build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#777)
dependabot[bot] Dec 28, 2023
9bcc47d
build(deps): bump github.com/aws/aws-sdk-go from 1.49.10 to 1.49.13 (…
dependabot[bot] Jan 3, 2024
68b7f01
build(deps): bump github.com/prometheus/client_golang (#782)
dependabot[bot] Jan 3, 2024
301e57f
build(deps): bump github.com/aws/aws-sdk-go from 1.49.13 to 1.49.16
dependabot[bot] Jan 8, 2024
7a93fef
build(deps): bump google.golang.org/api from 0.154.0 to 0.155.0
dependabot[bot] Jan 5, 2024
e4098e2
build(deps): bump github.com/aws/aws-sdk-go from 1.49.16 to 1.49.24
dependabot[bot] Jan 19, 2024
0ebf617
build(deps): bump google.golang.org/api from 0.155.0 to 0.157.0
dependabot[bot] Jan 19, 2024
828cc83
build(deps): bump follow-redirects from 1.14.2 to 1.15.4 in /webdash …
dependabot[bot] Jan 20, 2024
77935f1
build(deps): bump github.com/prometheus/common from 0.45.0 to 0.46.0
dependabot[bot] Jan 22, 2024
4d6f9ab
build(deps): bump k8s.io/api from 0.29.0 to 0.29.1
dependabot[bot] Jan 22, 2024
6340d34
build(deps): bump github.com/aws/aws-sdk-go from 1.49.24 to 1.50.3
dependabot[bot] Jan 25, 2024
4f6ecfd
build(deps): bump k8s.io/apimachinery from 0.29.0 to 0.29.1 (#807)
dependabot[bot] Jan 25, 2024
f174f99
build(deps): bump cloud.google.com/go/pubsub from 1.33.0 to 1.35.0 (#…
dependabot[bot] Jan 26, 2024
a83dc82
build(deps): bump google.golang.org/api from 0.157.0 to 0.158.0 (#814)
dependabot[bot] Jan 26, 2024
b8b0300
build(deps): bump k8s.io/client-go from 0.29.0 to 0.29.1 (#813)
dependabot[bot] Jan 26, 2024
a7cdf32
build(deps): bump k8s.io/api from 0.29.0 to 0.29.1 (#815)
dependabot[bot] Jan 26, 2024
b0a9e1a
build(deps): bump google.golang.org/grpc from 1.60.1 to 1.61.0
dependabot[bot] Jan 26, 2024
fb2281e
Update go.mod and go.sum with dependabot
dependabot[bot] Nov 8, 2023
828c964
Update go.mod and go.sum with dependabot
dependabot[bot] Nov 8, 2023
48889d0
Update go.mod and go.sum with dependabot
dependabot[bot] Nov 8, 2023
21a4852
Run `go mod tidy` after dependabot updates
lbeckman314 Nov 8, 2023
83dfa71
Update go.sum and go.mod
lbeckman314 Jan 30, 2024
0781072
Add install script
lbeckman314 Jan 30, 2024
cd623a5
build(deps): bump github.com/aws/aws-sdk-go from 1.50.3 to 1.50.13
dependabot[bot] Feb 8, 2024
7ffb2ca
build(deps): bump github.com/docker/docker (#836)
dependabot[bot] Feb 8, 2024
da9b84e
build(deps): bump google.golang.org/api from 0.158.0 to 0.162.0 (#835)
dependabot[bot] Feb 8, 2024
0fbd632
build(deps): bump cloud.google.com/go/pubsub from 1.35.0 to 1.36.1 (#…
dependabot[bot] Feb 8, 2024
5645d0a
build(deps): bump google.golang.org/api from 0.160.0 to 0.163.0 (#839)
dependabot[bot] Feb 8, 2024
cea0381
Update install.sh
lbeckman314 Feb 22, 2024
aedd9ae
Move install script to release page
lbeckman314 Mar 2, 2024
dd13556
build(deps): bump golang.org/x/net (#731)
dependabot[bot] Nov 8, 2023
8c65462
build(deps): bump github.com/docker/docker (#733)
dependabot[bot] Nov 8, 2023
11e9393
build(deps): bump google.golang.org/grpc from 1.27.1 to 1.56.3 (#734)
dependabot[bot] Nov 8, 2023
c31477b
Update go.mod and go.sum with dependabot
dependabot[bot] Nov 8, 2023
0d03f52
Update go.mod and go.sum with dependabot
dependabot[bot] Nov 8, 2023
041ed01
Update go.mod and go.sum with dependabot
dependabot[bot] Nov 8, 2023
92aa8d8
Update go.mod and go.sum with dependabot
dependabot[bot] Nov 8, 2023
fa3ce38
Run `go mod tidy` after dependabot updates
lbeckman314 Nov 8, 2023
2b4f4a5
Starting refactor based on changes created by new proto file generate…
kellrott Nov 14, 2022
fcaf874
Code now compiles after refactoring to TES1.1. No new testing added yet
kellrott Nov 14, 2022
f167563
Working on code formatting and lintint
kellrott Nov 17, 2022
7816bc2
Updating linking to go 1.18
kellrott Nov 17, 2022
64ddf31
Fix linting/workflow errors in Github Actions
kellrott Jan 11, 2023
f05ec3e
Update go.mod and go.sum with GoReleaser
lbeckman314 Oct 30, 2023
4e81a7f
Prevent emitting empty values from server
lbeckman314 Nov 2, 2023
37020cb
Revert EmitUnpopulated back to `true` in server/server.go
lbeckman314 Nov 2, 2023
2aa1a36
Disable emitting unpopulated fields, use `optional` keyword
lbeckman314 Nov 3, 2023
1f0912a
Add custom marshaler to handle different views
lbeckman314 Nov 10, 2023
45425ef
Add new marshaler (based off of Grip's custom marshaler)
lbeckman314 Nov 10, 2023
a612a49
Add custom marshaler support for lists
lbeckman314 Nov 15, 2023
be50d0f
BoltDB: update tag filtering
lbeckman314 Nov 15, 2023
a8a9621
Update status badges
lbeckman314 Nov 17, 2023
d896f42
Remove debugging output from custom marshaler
lbeckman314 Dec 8, 2023
74c66a0
Move tag filtering tests to tests/fixtures
lbeckman314 Dec 8, 2023
3314941
Update Go version in Docker images to 1.20
lbeckman314 Dec 8, 2023
033f013
Update Go version in dind and dind-rootless to 1.20
lbeckman314 Dec 8, 2023
223bdf6
Add initial Nextflow tests (nf-canary)
lbeckman314 Dec 9, 2023
711a160
Update build triggers in Github Actions
lbeckman314 Dec 9, 2023
e77e694
Move Nextflow test to existing tests workflow
lbeckman314 Dec 9, 2023
bc2f2c4
Update tests.yaml
lbeckman314 Dec 9, 2023
49ab1fc
Add initial Nextflow Github Action workflow
lbeckman314 Dec 15, 2023
c1a46a9
Update local file linking support for Nextflow
lbeckman314 Dec 21, 2023
2b18df5
Update support for linking wildcards in Nextflow
lbeckman314 Dec 21, 2023
7a7bd21
Update Nextflow support tests
lbeckman314 Dec 22, 2023
b32c583
Update Go version to latest Stable release
lbeckman314 Dec 22, 2023
704c382
Update Nextflow workflow
lbeckman314 Dec 27, 2023
3c33f88
Add Funnel binary to Github Actions cache
lbeckman314 Dec 27, 2023
03b2405
Nextflow Github Actions debug
lbeckman314 Dec 27, 2023
f19091f
Update caching in Github Actions
lbeckman314 Dec 27, 2023
3ddddd8
Nextflow Github Actions debug
lbeckman314 Dec 27, 2023
11c4502
Nextflow Github Actions debug
lbeckman314 Dec 27, 2023
c3c5fbd
Nextflow Github Actions debug
lbeckman314 Dec 27, 2023
568ebc8
Nextflow Github Actions debug
lbeckman314 Dec 27, 2023
805a40f
Nextflow Github Actions debug
lbeckman314 Dec 27, 2023
31a65cb
Nextflow Github Actions debug
lbeckman314 Dec 27, 2023
0dd6ca4
Nextflow Github Actions debug
lbeckman314 Dec 27, 2023
6db3aed
Update Compliance Tests support
lbeckman314 Jan 9, 2024
5148df6
Add OpenAPI Test Runner to tests
lbeckman314 Jan 9, 2024
27fa108
Update compliance-test.yaml
lbeckman314 Jan 9, 2024
3ab959f
Update tes-compliance-suite clone path
lbeckman314 Jan 25, 2024
8a63df8
Update auth handling to match TES Compliance Suite
lbeckman314 Jan 25, 2024
0595cd8
Update Go version to 1.21 in test suite
lbeckman314 Jan 25, 2024
94f6792
Go version upgrade debug for unit tests
lbeckman314 Jan 25, 2024
d55fa83
Unit test debugging
lbeckman314 Jan 25, 2024
3d6dd17
Add fix for OpenAPI Test Runner task filter test
lbeckman314 Jan 26, 2024
e133894
Update missing backend parameters code from 400 to 500
lbeckman314 Jan 26, 2024
cce89fb
Fix symlink issue with local file inputs
lbeckman314 Jan 26, 2024
d892933
Github Actions: re-enable Nextflow tests
lbeckman314 Jan 26, 2024
f2aa320
Add initial Nextflow documentation in website
lbeckman314 Feb 7, 2024
b73a1d1
Update service-info in webdash
lbeckman314 Feb 8, 2024
677ab0e
Update go.mod and go.sum for release
lbeckman314 Feb 8, 2024
b988775
Update Go to 1.21 in Dockerfile
lbeckman314 Feb 8, 2024
b4b2e53
Update go.mod and go.sum from develop
lbeckman314 Feb 8, 2024
6f9fb4c
build(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /webdash (#717)
dependabot[bot] Nov 7, 2023
71219c5
build(deps): bump semver from 5.7.1 to 5.7.2 in /webdash (#719)
dependabot[bot] Nov 8, 2023
9ec6cdf
build(deps): bump word-wrap from 1.2.3 to 1.2.4 in /webdash (#720)
dependabot[bot] Nov 8, 2023
a34b0d5
build(deps): bump golang.org/x/net (#731)
dependabot[bot] Nov 8, 2023
994fa5a
build(deps): bump browserify-sign from 4.2.1 to 4.2.2 in /webdash (#732)
dependabot[bot] Nov 8, 2023
5212220
build(deps): bump @babel/traverse from 7.15.0 to 7.23.2 in /webdash (…
dependabot[bot] Nov 8, 2023
71901f3
build(deps): bump github.com/docker/docker (#733)
dependabot[bot] Nov 8, 2023
86fc92f
build(deps): bump google.golang.org/grpc from 1.27.1 to 1.56.3 (#734)
dependabot[bot] Nov 8, 2023
58e2fca
Update support for S3 directories to be passed as TES inputs
lbeckman314 Feb 9, 2024
4fa8361
Update support for Generic and AWS S3 endpoints
lbeckman314 Feb 12, 2024
52422b8
Update Nextflow source from forked to upstream
lbeckman314 Feb 12, 2024
65111c4
Update config.yaml
lbeckman314 Feb 15, 2024
83a2375
Update config.yaml
lbeckman314 Feb 15, 2024
2e84205
Add netlify.toml for site preview builds
lbeckman314 Feb 15, 2024
af3dca9
Update netlify.toml
lbeckman314 Feb 15, 2024
ed748bf
Update netlify.toml
lbeckman314 Feb 15, 2024
5e1f668
Update netlify.toml
lbeckman314 Feb 15, 2024
581288c
Update website config.yaml
lbeckman314 Feb 15, 2024
ae1518f
Update netlify.toml
lbeckman314 Feb 15, 2024
ae917df
Update netlify.toml
lbeckman314 Feb 15, 2024
bdfb46f
Update netlify.toml
lbeckman314 Feb 15, 2024
26b2e46
Update netlify.toml
lbeckman314 Feb 15, 2024
0a97bd4
Update netlify.toml
lbeckman314 Feb 15, 2024
8ce27ae
Update netlify.toml
lbeckman314 Feb 15, 2024
8f70f6c
Update site config.yaml
lbeckman314 Feb 15, 2024
641fd1f
Add initial steps for Google Cloud Storage test
lbeckman314 Mar 5, 2024
af15bc2
Add Google Project (bmeg.io) for Google Cloud Storage test
lbeckman314 Mar 5, 2024
0e6b947
Replace Gen3 Google Project with bmeg.io
lbeckman314 Mar 5, 2024
2078228
Re-enable all tests and workflows
lbeckman314 Mar 5, 2024
71840a6
Fix minor formatting issue in S3 MinIO test workflow
lbeckman314 Mar 5, 2024
7a4cf42
Debug Google Storage Github Action
lbeckman314 Mar 5, 2024
e1d6a25
Update Google Storage test workflow
lbeckman314 Mar 5, 2024
987c796
Remove Google Cloud Storage tests from Github Actions
lbeckman314 Mar 5, 2024
1edb524
Run `go mod tidy` for release
lbeckman314 Apr 26, 2024
2fe9ec0
Merge branch 'master' into release/0.11.0
lbeckman314 Apr 26, 2024
3a08ed7
Test release Nextflow workflow
lbeckman314 Apr 26, 2024
beba7bf
Add special case for Nextflow commands
lbeckman314 Apr 27, 2024
f5e8b2a
Clean up Nextflow Workflow in Github Actions
lbeckman314 Apr 27, 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
135 changes: 135 additions & 0 deletions .github/workflows/compliance-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# Workflow for running the TES compliance suite against Funnel

# This includes the following steps:
# 1. Build Funnel and store the resulting binary artifact
# 2. Install tes-compliance-suite and run against every version of TES simultaneously
# 3. start-report-deployment: Send a dispatch to the funnel-compliance repository to generate and publish
# the tes-compliance-suite report to https://ohsu-comp-bio.github.io/funnel-compliance/

# Optionally debug via SSH
# Ref: https://fleetdm.com/engineering/tips-for-github-actions-usability
#
# To use this step uncomment and place anywhere in the build steps. The build will pause on this step and
# output a ssh address associated with the Github action worker. Helpful for debugging build steps and
# and intermediary files/artifacts.
#
# - name: "Debug: Package dependancies for tmate (CentOS)"
# run: |
# yum install -y xz
# ln -s /bin/true /bin/apt-get
#
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3

name: Compliance Test

on:
push:

jobs:
build:
runs-on: ubuntu-latest
container: quay.io/ohsu-comp-bio/slurm
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: 1.21

- name: Check out code
uses: actions/checkout@v2

- name: Build
run: make build

- name: Store funnel
uses: actions/upload-artifact@v2
with:
name: funnelBin
path: funnel

compliance:
strategy:
fail-fast: false
matrix:
version: [1.0.0, 1.1.0]
db: ["boltdb", "mongodb"]
compute: ["local", "slurm"]
needs: build
runs-on: ubuntu-latest
container:
image: quay.io/ohsu-comp-bio/slurm
options: --hostname slurmctl --cap-add sys_admin
steps:
# Required to access the 'tests/mongo.config.yml' file
# Perhaps uploading it as an artifact would be more efficient?
- name: Check out code
uses: actions/checkout@v2

- uses: actions/download-artifact@v3
with:
name: funnelBin

- name: Start Funnel server
run: |
touch config.yml
if [ ${{ matrix.db }} = "mongodb" ]; then
make start-mongodb
cat `pwd`/tests/mongo.config.yml >> config.yml
# Required for Funnel to connect MongoDB
echo "172.17.0.1 localhost" >> /etc/hosts
elif [ ${{ matrix.compute }} = "slurm" ]; then
cat `pwd`/tests/slurm.config.yml >> config.yml
cp config.yml /opt/funnel_config.yml
# Start Slurm
/usr/local/bin/docker-entrypoint.sh
fi
chmod +x funnel
FLAGS="--config `pwd`/config.yml"
./funnel server run $FLAGS &> funnel.logs &

- name: Run OpenAPI Test Runner
run: |
# Clone the 'upstream' OpenAPI Test Runner when PR #65 is merged
# https://github.com/elixir-cloud-aai/openapi-test-runner/pull/65
# git clone https://github.com/elixir-cloud-aai/openapi-test-runner
git clone https://github.com/ohsu-comp-bio/openapi-test-runner -b fix/create-and-filter-task

cd openapi-test-runner
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python setup.py install
openapi-test-runner report --version "${{ matrix.version }}" --server "http://localhost:8000/"

- name: Install TES compliance suite
run: |
git clone https://github.com/lbeckman314/tes-compliance-suite -b feature/tesv1.1
cd tes-compliance-suite
/root/.pyenv/shims/python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python setup.py install
mkdir reports

- name: Test compliance (Report Publishing)
run: |
cd tes-compliance-suite
source venv/bin/activate
tes-compliance-suite report --version "${{ matrix.version }}" --server "http://localhost:8000/"

start-report-deployment:
needs: compliance
runs-on: ubuntu-latest
steps:
# https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#create-a-repository-dispatch-event
- name: Start report generation
uses: passeidireto/trigger-external-workflow-action@main
env:
PAYLOAD_AUTHOR: "Funnel"
PAYLOAD_REVISION: "3"
with:
repository: ohsu-comp-bio/funnel-compliance
event: start-report
github_pat: ${{ secrets.ACTIONS_TOKEN }}

67 changes: 67 additions & 0 deletions .github/workflows/nextflow.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Nextflow Test

on:
push:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: 1.21

- name: Check out code
uses: actions/checkout@v2

- name: Build Funnel (if cache does not exist)
run: make build

- name: Store Funnel
uses: actions/upload-artifact@v2
with:
name: funnelBin
path: funnel

nextflow:
runs-on: ubuntu-latest
needs: build
steps:
- name: Download Funnel
uses: actions/download-artifact@v2
with:
name: funnelBin
path: funnel

- name: Start Funnel
working-directory:
run: |
cd funnel/
chmod +x ./funnel
./funnel server --LocalStorage.AllowedDirs $HOME run &

- name: Install Nextflow
run: |
cd ..
git clone https://github.com/nextflow-io/nextflow/ -b tes-update-1.1
cd nextflow
make compile

- name: Install nf-canary and GA4GH-TES plugin
run: |
cd ..
git clone https://github.com/seqeralabs/nf-canary
cd nf-canary
cat <<EOF >> nextflow.config
plugins {
id 'nf-ga4gh'
}
process.executor = 'tes'
tes.endpoint = 'http://localhost:8000'
EOF

- name: Run nf-canary tests
run: |
cd ../nf-canary
../nextflow/launch.sh run main.nf
48 changes: 48 additions & 0 deletions .github/workflows/s3-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Credit: rhnvrm
# Adapted from: https://rohanverma.net/blog/2021/02/09/minio-github-actions/

name: S3 Integration Test

on:
push:
branches:
- main

jobs:
s3Test-integration:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Setup minio
run: |
docker run -d -p 9000:9000 --name minio \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=minioadmin" \
-v /tmp/data:/data \
-v /tmp/config:/root/.minio \
minio/minio server /data

cat <<EOF > funnel.config.yml
LocalStorage:
Disabled: true
AmazonS3:
Disabled: true
GoogleStorage:
Disabled: true
HTTPStorage:
Disabled: true
FTPStorage:
Disabled: true
GenericS3:
- Disabled: false
Endpoint: "localhost:9000"
Key: "minioadmin"
Secret: "minioadmin"
EOF

wget https://github.com/ohsu-comp-bio/funnel/releases/download/untagged-217841a99d14ccfe289c/funnel-darwin-arm64-0.11.0.tar.gz
tar -zxvf funnel-darwin-arm64-0.11.0.tar.gz
chmod +x funnel
./funnel server run --config funnel.config.yml &
./funnel task run examples/s3-test.yml
76 changes: 66 additions & 10 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
name: Go
name: Go Tests

on: [ pull_request ]
on:
push:

jobs:

lint:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.18
go-version: 1.21
- uses: actions/checkout@v3
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.52.2
args: --timeout 3m --verbose
version: latest
args: --timeout 3m --verbose -D unused -D errcheck -D staticcheck -D govet -D gosimple -D ineffassign

build:
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.18
go-version: 1.21

- name: Check out code
uses: actions/checkout@v2

- name: Build
run: go build -v ./
run: make build

- name: Store funnel
uses: actions/upload-artifact@v2
Expand All @@ -44,23 +44,30 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.18
go-version: 1.21
- name: Check out code
uses: actions/checkout@v2

- name: Unit Tests
run: make test
run: make test-verbose

mongoTest:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: 1.21

- name: Check out code
uses: actions/checkout@v2

- name: Download funnel bin
uses: actions/download-artifact@v2
with:
name: funnelBin

- name: MongoTest
run: |
chmod +x funnel
Expand All @@ -72,6 +79,10 @@ jobs:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: 1.21
- name: Check out code
uses: actions/checkout@v2

Expand All @@ -83,3 +94,48 @@ jobs:
run: |
chmod +x funnel
make test-badger

slurmTest:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: 1.21
- name: Check out code
uses: actions/checkout@v2

- name: Download funnel bin
uses: actions/download-artifact@v2
with:
name: funnelBin

- name: Slurm Test
run: |
chmod +x funnel
make test-slurm

s3Test:
runs-on: ubuntu-latest
needs: build
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: 1.21
- name: Check out code
uses: actions/checkout@v2

- name: Download funnel bin
uses: actions/download-artifact@v2
with:
name: funnelBin

- name: S3 Test
run: |
chmod +x funnel
make start-generic-s3
sleep 10
make test-generic-s3

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ docker/funnel
deployments/kubernetes/**/funnel
deployments/kubernetes/**/*.json
funnel
dist/
.vscode
Loading
Loading