devel: Remove devcontainer and use_nix in direnv
All checks were successful
Build / build (push) Successful in 21s

Start divide and conquer migration to gitea actions.
This commit is contained in:
2026-01-25 09:14:39 +01:00
parent fbe9c51f86
commit 502f637c8f
11 changed files with 143 additions and 97 deletions

View File

@@ -1,32 +0,0 @@
FROM mcr.microsoft.com/dotnet/sdk:10.0
# Bun version
ARG BUN_INSTALL=/usr/local
ARG BUN_VERSION=bun-v1.2.16
# Install node, 7zip, yarn, git, process tools
RUN apt-get update \
&& apt-get install -y p7zip-full git procps ssh-client unzip
# Install Bun
RUN set -eux; \
curl -fsSL https://bun.sh/install > /usr/local/bin/install-bun \
&& chmod +x /usr/local/bin/install-bun \
&& /usr/local/bin/install-bun $BUN_VERSION debug-info
ENV BUN_INSTALL=/usr/local
# Clean up
RUN apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
# Trouble brewing
RUN rm /etc/ssl/openssl.cnf
# Add dotnet tools to path to pick up fake and paket installation
ENV PATH="/root/.dotnet/tools:${PATH}"
# Copy endpoint specific user settings into container to specify
# .NET Core should be used as the runtime.
COPY settings.vscode.json /root/.vscode-remote/data/Machine/settings.json

View File

@@ -1,11 +0,0 @@
{
"name": "SAFE",
"dockerFile": "Dockerfile",
"appPort": [8080, 8085],
"extensions": [
"ionide.ionide-fsharp",
"ms-dotnettools.csharp",
"editorconfig.editorconfig",
"msjsdiag.debugger-for-chrome"
]
}

View File

@@ -1,3 +0,0 @@
{
"FSharp.fsacRuntime":"netcore"
}

7
.envrc
View File

@@ -1,9 +1,4 @@
#!/usr/bin/env bash
# the shebang is ignored, but nice for editors
if type -P lorri &>/dev/null; then
eval "$(lorri direnv)"
else
echo 'while direnv evaluated .envrc, could not find the command "lorri" [https://github.com/nix-community/lorri]'
dotenv_if_exists
use nix
fi

5
.gitattributes vendored Normal file
View File

@@ -0,0 +1,5 @@
# The lines below force F# highlighting for common F# source file extensions.
*.fs linguist-language=F#
*.fsi linguist-language=FSharp
*.fsx linguist-language=FSharp
*.fsscript linguist-language=FSharp

View File

@@ -0,0 +1,24 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/github-workflow.json
name: Build
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
NUGET_XMLDOC_MODE: ""
DOTNET_MULTILEVEL_LOOKUP: 0
jobs:
build:
runs-on: nix
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: nix build -f .

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020 Serit Tromsø AS
Copyright (c) 2026 Oceanbox AS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -2,7 +2,6 @@
sources ? import ./nix,
system ? builtins.currentSystem,
pkgs ? import sources.nixpkgs { inherit system; },
nix-utils ? import sources.nix-utils { },
}:
let
version =
@@ -16,7 +15,6 @@ let
dotnet-runtime = pkgs.dotnetCorePackages.runtime_10_0;
geojson = pkgs.callPackage ./src {
inherit (nix-utils.output.lib.nuget) deps;
inherit
dotnet-sdk
dotnet-runtime
@@ -44,6 +42,7 @@ in
fantomas
fsautocomplete
dotnet-sdk
nuget-to-json
];
NPINS_DIRECTORY = "nix";

View File

