Skip to content

Commit b0da4b7

Browse files
authored
Merge branch 'release/v0.1.1'
2 parents 909fc5d + 768a009 commit b0da4b7

File tree

16 files changed

+118
-145
lines changed

16 files changed

+118
-145
lines changed

.github/workflows/CompatHelper.yml

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,26 @@
11
name: CompatHelper
2-
32
on:
43
schedule:
5-
- cron: '00 00 * * *'
6-
4+
- cron: 0 0 * * *
5+
workflow_dispatch:
76
jobs:
87
CompatHelper:
98
runs-on: ubuntu-latest
109
steps:
11-
- uses: julia-actions/setup-julia@latest
12-
with:
13-
version: 1.3
14-
- name: Add CompatHelper
15-
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
16-
- name: Run CompatHelper
10+
- name: "Install CompatHelper"
11+
run: |
12+
import Pkg
13+
name = "CompatHelper"
14+
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
15+
version = "2"
16+
Pkg.add(; name, uuid, version)
17+
shell: julia --color=yes {0}
18+
- name: "Run CompatHelper"
19+
run: |
20+
import CompatHelper
21+
CompatHelper.main(master_branch = "master")
22+
shell: julia --color=yes {0}
1723
env:
1824
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19-
run: julia -e '
20-
using CompatHelper, Pkg;
21-
my_registries = [
22-
Pkg.RegistrySpec(
23-
name = "BioJuliaRegistry",
24-
uuid = "ccbd2cc2-2954-11e9-1ccf-f3e7900901ca",
25-
url = "https://github.com/BioJulia/BioJuliaRegistry.git"
26-
),
27-
Pkg.RegistrySpec(
28-
name = "General",
29-
uuid = "23338594-aafe-5451-b93e-139f81909106",
30-
url = "https://github.com/JuliaRegistries/General.git"
31-
)
32-
];
33-
CompatHelper.main(; registries = my_registries, master_branch = "master");'
25+
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
26+
# COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }}

