Skip to content

Commit 21a9194

Browse files
authored
Merge branch 'master' into gusty-dict-applicative
2 parents 175713b + 9ffc1c0 commit 21a9194

File tree

211 files changed

+8187
-1432
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+8187
-1432
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"isRoot": true,
44
"tools": {
55
"fable": {
6-
"version": "4.5.0",
6+
"version": "4.23.0",
77
"commands": [
88
"fable"
99
]

.github/CODEOWNERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
@gusty
2+
@wallymathieu
3+
@fcallejon
4+
@cannorin
5+
@pnobre
6+

.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: 🐞 Bug Report
2+
description: Create a report to help us improve
3+
labels: ["bug", "triage"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Note: the following is not mandatory, just a guideline. Feel free to describe your bug report or suggestion in another way.
9+
- type: textarea
10+
id: background
11+
attributes:
12+
label: Description
13+
description: Please provide a succinct description of your issue.
14+
placeholder: Description
15+
validations:
16+
required: true
17+
- type: textarea
18+
id: known-workarounds
19+
attributes:
20+
label: Known Workarounds
21+
description: Please provide a description of any known workarounds.
22+
placeholder: Known Workarounds
23+
validations:
24+
required: false
25+
- type: textarea
26+
id: expected-behavior
27+
attributes:
28+
label: Expected behavior
29+
description: Provide a description of the expected behavior.
30+
placeholder: Expected behavior
31+
validations:
32+
required: false
33+
- type: textarea
34+
id: actual-behavior
35+
attributes:
36+
label: Actual behavior
37+
description: |
38+
Provide a description of the actual behavior observed. If applicable please include any error messages or exception stack-traces.
39+
placeholder: Actual behavior
40+
validations:
41+
required: false
42+
- type: textarea
43+
id: configuration
44+
attributes:
45+
label: Configuration
46+
description: |
47+
Please provide more information on your .NET configuration:
48+
* Operating system
49+
* Branch/Version
50+
* .NET Runtime, CoreCLR or Mono Version
51+
* Performance information, links to performance testing scripts
52+
placeholder: Configuration
53+
validations:
54+
required: false
55+
- type: textarea
56+
id: repro-steps
57+
attributes:
58+
label: Reproduction Steps
59+
description: |
60+
Please include minimal steps to reproduce the problem if possible. E.g.: the smallest possible code snippet; or a small project, with steps to run it.
61+
Always include text as text rather than screenshots so code can easily be copied and will show up in searches.
62+
Stack Overflow has a great article about [how to create a minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example).
63+
placeholder: Minimal Reproduction
64+
validations:
65+
required: false
66+
- type: dropdown
67+
id: pull-request
68+
attributes:
69+
label: Are you willing to help with a pull-request?
70+
description: |
71+
Make sure you have read the sections about [contributing changes](https://github.com/fsprojects/FSharpPlus/blob/master/DEVELOPER_GUIDE.md) and [design guidelines](https://github.com/fsprojects/FSharpPlus/blob/master/DESIGN_GUIDELINES.md).
72+
options:
73+
- "No"
74+
- "Yes, please assign this issue to me."
75+
validations:
76+
required: true
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: 💡 API Suggestion
2+
description: Propose a change to the public API surface
3+
title: "[API Proposal]: "
4+
labels: [api-suggestion]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
We welcome API proposals! We have a process to evaluate the value and shape of new API. This template will help us gather the information we need to start the review process.
10+
- type: textarea
11+
id: background
12+
attributes:
13+
label: Background and motivation
14+
description: Please describe the purpose and value of the new API here.
15+
placeholder: Purpose
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: api-proposal
20+
attributes:
21+
label: API Proposal
22+
description: |
23+
Please provide the specific public API signature diff that you are proposing.
24+
placeholder: API declaration (no function bodies)
25+
validations:
26+
required: true
27+
- type: textarea
28+
id: api-usage
29+
attributes:
30+
label: API Usage
31+
description: |
32+
Please provide code examples that highlight how the proposed API additions are meant to be consumed. This will help suggest whether the API has the right shape to be functional, performant and usable.
33+
placeholder: API usage
34+
validations:
35+
required: true
36+
- type: textarea
37+
id: alternative-designs
38+
attributes:
39+
label: Alternative Designs
40+
description: |
41+
Please provide alternative designs. This might not be APIs; for example instead of providing new APIs an option might be to change the behavior of an existing API.
42+
placeholder: Alternative designs
43+
validations:
44+
required: false
45+
- type: textarea
46+
id: risks
47+
attributes:
48+
label: Risks
49+
description: |
50+
Please mention any risks that to your knowledge the API proposal might entail, such as breaking changes, performance regressions, etc.
51+
placeholder: Risks
52+
validations:
53+
required: false
54+
- type: dropdown
55+
id: pull-request
56+
attributes:
57+
label: Are you willing to help with a proof-of-concept (as PR in that or a separate repo) first and as pull-request later on?
58+
description: |
59+
This is mainly to help demonstrate your suggestion.
60+
Make sure you have read the sections about [contributing changes](https://github.com/fsprojects/FSharpPlus/blob/master/DEVELOPER_GUIDE.md) and [design guidelines](https://github.com/fsprojects/FSharpPlus/blob/master/DESIGN_GUIDELINES.md).
61+
Beware we might not accept the PR as is, but it will help us understand your suggestion better.
62+
options:
63+
- "No"
64+
- "Yes, please assign this issue to me."
65+
validations:
66+
required: true
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: 💡 General feature (not including API proposals)
2+
description: Discuss a new feature that does not change the public API surface
3+
title: "[Feature]: "
4+
labels: [feature, triage]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
You have an idea for a new feature? Cool, let's discuss it.
10+
- type: textarea
11+
id: background
12+
attributes:
13+
label: Background and motivation
14+
description: Please describe the purpose of the new feature.
15+
placeholder: Purpose
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: alternative-concerns
20+
attributes:
21+
label: Alternative Concerns
22+
description: |
23+
Please provide alternatives you have thought about.
24+
placeholder: Alternative designs
25+
validations:
26+
required: false
27+
- type: dropdown
28+
id: pull-request
29+
attributes:
30+
label: Are you willing help with a pull-request?
31+
description: |
32+
Make sure you have read the sections about [contributing changes](https://github.com/fsprojects/FSharpPlus/blob/master/DEVELOPER_GUIDE.md) and [design guidelines](https://github.com/fsprojects/FSharpPlus/blob/master/DESIGN_GUIDELINES.md).
33+
Beware we might not accept the PR as is, but it will help us understand your suggestion better.
34+
options:
35+
- "No"
36+
- "Yes, please assign this issue to me."
37+
validations:
38+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: 📚 Documentation
4+
url: https://fsprojects.github.io/FSharpPlus/
5+
about: Read our documentation.
6+
- name: 💬 Ask on Stack Overflow
7+
url: https://stackoverflow.com/questions/tagged/f%23%2b
8+
about: The best place for asking general purpose questions.

.github/release.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
changelog:
2+
exclude:
3+
labels:
4+
- changelog-ignore
5+
authors: [ ]
6+
categories:
7+
- title: Breaking Changes
8+
labels:
9+
- "breaking change"
10+
- title: New features
11+
labels:
12+
- "feature"
13+
- "add"
14+
- title: Improvements
15+
labels:
16+
- "enhancement"
17+
- "performance"
18+
- title: Fixes
19+
labels:
20+
- "bug"
21+
- "regression"
22+
- "fix"
23+
- title: Documentation
24+
labels:
25+
- "documentation"
26+
- title: Others
27+
labels:
28+
- "*"

.github/workflows/dotnetcore.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@ env:
55
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
66
# Disable sending usage data to Microsoft
77
DOTNET_CLI_TELEMETRY_OPTOUT: true
8-
# GitHub Packages Feed settings
9-
GITHUB_FEED: https://nuget.pkg.github.com/fsprojects
10-
GITHUB_USER: fsprojects
11-
#GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
128

139
on:
1410
push:
@@ -41,7 +37,9 @@ jobs:
4137

4238
package:
4339
runs-on: windows-latest
44-
40+
permissions:
41+
packages: write
42+
contents: read
4543
steps:
4644
- uses: actions/checkout@v2
4745
- name: Setup .NET Core
@@ -70,17 +68,19 @@ jobs:
7068
- name: Package
7169
run: dotnet pack build.proj --version-suffix ${{ steps.version_suffix.outputs.version_suffix }}
7270
- name: Upload Artifacts
73-
uses: actions/upload-artifact@v2
71+
uses: actions/upload-artifact@v4
7472
with:
75-
name: nupkg
73+
name: nupkg-${{ matrix.runs-on }}
7674
path: ./bin/nupkg/*.nupkg
77-
#- name: Push to GitHub Feed
78-
# shell: bash
79-
# run: |
80-
# for f in ./bin/nupkg/*.nupkg
81-
# do
82-
# curl -vX PUT -u "$GITHUB_USER:$GITHUB_TOKEN" -F package=@$f $GITHUB_FEED
83-
# done
75+
- name: Push to GitHub Feed
76+
continue-on-error: true
77+
shell: bash
78+
run: |
79+
for f in ./bin/nupkg/*.nupkg
80+
do
81+
echo $f
82+
dotnet nuget push $f -k ${{ secrets.GITHUB_TOKEN }} -s https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json
83+
done
8484
8585
docs:
8686
runs-on: windows-latest

.github/workflows/fable.yml

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -8,44 +8,6 @@ on:
88

99

1010
jobs:
11-
testfable3:
12-
runs-on: ubuntu-latest
13-
14-
steps:
15-
- uses: actions/checkout@v2
16-
- name: Restore
17-
run: git submodule update --init --recursive
18-
- name: Remove global json
19-
run: rm global.json
20-
- name: Set target framework to net6 instead of net8
21-
uses: Mudlet/xmlstarlet-action@master
22-
with:
23-
args: edit --inplace --update "/Project/PropertyGroup/TargetFrameworks" --value "netstandard2.0;netstandard2.1;net6.0" ./src/FSharpPlus/FSharpPlus.fsproj
24-
- name: Setup .NET Core
25-
uses: actions/setup-dotnet@v3
26-
with:
27-
dotnet-version: |
28-
8.0.x
29-
7.0.x
30-
6.0.x
31-
- name: Restore tools
32-
run: dotnet tool restore
33-
- name: Create global.json
34-
working-directory: tests/FSharpPlusFable.Tests
35-
run: mv fable3-global.json global.json
36-
- name: Install fable
37-
run: dotnet tool install --global Fable --version 3.7.22
38-
- name: Use Node.js
39-
uses: actions/setup-node@v1
40-
with:
41-
node-version: '12.x'
42-
- name: Install npm dependencies
43-
working-directory: tests/FSharpPlusFable.Tests
44-
run: npm install
45-
- name: Run Fable tests
46-
working-directory: tests/FSharpPlusFable.Tests
47-
run: fable . --outDir bin --runScript ./bin
48-
4911
testfable4:
5012
runs-on: ubuntu-latest
5113

@@ -81,30 +43,3 @@ jobs:
8143
working-directory: tests/FSharpPlusFable.Tests
8244
run: fable . --outDir bin --runScript ./bin
8345

84-
testFable3SubsetOnCore:
85-
runs-on: ubuntu-latest
86-
87-
steps:
88-
- uses: actions/checkout@v2
89-
- name: Restore
90-
run: git submodule update --init --recursive
91-
- name: Remove global json
92-
run: rm global.json
93-
- name: Setup .NET Core
94-
uses: actions/setup-dotnet@v3
95-
with:
96-
dotnet-version: |
97-
8.0.x
98-
7.0.x
99-
6.0.x
100-
- name: Restore tools
101-
run: dotnet tool restore
102-
# - name: Run tests (Fable2 subset but on .net)
103-
# working-directory: tests/FSharpPlusFable.Tests
104-
# run: dotnet run -c Fable
105-
- name: Run tests (Fable3 subset but on .net)
106-
working-directory: tests/FSharpPlusFable.Tests
107-
run: dotnet run -c Fable3
108-
- name: Run tests (Full subset for of tests .net)
109-
working-directory: tests/FSharpPlusFable.Tests
110-
run: dotnet run -c Release

0 commit comments

Comments
 (0)