Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
12 changes: 6 additions & 6 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
"version": 1,
"isRoot": true,
"tools": {
"fake-cli": {
"version": "5.20.3",
"fsdocs-tool": {
"version": "20.0.0",
"commands": [
"fake"
"fsdocs"
]
},
"fsharp.formatting.commandtool": {
"version": "11.1.0",
"dotnet-repl": {
"version": "0.1.216",
"commands": [
"fsdocs"
"dotnet-repl"
]
}
}
Expand Down
19 changes: 11 additions & 8 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,14 +89,17 @@ Here is a brief overview of our main projects (also available [here](https://git

### Build process

Our F# projects use the [ProjectScaffold](https://github.com/fsprojects/ProjectScaffold) layout. To build our projects, you will need [.NET Core SDK](https://dotnet.microsoft.com/download) and an installation of [FAKE5 CLI]().
The build is driven by a [FAKE](https://fake.build/) build project in `build/`, invoked through the `build.cmd` / `build.sh` wrappers. You need the [.NET SDK](https://dotnet.microsoft.com/download) version pinned in `global.json`.

All projects have at least the following build targets:
The most important build targets:

|Target|Description|Command Line Arguments|
|Target|Description|Command Line|
|---|---|---|
|Build|Builds the binaries and docs|fake build|
|ReleaseLocal|Uses Build. Afterwards creates a folder structure so you can see the docs with proper style and relative paths in temp/localDocs. Use this to test documentation. | fake build --target releaselocal|
|BuildSolution (default)|Cleans and builds the solution|`./build.cmd`|
|RunTests|Builds and runs the test suite|`./build.cmd runtests`|
|RunTestsWithCodeCov|Runs the tests with AltCover coverage (writes `codeCov.xml`)|`./build.cmd runtestswithcodecov`|
|BuildDocs|Builds the documentation site into `output/` (run `dotnet tool restore` once first)|`./build.cmd builddocs`|
|WatchDocs|Serves the docs locally with live reload (run `dotnet tool restore` once first). Use this to test documentation.|`./build.cmd watchdocs`|

## How can i contribute?

Expand Down Expand Up @@ -196,11 +199,11 @@ One of our biggest weakness at the moment are unit tests. We will love everyone

### Documentation guidelines

The docs in our repos are built by the [F# Formatting Documentation tools](http://fsprojects.github.io/FSharp.Formatting/) which parse `.fsx` files in the docsrc/content folder to generate html files. Again, no strict rules here, just a few minor guidelines:
The docs in our repos are built by [fsdocs](https://fsprojects.github.io/FSharp.Formatting/) (the `fsdocs-tool` pinned in `.config/dotnet-tools.json`), which turns `.md` and `.fsx` files in the `docs/` folder into the html site and generates the API reference from the compiled assemblies. Again, no strict rules here, just a few minor guidelines:

* If you add or change functionality to a project, please consider adding/changing the respective documentation script. If you dont have time to do that, please comment it on your pull request.
* If you add or change functionality to a project, please consider adding/changing the respective documentation page. If you dont have time to do that, please comment it on your pull request.

* Most documentation is written in a tutorial-style manner. If you use external files in your examples, put them into docsrc/content/data.
* Most documentation is written in a tutorial-style manner. If you use external files in your examples, put them under `docs/`.

* API References are built from triple frontslash comments (`///`), please consider adding those above the functions/types/classes you are adding.

Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Build and test

on:
push:
branches: [ developer, main ]
pull_request:
branches: [ developer, main ]

jobs:
build-and-test-linux:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
8.x
10.x
- name: make script executable
run: chmod u+x build.sh
- name: Build and test
working-directory: ./
run: ./build.sh runtests

build-and-test-windows:

runs-on: windows-latest

steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
8.x
10.x
- name: Build and test
working-directory: ./
run: ./build.cmd runtestswithcodecov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: false # requires the CODECOV_TOKEN secret to be configured
files: ./codeCov.xml
name: codecov-umbrella # optional
token: ${{ secrets.CODECOV_TOKEN }} # required
verbose: true # optional (default = false)
34 changes: 34 additions & 0 deletions .github/workflows/deploy-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Deploy Docs

on:
push:
branches: [ main ]
paths:
- 'docs/**'

permissions:
contents: write

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: make script executable
run: chmod u+x build.sh
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
8.x
10.x
- name: restore tools
run: dotnet tool restore
- name: Build Docs
working-directory: ./
run: ./build.sh builddocs
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: output # The folder the action should deploy.
36 changes: 0 additions & 36 deletions .github/workflows/deploy.yml

This file was deleted.

6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
[Dd]ebug/
[Rr]elease/
x64/
build/
[Bb]in/
[Oo]bj/

Expand Down Expand Up @@ -185,3 +184,8 @@ temp
/codeCov.xml
/.fsdocs
/output
docs/.fsdocs/
docs/tmp/watch/
tmp/watch/
.fsdocs
/tests/BioFSharp.Mz.Tests/coverage.xml
34 changes: 6 additions & 28 deletions BioFSharp.Mz.sln
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,16 @@
# Visual Studio Version 16
VisualStudioVersion = 16.0.29806.167
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{63297B98-5CED-492C-A5B7-A5B4F73CF142}"
ProjectSection(SolutionItems) = preProject
paket.dependencies = paket.dependencies
paket.lock = paket.lock
paket.references = paket.references
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{A6A6AF7D-D6E3-442D-9B1E-58CC91879BE1}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "BioFSharp.Mz", "src\BioFSharp.Mz\BioFSharp.Mz.fsproj", "{C11E9782-6300-40E5-AE37-32197AD9F78D}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "build", "build\build.fsproj", "{A3C577D1-8E42-4A6B-9F30-6C5D21B0E7A4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{BF60BC93-E09B-4E5F-9D85-95A519479D54}"
ProjectSection(SolutionItems) = preProject
README.md = README.md
RELEASE_NOTES.md = RELEASE_NOTES.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{83F16175-43B1-4C90-A1EE-8E351C33435D}"
ProjectSection(SolutionItems) = preProject
docsrc\files\styles\CSBStyles.css = docsrc\files\styles\CSBStyles.css
docsrc\tools\generate.fsx = docsrc\tools\generate.fsx
docsrc\tools\templates\template.cshtml = docsrc\tools\templates\template.cshtml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{8E6D5255-776D-4B61-85F9-73C37AA1FB9A}"
ProjectSection(SolutionItems) = preProject
docsrc\content\index.fsx = docsrc\content\index.fsx
docsrc\content\tutorial.fsx = docsrc\content\tutorial.fsx
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{ED8079DD-2B06-4030-9F0F-DC548F98E1C4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "git", "git", "{078A9C52-DDC1-46F4-9235-9E6C89C87AFD}"
Expand All @@ -48,11 +28,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "git", "git", "{078A9C52-DDC
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".build", ".build", "{7C6D08E7-3EAC-4335-8F4B-252C193C27C9}"
ProjectSection(SolutionItems) = preProject
.travis.yml = .travis.yml
appveyor.yml = appveyor.yml
build.cmd = build.cmd
build.fsx = build.fsx
build.proj = build.proj
build.sh = build.sh
EndProjectSection
EndProject
Expand All @@ -78,13 +54,15 @@ Global
{D83DA3EA-3EBB-42EF-99AB-2E0DDC5A5E70}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D83DA3EA-3EBB-42EF-99AB-2E0DDC5A5E70}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D83DA3EA-3EBB-42EF-99AB-2E0DDC5A5E70}.Release|Any CPU.Build.0 = Release|Any CPU
{A3C577D1-8E42-4A6B-9F30-6C5D21B0E7A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A3C577D1-8E42-4A6B-9F30-6C5D21B0E7A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A3C577D1-8E42-4A6B-9F30-6C5D21B0E7A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A3C577D1-8E42-4A6B-9F30-6C5D21B0E7A4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{83F16175-43B1-4C90-A1EE-8E351C33435D} = {A6A6AF7D-D6E3-442D-9B1E-58CC91879BE1}
{8E6D5255-776D-4B61-85F9-73C37AA1FB9A} = {A6A6AF7D-D6E3-442D-9B1E-58CC91879BE1}
{D83DA3EA-3EBB-42EF-99AB-2E0DDC5A5E70} = {ED8079DD-2B06-4030-9F0F-DC548F98E1C4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
Expand Down
6 changes: 6 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
#### 0.2.0 (Released 2026-08-29)

* Upgrade to BioFSharp 2.0.0 (bundles the former BioFSharp.IO package) and migrate the codebase over the breaking API changes
* Align the dependency stack: FSharpAux / FSharpAux.IO 2.1.0, FSharp.Stats 0.6.0, Newtonsoft.Json 13.0.4, Plotly.NET 6.0.0-preview.2
* Replace the legacy FAKE 5 build script with the FAKE 6 build project ported from BioFSharp (build.cmd / build.sh wrappers, GitHub Actions build-test and gh-pages docs deployment, fsdocs 20 documentation pipeline)

#### 0.1.5 - Friday, February 19, 2021
* SignalDetection: add option for peak summation and intensity weighted based mz refinement

Expand Down
31 changes: 0 additions & 31 deletions appveyor.yml

This file was deleted.

6 changes: 4 additions & 2 deletions build.cmd
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
dotnet tool restore
dotnet fake build %*
@echo off
cls

dotnet run --project ./build/build.fsproj %*
Loading
Loading