# SPDX-License-Identifier: CC0-1.0 language = 'F#' display = "F# 9.0 (.NET 9.0.8)" license = [ { name = 'MIT', url = 'https://github.com/dotnet/sdk/blob/main/LICENSE.TXT' }, { name = 'MIT', url = 'https://github.com/dotnet/runtime/blob/main/LICENSE.TXT' }, { name = 'MIT', url = 'https://github.com/dotnet/fsharp/blob/main/License.txt' }, ] library.ac-library-csharp = { license = [ { name = 'CC0-1.0', url = 'https://github.com/kzrnm/ac-library-csharp/blob/main/Source/ac-library-csharp/LICENSE' }, ], version = '3.9.2-atcoder1' } library.'MathNet.Numerics' = { license = [ { name = 'MIT', url = 'https://github.com/mathnet/mathnet-numerics/blob/master/LICENSE.md' }, ], version = '5.0.0' } library.'MathNet.Numerics.FSharp' = { license = [ { name = 'MIT', url = 'https://github.com/mathnet/mathnet-numerics/blob/master/LICENSE.md' }, ], version = '5.0.0' } library.FSharpPlus = { license = [ { name = 'Apache-2.0', url = 'https://github.com/fsprojects/FSharpPlus/blob/master/LICENSE.md' }, ], version = "1.7.0" } library.'FSharpx.Collections' = { license = [ { name = 'Apache-2.0', url = 'https://github.com/fsprojects/FSharpx.Collections/blob/master/LICENSE.txt' }, ], version = "3.1.0" } library.'FSharpx.Extras' = { license = [ { name = 'Unlicense', url = 'https://github.com/fsprojects/FSharpx.Extras/blob/master/LICENSE.md' }, ], version = "3.3.0" } library.'FsToolkit.ErrorHandling' = { license = [ { name = 'MIT', url = 'https://github.com/demystifyfp/FsToolkit.ErrorHandling/blob/master/License' }, ], version = "5.0.1" } filename = 'Main.fs' install = ''' # Install .NET SDK sudo apt-get update sudo apt-get install -y ca-certificates libc6 libgcc-s1 libgssapi-krb5-2 libicu74 liblttng-ust1 libssl3 libstdc++6 libunwind8 zlib1g wget -O - https://dot.net/v1/dotnet-install.sh | bash -s -- --version 9.0.304 # Set environment variables export DOTNET_ROOT=$HOME/.dotnet export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools export DOTNET_EnableWriteXorExecute=0 export DOTNET_CLI_TELEMETRY_OPTOUT=1 # Create a project file in the current directory cat > Main.fsproj << EOS Exe net9.0 ONLINE_JUDGE;ATCODER linux-x64 false en-US true true true EOS # Create a lock file in the current directory for library reproducibility cat > packages.lock.json << EOS { "version": 1, "dependencies": { "net9.0": { "ac-library-csharp": { "type": "Direct", "requested": "[3.9.2-atcoder1, )", "resolved": "3.9.2-atcoder1", "contentHash": "pDKLPopUWCSxZsqKjHNhuzC7xzJSfSRpyJoYb310izympE3J66QWf54JikiWEzDR4tBzL2tKf0r9fdBWKcovoQ==" }, "FSharp.Core": { "type": "Direct", "requested": "[9.0.303, )", "resolved": "9.0.303", "contentHash": "6JlV8aD8qQvcmfoe/PMOxCHXc0uX4lR23u0fAyQtnVQxYULLoTZgwgZHSnRcuUHOvS3wULFWcwdnP1iwslH60g==" }, "FSharpPlus": { "type": "Direct", "requested": "[1.7.0, )", "resolved": "1.7.0", "contentHash": "9+PXT3nG7K5bzgYOzxgwZu5ij25BH7OtMkMJUrWkf+HcfbvsEGCvIf3InF8MCvJ5lO02NfGb9fC8slLEytqw0Q==", "dependencies": { "FSharp.Core": "6.0.6" } }, "FSharpx.Collections": { "type": "Direct", "requested": "[3.1.0, )", "resolved": "3.1.0", "contentHash": "VKK+/6zD4GoAYam1MLNd5NQTL+sG9i69MkCy7f67PUhGTuoXFVNgym1mcxKvD0Kt3Cbua3aoKlNP3G5WwT9mYw==", "dependencies": { "FSharp.Core": "4.3.4" } }, "FSharpx.Extras": { "type": "Direct", "requested": "[3.3.0, )", "resolved": "3.3.0", "contentHash": "HtWX38ctZ3vSOy7/FIZ2rXnpAZUchrYfw7ioxyCPz/6qfkqSexIkGmd+qPTUVh3ObZStv2OTXLAF/yssKoZpog==", "dependencies": { "FSharp.Core": "6.0.6", "FSharpx.Collections": "3.0.1" } }, "FsToolkit.ErrorHandling": { "type": "Direct", "requested": "[5.0.1, )", "resolved": "5.0.1", "contentHash": "93oG3WSogK05H4gkikAmx5pBf30TQJfO1Jky+o/N/nv+RTP3nfOfjlmCHzuyUjQCRFOQog/xQabcky+WBWceeQ==", "dependencies": { "FSharp.Core": "9.0.300" } }, "MathNet.Numerics": { "type": "Direct", "requested": "[5.0.0, )", "resolved": "5.0.0", "contentHash": "pg1W2VwaEQMAiTpGK840hZgzavnqjlCMTVSbtVCXVyT+7AX4mc1o89SPv4TBlAjhgCOo9c1Y+jZ5m3ti2YgGgA==" }, "MathNet.Numerics.FSharp": { "type": "Direct", "requested": "[5.0.0, )", "resolved": "5.0.0", "contentHash": "lKYhd68fReW5odX/q+Uzxw3357Duq3zmvkYvnZVqqcc2r/EmrYGDoOdUGuHnhfr8yj9V34js5gQH/7IWcxZJxg==", "dependencies": { "FSharp.Core": "6.0.2", "MathNet.Numerics": "5.0.0" } } }, "net9.0/linux-x64": {} } } EOS # Restore and pre-compile the project echo 'stdout.WriteLine "Hello, world!"' > Main.fs dotnet publish -c Release -o publish -v n rm publish/Main rm Main.fs ''' compile = ''' export DOTNET_ROOT=$HOME/.dotnet export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools export DOTNET_EnableWriteXorExecute=0 export DOTNET_CLI_TELEMETRY_OPTOUT=1 dotnet publish -c Release -o publish --no-restore --nologo -v q --tl:off 1>&2 ''' object = 'publish/Main' environment.DOTNET_ROOT = '/home/runner/.dotnet' environment.PATH = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/runner/.dotnet:/home/runner/.dotnet/tools' environment.DOTNET_EnableWriteXorExecute = '0' environment.DOTNET_CLI_TELEMETRY_OPTOUT = '1' execution = ['./publish/Main']