Skip to content

Commit 6d7b970

Browse files
committed
feat: migrate generator to Nickel
1 parent f42185a commit 6d7b970

79 files changed

Lines changed: 714 additions & 841 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: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,41 @@ name: Dockerfile Generator
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:
710
inputs:
8-
debug_mode:
9-
description: 'Enable debug mode'
10-
type: boolean
11-
default: false
12-
required: false
11+
ghc_line:
12+
description: 'GHC line (for example 9.14)'
13+
type: string
14+
default: '9.14'
15+
required: true
16+
variant:
17+
description: 'Debian variant (for example bookworm)'
18+
type: string
19+
default: 'bookworm'
20+
required: true
1321

1422
jobs:
15-
build:
23+
generate:
1624
runs-on: ubuntu-22.04
1725
steps:
1826
- 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
27+
- name: Install Nickel
28+
uses: cachix/install-nix-action@v31
2529

26-
- name: Copy generator binary to artifacts
27-
working-directory: generator
30+
- name: Install nickel binary
31+
run: nix profile install nixpkgs#nickel
32+
33+
- name: Generate selected Dockerfile
2834
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
35+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
36+
./generate.sh "${{ github.event.inputs.ghc_line }}/${{ github.event.inputs.variant }}.ncl" "${{ github.event.inputs.ghc_line }}/${{ github.event.inputs.variant }}/Dockerfile"
37+
else
38+
./generate.sh 9.14/bookworm.ncl 9.14/bookworm/Dockerfile
39+
fi
40+
41+
- name: Verify no diff after generation
42+
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)