.github/workflows/Documentation.yml

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,21 @@
11
name: Documentation
2-
32
on:
4-
push:
5-
branches:
6-
- 'master'
7-
- 'develop'
8-
- 'release/.*'
9-
tags: '*'
10-
pull_request:
3+
push:
4+
branches:
5+
- master
6+
- develop
7+
- release/*
8+
tags: '*'
9+
pull_request:
1110

1211
jobs:
13-
build:
14-
runs-on: ${{ matrix.os }}
15-
strategy:
16-
matrix:
17-
julia-version: [1.3.0]
18-
julia-arch: [x86]
19-
os: [ubuntu-latest]
12+
Documenter:
13+
name: Documentation
14+
runs-on: ubuntu-latest
2015
steps:
21-
- uses: actions/checkout@v1.0.0
22-
- uses: julia-actions/setup-julia@latest
23-
with:
24-
version: ${{ matrix.julia-version }}
25-
- name: Install dependencies
26-
run: |
27-
julia ci_prep.jl;
28-
julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
29-
- name: Build and deploy
16+
- uses: actions/checkout@v2
17+
- uses: julia-actions/julia-buildpkg@v1
18+
- uses: julia-actions/julia-docdeploy@v1
3019
env:
31-
# https://github.com/JuliaDocs/Documenter.jl/issues/1177
32-
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
33-
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key
34-
run: julia --project=docs/ --color=yes docs/make.jl
20+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}

.github/workflows/TagBot.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
name: TagBot
2+
23
on:
3-
schedule:
4-
- cron: '0 * * * *'
4+
issue_comment:
5+
types:
6+
- created
7+
workflow_dispatch:
8+
59
jobs:
610
TagBot:
11+
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
712
runs-on: ubuntu-latest
813
steps:
914
- uses: JuliaRegistries/TagBot@v1
1015
with:
1116
token: ${{ secrets.GITHUB_TOKEN }}
12-
ssh: ${{ secrets.TAGBOT_KEY }}
13-
registry: BioJulia/BioJuliaRegistry
17+
ssh: ${{ secrets.DOCUMENTER_KEY }}

.github/workflows/UnitTests.yml

Lines changed: 36 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,48 @@
1-
name: Unit tests
1+
name: Unit Tests
22

3-
on: [push, pull_request]
3+
on:
4+
- push
5+
- pull_request
46

57
jobs:
68
test:
9+
name: Julia ${{ matrix.julia-version }} - ${{ matrix.os }} - ${{ matrix.julia-arch }} - ${{ github.event_name }}
710
runs-on: ${{ matrix.os }}
11+
continue-on-error: ${{ matrix.experimental }}
812
strategy:
13+
fail-fast: false
914
matrix:
10-
julia-version: ['1.1', '1.2', '1.3']
11-
julia-arch: [x64]
15+
julia-version:
16+
- '1.0' # LTS
17+
- '1'
18+
julia-arch: [x64, x86]
1219
os: [ubuntu-latest, windows-latest, macOS-latest]
20+
exclude:
21+
- os: macOS-latest
22+
julia-arch: x86
23+
experimental: [false]
24+
include:
25+
- julia-version: nightly
26+
julia-arch: x64
27+
os: ubuntu-latest
28+
experimental: true
1329

1430
steps:
15-
- uses: actions/checkout@v1.0.0
16-
- uses: julia-actions/setup-julia@v1
31+
- name: Checkout Repository
32+
uses: actions/checkout@v2
33+
- name: Setup Julia
34+
uses: julia-actions/setup-julia@v1
1735
with:
1836
version: ${{ matrix.julia-version }}
19-
arch: ${{ matrix.julia-arch }}
20-
- name: Install dependencies
21-
run: julia ci_prep.jl
22-
- uses: julia-actions/julia-runtest@master
37+
- name: Run Tests
38+
uses: julia-actions/julia-runtest@v1
39+
- name: Create CodeCov
40+
uses: julia-actions/julia-processcoverage@v1
41+
- name: Upload CodeCov
42+
uses: codecov/codecov-action@v1
43+
with:
44+
file: ./lcov.info
45+
flags: unittests
46+
name: codecov-umbrella
47+
fail_ci_if_error: false
48+
token: ${{ secrets.CODECOV_TOKEN }}

Project.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "GFF3"
22
uuid = "af1dc308-cb6b-11e8-32f0-31192efa90f6"
33
authors = ["Kenta Sato <bicycle1885@gmail.com>", "Daniel C. Jones <dcjones@cs.washington.edu>", "Ben J. Ward <ward9250@gmail.com>", "Ciarán O’Mara <Ciaran.OMara@utas.edu.au>"]
4-
version = "0.1.0"
4+
version = "0.1.1"
55

66
[deps]
77
Automa = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b"
@@ -24,12 +24,13 @@ FASTX = "1"
2424
GenomicFeatures = "2"
2525
Indexes = "0.1"
2626
URIParser = "0.4"
27-
julia = "1.1"
27+
julia = "1"
2828

2929
[extras]
3030
BioSequences = "7e6ae17a-c86d-528c-b3b9-7f778a29fe59"
31+
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
3132
FormatSpecimens = "3372ea36-2a1a-11e9-3eb7-996970b6ffbd"
3233
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
3334

3435
[targets]
35-
test = ["BioSequences", "FormatSpecimens", "Test"]
36+
test = ["BioSequences", "Documenter", "FormatSpecimens", "Test"]

README.md

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,11 @@
1010
> This project follows the [semver](http://semver.org) pro forma and uses the [git-flow branching model](https://nvie.com/posts/a-successful-git-branching-model/ "original blog post").
1111
1212
## Description
13-
GFF3 provides I/O and utilities for the GFF3 file format.
13+
The GFF3 package provides I/O and utilities for the GFF3 file format.
1414

1515
## Installation
16-
The latest version of GFF3 is made available to install through BioJulia's package registry.
17-
By default, Julia's package manager only includes the "General" package registry.
18-
19-
To add the BioJulia registry from the [Julia REPL](https://docs.julialang.org/en/v1/manual/getting-started/), press `]` to enter [pkg mode](https://docs.julialang.org/en/v1/stdlib/Pkg/), then enter the following command:
20-
```julia
21-
registry add https://github.com/BioJulia/BioJuliaRegistry.git
22-
```
23-
24-
After adding the registry to your configuration, you can install GFF3 while in [pkg mode](https://docs.julialang.org/en/v1/stdlib/Pkg/) with the following:
16+
You can install the GFF3 package from the [Julia REPL](https://docs.julialang.org/en/v1/manual/getting-started/).
17+
Press `]` to enter [pkg mode](https://docs.julialang.org/en/v1/stdlib/Pkg/), then enter the following command:
2518
```julia
2619
add GFF3
2720
```
@@ -34,8 +27,8 @@ GFF3 is tested against Julia `1.X` on Linux, OS X, and Windows.
3427

3528
**Latest build status:**
3629

37-
[![Unit tests](https://github.com/BioJulia/GFF3.jl/workflows/Unit%20tests/badge.svg?branch=master)](https://github.com/BioJulia/GFF3.jl/actions?query=workflow%3A%22Unit+tests%22+branch%3Amaster)
38-
[![Documentation](https://github.com/BioJulia/GFF3.jl/workflows/Documentation/badge.svg?branch=master)](https://github.com/BioJulia/GFF3.jl/actions?query=workflow%3ADocumentation+branch%3Amaster)
30+
[![Unit Tests](https://github.com/BioJulia/GFF3.jl/actions/workflows/UnitTests.yml/badge.svg?branch=master)](https://github.com/BioJulia/GFF3.jl/actions/workflows/UnitTests.yml?query=branch%3Amaster)
31+
[![Documentation](https://github.com/BioJulia/GFF3.jl/actions/workflows/Documentation.yml/badge.svg?branch=master)](https://github.com/BioJulia/GFF3.jl/actions/workflows/Documentation.yml?query=branch%3Amaster)
3932
[![codecov](https://codecov.io/gh/BioJulia/GFF3.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/BioJulia/GFF3.jl)
4033

4134
## Contributing

ci_prep.jl

Lines changed: 0 additions & 3 deletions
This file was deleted.

coverage/Project.toml

Lines changed: 0 additions & 2 deletions
This file was deleted.

coverage/coverage.jl

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
33
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
44

55
[compat]
6-
Documenter = "0.24"
6+
Documenter = "0.27"

docs/make.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ using Pkg
22
using Documenter, GFF3
33

44
makedocs(
5+
checkdocs = :all,
6+
linkcheck = true,
57
format = Documenter.HTML(
68
edit_link = "develop"
79
),

docs/src/index.md

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,11 @@
1010
> This project follows the [semver](http://semver.org) pro forma and uses the [git-flow branching model](https://nvie.com/posts/a-successful-git-branching-model/).
1111
1212
## Description
13-
GFF3 provides I/O and utilities for the GFF3 file format.
13+
The GFF3 package provides I/O and utilities for the GFF3 file format.
1414

1515
## Installation
16-
The latest version of GFF3 is made available to install through BioJulia's package registry.
17-
By default, Julia's package manager only includes the "General" package registry.
18-
19-
To add the BioJulia registry from the [Julia REPL](https://docs.julialang.org/en/v1/manual/getting-started/), press `]` to enter [pkg mode](https://docs.julialang.org/en/v1/stdlib/Pkg/), then enter the following command:
20-
```julia
21-
registry add https://github.com/BioJulia/BioJuliaRegistry.git
22-
```
23-
24-
After adding the registry to your configuration, you can install GFF3 while in [pkg mode](https://docs.julialang.org/en/v1/stdlib/Pkg/) with the following:
16+
You can install the GFF3 package from the [Julia REPL](https://docs.julialang.org/en/v1/manual/getting-started/).
17+
Press `]` to enter [pkg mode](https://docs.julialang.org/en/v1/stdlib/Pkg/), then enter the following command:
2518
```julia
2619
add GFF3
2720
```
@@ -34,8 +27,8 @@ GFF3 is tested against Julia `1.X` on Linux, OS X, and Windows.
3427

3528
**Latest build status:**
3629

37-
[![Unit tests](https://github.com/BioJulia/GFF3.jl/workflows/Unit%20tests/badge.svg?branch=master)](https://github.com/BioJulia/GFF3.jl/actions?query=workflow%3A%22Unit+tests%22+branch%3Amaster)
38-
[![Documentation](https://github.com/BioJulia/GFF3.jl/workflows/Documentation/badge.svg?branch=master)](https://github.com/BioJulia/GFF3.jl/actions?query=workflow%3ADocumentation+branch%3Amaster)
30+
[![Unit Tests](https://github.com/BioJulia/GFF3.jl/actions/workflows/UnitTests.yml/badge.svg?branch=master)](https://github.com/BioJulia/GFF3.jl/actions/workflows/UnitTests.yml?query=branch%3Amaster)
31+
[![Documentation](https://github.com/BioJulia/GFF3.jl/actions/workflows/Documentation.yml/badge.svg?branch=master)](https://github.com/BioJulia/GFF3.jl/actions/workflows/Documentation.yml?query=branch%3Amaster)
3932
[![codecov](https://codecov.io/gh/BioJulia/GFF3.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/BioJulia/GFF3.jl)
4033

4134
## Contributing

src/GFF3.jl

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33

44
module GFF3
55

6+
using BioCore
7+
using Indexes
8+
using FASTX.FASTA #TODO: move responsibility to FASTX.jl.
9+
610
import Automa
711
import Automa.RegExp: @re_str
812
import BGZFStreams
@@ -12,11 +16,6 @@ import BufferedStreams
1216
import GenomicFeatures: GenomicFeatures, Interval, IntervalCollection
1317
import URIParser
1418

15-
using BioCore
16-
using Indexes
17-
using FASTX.FASTA #TODO: move responsibility to FASTX.jl.
18-
19-
2019
include("record.jl")
2120
include("reader.jl")
2221
include("writer.jl")

src/reader.jl

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,7 @@ mutable struct Reader <: BioCore.IO.AbstractReader
1111
directive_count::Int
1212
preceding_directive_count::Int
1313

14-
function Reader(input::BufferedStreams.BufferedInputStream,
15-
index=nothing,
16-
save_directives::Bool=false,
17-
skip_features::Bool=false, skip_directives::Bool=true, skip_comments::Bool=true)
14+
function Reader(input::BufferedStreams.BufferedInputStream, index=nothing, save_directives::Bool=false, skip_features::Bool=false, skip_directives::Bool=true, skip_comments::Bool=true)
1815
if isa(index, Indexes.Tabix) && !isa(input.source, BGZFStreams.BGZFStream)
1916
throw(ArgumentError("not a BGZF stream"))
2017
end
@@ -61,20 +58,15 @@ Arguments
6158
- `skip_directives`: flag to skip directive records
6259
- `skip_comments`: flag to skip comment records
6360
"""
64-
function Reader(input::IO;
65-
index=nothing,
66-
save_directives::Bool=false,
67-
skip_features::Bool=false, skip_directives::Bool=true, skip_comments::Bool=true)
61+
function Reader(input::IO; index=nothing, save_directives::Bool=false, skip_features::Bool=false, skip_directives::Bool=true, skip_comments::Bool=true)
62+
6863
if isa(index, AbstractString)
6964
index = Indexes.Tabix(index)
7065
end
7166
return Reader(BufferedStreams.BufferedInputStream(input), index, save_directives, skip_features, skip_directives, skip_comments)
7267
end
7368

74-
function Reader(filepath::AbstractString;
75-
index=:auto,
76-
save_directives::Bool=false,
77-
skip_features::Bool=false, skip_directives::Bool=true, skip_comments::Bool=true)
69+
function Reader(filepath::AbstractString; index=:auto, save_directives::Bool=false, skip_features::Bool=false, skip_directives::Bool=true, skip_comments::Bool=true)
7870
if isa(index, Symbol) && index != :auto
7971
throw(ArgumentError("invalid index argument: ':$(index)'"))
8072
end
@@ -86,11 +78,7 @@ function Reader(filepath::AbstractString;
8678
else
8779
input = open(filepath)
8880
end
89-
return Reader(
90-
input,
91-
index=index,
92-
save_directives=save_directives,
93-
skip_features=skip_features, skip_directives=skip_directives, skip_comments=skip_comments)
81+
return Reader(input, index=index, save_directives=save_directives, skip_features=skip_features, skip_directives=skip_directives, skip_comments=skip_comments)
9482
end
9583

9684
function Base.eltype(::Type{Reader})
@@ -144,9 +132,8 @@ Return true if the GFF3 stream is at its end and there is trailing FASTA data.
144132
function hasfasta(reader::Reader)
145133
if eof(reader)
146134
return reader.found_fasta
147-
else
148-
error("GFF3 file must be read until the end before any FASTA sequences can be accessed")
149135
end
136+
error("GFF3 file must be read until the end before any FASTA sequences can be accessed")
150137
end
151138

152139
"""

0 commit comments

Comments
 (0)