@@ -1,17 +1,5 @@
{
"pins": {
"nix-utils": {
"type": "Git",
"repository": {
"type": "Git",
"url": "https://git.sr.ht/~mrtz/nix-utils"
},
"branch": "trunk",
"submodules": false,
"revision": "098f594425d2b9dde0657becad0f6498d074f8b3",
"url": null,
"hash": "0hh52w1fkpr1xx6j8cjm6g88j2352yv2ysqm1q51j59y6f583vyb"
},
"nixpkgs": {
"type": "Channel",
"name": "nixpkgs-unstable",

View File

@@ -1,6 +1,4 @@
{
deps,
pkgs,
dotnet-sdk,
nix-gitignore,
dotnet-runtime,
@@ -18,11 +16,7 @@ buildDotnetModule {
projectFile = "src/Oceanbox.GeoJson.fsproj";
dotnetRestoreFlags = "--force-evaluate";
nugetDeps = deps {
inherit pkgs name;
lockfiles = [ ./packages.lock.json ];
};
nugetDeps = ./deps.json;
packNupkg = true;
doCheck = false;
}

87
src/deps.json Normal file
View File

@@ -0,0 +1,87 @@
[
{
"pname": "Fable.Core",
"version": "3.1.6",
"hash": "sha256-QRmb28K6jgOyYFGfiv+HXBPidtpfyCEvaNwDqi4U0+o="
},
{
"pname": "Fable.Core",
"version": "3.6.2",
"hash": "sha256-boMLJxbOmSg9FiVKXpPoiMJN7rfVgfOuKOoZCA3pgEM="
},
{
"pname": "FSharp.Core",
"version": "10.0.101",
"hash": "sha256-i7crdE0/u+/mFCD1rNFc/iT5TFr8Dae9dNpVRmbpSbY="
},
{
"pname": "FSharp.Data",
"version": "6.4.0",
"hash": "sha256-8/iQA6anTybzseyvsvFV33jVVwrnYiKG1iqgwkqNeRc="
},
{
"pname": "FSharp.Data.Csv.Core",
"version": "6.4.0",
"hash": "sha256-jcw/6uDN0he/PhhopEvTydy2X13Xt3g3kKuVdt+8+oY="
},
{
"pname": "FSharp.Data.Html.Core",
"version": "6.4.0",
"hash": "sha256-HeljybTU019Z7HxFoErPM/HIAm32pJiKQM+kSyt63xw="
},
{
"pname": "FSharp.Data.Http",
"version": "6.4.0",
"hash": "sha256-Zn4dZCb46vr8LYR5donzeistFPSO8YYiXUU3Iqo+vKg="
},
{
"pname": "FSharp.Data.Json.Core",
"version": "6.4.0",
"hash": "sha256-dVhcVzUi//PFFFIML/5SWKrileeQ6IOd1VlGyEptaw0="
},
{
"pname": "FSharp.Data.Runtime.Utilities",
"version": "6.4.0",
"hash": "sha256-nD4U7mwZtFEUcD9XvPxhpot8FNl2YyhiLpjpjmFNAO0="
},
{
"pname": "FSharp.Data.WorldBank.Core",
"version": "6.4.0",
"hash": "sha256-ea2CZyHisqa1MnF70TBKfcMl6+W90MnLJ5Ctgjfk9SM="
},
{
"pname": "FSharp.Data.Xml.Core",
"version": "6.4.0",
"hash": "sha256-6eZWKdNjKMqufyOYolTximIS41gipBUNMKNn3HEiYw0="
},
{
"pname": "FSharpPlus",
"version": "1.6.1",
"hash": "sha256-MGwxfDTg6gJiS88yiqi1OGJk5WmaAFkVniniwF9Ilkc="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "NETStandard.Library",
"version": "2.0.3",
"hash": "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.1",
"hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="
},
{
"pname": "Thoth.Json",
"version": "10.2.0",
"hash": "sha256-H1Fy0pI/bqzgDcltBI/UNum8mW4Ano1Vp8BSYY+U55k="
},
{
"pname": "Thoth.Json.Net",
"version": "12.0.0",
"hash": "sha256-1JlFBF6nIS5P80Kb/mpgI8gBtSy0V1OCGAK2Hzhdg30="
}
]