Skip to content

Commit 86ec67c

Browse files
committed
feat: migrate generator to Nickel
1 parent f42185a commit 86ec67c

79 files changed

Lines changed: 705 additions & 844 deletions

Some content is hidden

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

.github/actions/build-generator/action.yaml

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

.github/workflows/gen-pop-cache.yaml

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

.github/workflows/generator.yml

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,30 @@
1-
name: Dockerfile Generator
1+
name: Dockerfile Validator
22
on:
33
push:
44
paths:
5-
- generator
5+
- '**/*.ncl'
6+
- 'template/Dockerfile.ncl'
7+
- 'generate.sh'
8+
- '.github/workflows/generator.yml'
69
workflow_dispatch:
7-
inputs:
8-
debug_mode:
9-
description: 'Enable debug mode'
10-
type: boolean
11-
default: false
12-
required: false
1310

1411
jobs:
15-
build:
12+
generate:
1613
runs-on: ubuntu-22.04
1714
steps:
18-
- uses: actions/checkout@v5.0.0
19-
- uses: ./.github/actions/build-generator
20-
# with:
21-
# debug_mode: ${{ github.event.inputs.debug_mode }}
22-
- name: Run generator
23-
working-directory: generator
24-
run: stack exec generator -- --help
15+
- uses: actions/checkout@v6.0.2
16+
- name: Install Nickel
17+
uses: cachix/install-nix-action@v31.10.5
2518

26-
- name: Copy generator binary to artifacts
27-
working-directory: generator
19+
- name: Install nickel binary
20+
run: nix profile install nixpkgs#nickel
21+
22+
- name: Generate Dockerfiles
2823
run: |
29-
mkdir -p ../artifacts
30-
stack --local-bin-path=../artifacts install
31-
- name: Upload generated artifact to a release
32-
uses: softprops/action-gh-release@v2.4.1
33-
with:
34-
name: Generator
35-
tag_name: generator-binary
36-
prerelease: true
37-
overwrite_files: 'true'
38-
files: |
39-
artifacts/generator
24+
for f in $(find . -name '*.ncl' -not -name '_*'); do
25+
echo "Generating Dockerfile for $basename"
26+
./generate.sh $f "$(basename $f .ncl)/Dockerfile"
27+
done
28+
29+
- name: Verify no diff after generation
30+
run: git diff --exit-code

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
generator/.stack-work
2-
generator/dist-newstyle
31
/.idea
42

53
keys/*

9.10/_cabal-install.deb11.yaml

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

9.10/_cabal-install.deb12.yaml

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

9.10/_globals.ncl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
stack = {
3+
version = "3.3.1",
4+
release_key = "C5705533DA4F78D8664B5DC0575159689BEFB442",
5+
assets = {
6+
aarch64 = { sha256sum = "bdd618ea5a9c921417727011f2ecd78987dffa5cee5e741108baf65a9b5b58ab" },
7+
x86_64 = { sha256sum = "88d7e517342c125b0a098d9d578fe53e590618ae4b2427283a27408a1ebd06d8" },
8+
},
9+
},
10+
cabal_install = {
11+
version = "3.14.1.1",
12+
release_key = "EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF",
13+
},
14+
}

9.10/_globals.yaml

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

9.10/bookworm.ncl

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
let globals = import "_globals.ncl"
2+
in
3+
globals
4+
& {
5+
distro = {
6+
codename = "bookworm",
7+
abbr = "deb12",
8+
image = "debian:bookworm",
9+
},
10+
ghc = {
11+
version = "9.10.3",
12+
release_key = "88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4",
13+
assets = {
14+
aarch64 = {
15+
sha256sum = "052789dfe7f6fba6dc3822de0da272e8a5bd358c37adae17d8e82cff39bc1008",
16+
url = "https://downloads.haskell.org/~ghc/9.10.3/ghc-9.10.3-aarch64-deb11-linux.tar.xz",
17+
},
18+
x86_64 = { sha256sum = "1ac63f04eac0ad551d45cbde38f27e0e3f43ceefd98833fae1fa3f2dbd042367" },
19+
},
20+
},
21+
cabal_install = {
22+
assets = {
23+
aarch64 = { sha256sum = "f763fb2af2bc1ff174b7361a7d51109a585954f87a0e14f86d144f3bce28f7a9" },
24+
x86_64 = { sha256sum = "73a463306c771e18ca22c0a9469176ffab0138ec5925adb5364ef47174e1adc5" },
25+
},
26+
},
27+
}

9.10/bookworm.yaml

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

0 commit comments

Comments
 (0)