Skip to content
This repository was archived by the owner on Sep 1, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/FUNDING.yml

This file was deleted.

82 changes: 43 additions & 39 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,13 @@ on:
jobs:
btp:
name: Build-Tag-Push
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

if: github.repository == 'ds-wizard/engine-backend'

strategy:
matrix:
component: [registry, wizard]
stack: [3.3.1]

env:
COMPONENT: ${{ matrix.component }}
Expand All @@ -24,7 +23,7 @@ jobs:
DOCKER_META_CONTEXT: './${{ matrix.component }}-server'
DOCKER_META_FILE: './${{ matrix.component }}-server/Dockerfile'
DOCKER_META_PLATFORMS: 'linux/amd64'
STACK_VERSION: ${{ matrix.stack }}
STACK_VERSION: '3.9.3'
PYTHONPATH: ${{ github.workspace }}/lib
LD_LIBRARY_PATH: ${{ github.workspace }}/lib
ENGINE_JINJA_VERSION: 'v1.0.0'
Expand All @@ -50,51 +49,56 @@ jobs:
run: echo "Force push detected. Cache may be invalidated..."

- name: Checkout git repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Fetch all git history
run: |
git fetch --prune --unshallow

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y liblzma-dev

- name: Prepare ~/.local/bin
run: |
mkdir -p ~/.local/bin
export PATH=~/.local/bin:$PATH

- name: Setup Python
if: matrix.component == 'wizard'
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: '3.10'
python-version: '3.12'

- name: Prepare lib directory
if: matrix.component == 'wizard'
run: |
mkdir -p lib
curl -L -o libjinja.tar.gz https://github.com/ds-wizard/engine-jinja/releases/download/$ENGINE_JINJA_VERSION/libjinja-python3.10-ubuntu-22.04-X64.tar.gz
curl -L -o libjinja.tar.gz https://github.com/ds-wizard/engine-jinja/releases/download/$ENGINE_JINJA_VERSION/libjinja-python3.12-ubuntu-24.04-X64.tar.gz
tar --strip-components=1 -xzf libjinja.tar.gz -C lib
rm libjinja.tar.gz
ls -la lib

# (1) -> Setup cache
- name: Cache ~/.stack
id: cache-stack
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: ~/.stack
key: stack-home-ubuntu22-${{ hashFiles('**/package.yaml')}}-${{ hashFiles('**/stack.yaml*') }}
key: stack-home-ubuntu24-${{ hashFiles('**/package.yaml')}}-${{ hashFiles('**/stack.yaml*') }}
restore-keys: |
stack-home-ubuntu22-
stack-home-ubuntu24-

- name: Cache shared-common
id: cache-shared-common
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: shared-common/.stack-work
key: shared-common-ubuntu22-${{ hashFiles('shared-common/package.yaml')}}-${{ hashFiles('shared-common/**/*.hs') }}
key: shared-common-ubuntu24-${{ hashFiles('shared-common/package.yaml')}}-${{ hashFiles('shared-common/**/*.hs') }}
restore-keys: |
shared-common-ubuntu22-${{ hashFiles('shared-common/package.yaml')}}-
shared-common-ubuntu22-
shared-common-ubuntu24-${{ hashFiles('shared-common/package.yaml')}}-
shared-common-ubuntu24-

- name: Invalidate shared-common cache (force push)
id: invalidate-cache-shared-common
Expand All @@ -104,13 +108,13 @@ jobs:

- name: Cache wizard-public
id: cache-wizard-public
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: wizard-public/.stack-work
key: wizard-public-ubuntu22-${{ hashFiles('wizard-public/package.yaml')}}-${{ hashFiles('wizard-public/**/*.hs') }}
key: wizard-public-ubuntu24-${{ hashFiles('wizard-public/package.yaml')}}-${{ hashFiles('wizard-public/**/*.hs') }}
restore-keys: |
wizard-public-ubuntu22-${{ hashFiles('wizard-public/package.yaml')}}-
wizard-public-ubuntu22-
wizard-public-ubuntu24-${{ hashFiles('wizard-public/package.yaml')}}-
wizard-public-ubuntu24-

- name: Invalidate wizard-public cache (force push)
id: invalidate-cache-wizard-public
Expand All @@ -120,13 +124,13 @@ jobs:

- name: Cache registry-public
id: cache-registry-public
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: registry-public/.stack-work
key: registry-public-ubuntu22-${{ hashFiles('registry-public/package.yaml')}}-${{ hashFiles('registry-public/**/*.hs') }}
key: registry-public-ubuntu24-${{ hashFiles('registry-public/package.yaml')}}-${{ hashFiles('registry-public/**/*.hs') }}
restore-keys: |
registry-public-ubuntu22-${{ hashFiles('registry-public/package.yaml')}}-
registry-public-ubuntu22-
registry-public-ubuntu24-${{ hashFiles('registry-public/package.yaml')}}-
registry-public-ubuntu24-

- name: Invalidate registry-public cache (force push)
id: invalidate-cache-registry-public
Expand All @@ -136,13 +140,13 @@ jobs:

- name: Cache registry-server
id: cache-registry-server
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: registry-server/.stack-work
key: registry-server-${{ matrix.component }}-ubuntu22-${{ hashFiles('registry-server/package.yaml')}}-${{ hashFiles('registry-server/**/*.hs') }}
key: registry-server-${{ matrix.component }}-ubuntu24-${{ hashFiles('registry-server/package.yaml')}}-${{ hashFiles('registry-server/**/*.hs') }}
restore-keys: |
registry-server-${{ matrix.component }}-ubuntu22-${{ hashFiles('registry-server/package.yaml')}}-
registry-server-${{ matrix.component }}-ubuntu22-
registry-server-${{ matrix.component }}-ubuntu24-${{ hashFiles('registry-server/package.yaml')}}-
registry-server-${{ matrix.component }}-ubuntu24-

- name: Invalidate registry-server cache (force push)
id: invalidate-cache-registry-server
Expand All @@ -152,14 +156,14 @@ jobs:

- name: Cache wizard-server
id: cache-wizard-server
uses: actions/cache@v3
uses: actions/cache@v5
if: matrix.component == 'wizard'
with:
path: wizard-server/.stack-work
key: wizard-server-${{ matrix.component }}-ubuntu22-${{ hashFiles('wizard-server/package.yaml')}}-${{ hashFiles('wizard-server/**/*.hs') }}
key: wizard-server-${{ matrix.component }}-ubuntu24-${{ hashFiles('wizard-server/package.yaml')}}-${{ hashFiles('wizard-server/**/*.hs') }}
restore-keys: |
wizard-server-${{ matrix.component }}-ubuntu22-${{ hashFiles('wizard-server/package.yaml')}}-
wizard-server-${{ matrix.component }}-ubuntu22-
wizard-server-${{ matrix.component }}-ubuntu24-${{ hashFiles('wizard-server/package.yaml')}}-
wizard-server-${{ matrix.component }}-ubuntu24-

- name: Invalidate wizard-server cache (force push)
id: invalidate-cache-wizard-server
Expand All @@ -169,10 +173,10 @@ jobs:

- name: Cache Stack in ~/.local/bin
id: cache-stack-local-bin
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: ~/.local/bin
key: stack-local-bin-ubuntu22-${{ matrix.stack }}
key: stack-local-bin-ubuntu24-${{ matrix.stack }}

# (2) -> Prepare and install dependencies
- name: Setup stack
Expand Down Expand Up @@ -217,15 +221,15 @@ jobs:
# (4.1) -> Docker build (test)
- name: Docker meta [test]
id: meta-test
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: |
${{ env.PUBLIC_IMAGE_PREFIX }}/${{ env.IMAGE_NAME }}
tags: |
type=sha

- name: Docker build [test]
uses: docker/build-push-action@v5
uses: docker/build-push-action@v7
with:
context: ${{ env.DOCKER_META_CONTEXT }}
file: ${{ env.DOCKER_META_FILE }}
Expand All @@ -237,7 +241,7 @@ jobs:
# (4.2) -> Docker login
- name: Docker login [docker.io]
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
Expand All @@ -246,15 +250,15 @@ jobs:
- name: Docker meta [dev]
id: meta-dev
if: github.event_name != 'pull_request'
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: |
${{ secrets.DOCKER_HUB_USERNAME }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch

- name: Docker build+push [dev]
uses: docker/build-push-action@v5
uses: docker/build-push-action@v7
if: github.event_name != 'pull_request' && steps.meta-dev.outputs.tags != ''
with:
context: ${{ env.DOCKER_META_CONTEXT }}
Expand All @@ -268,7 +272,7 @@ jobs:
- name: Docker meta [public]
id: meta-public
if: github.event_name != 'pull_request'
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: |
${{ env.PUBLIC_IMAGE_PREFIX }}/${{ env.IMAGE_NAME }}
Expand All @@ -280,7 +284,7 @@ jobs:
type=semver,pattern={{major}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }}

- name: Docker build+push [public]
uses: docker/build-push-action@v5
uses: docker/build-push-action@v7
if: github.event_name != 'pull_request' && steps.meta-public.outputs.tags != ''
with:
context: ${{ env.DOCKER_META_CONTEXT }}
Expand Down
37 changes: 19 additions & 18 deletions .github/workflows/code-style.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ on:

jobs:
hlint:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

env:
HLINT_VERSION: '3.5'
HLINT_VERSION: '3.10'

steps:
# (1) -> Init
- name: Checkout git repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Prepare ~/.local/bin
run: |
Expand All @@ -23,7 +23,7 @@ jobs:
# (2) -> Setup cache
- name: Cache ~/.local/bin
id: cache-local-bin
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: ~/.local/bin
key: local-bin-${{ env.HLINT_VERSION }}
Expand All @@ -39,23 +39,24 @@ jobs:
# (4) -> Run hlint
- name: Run hlint
run: |
hlint shared-common
hlint registry-public
hlint registry-server
hlint wizard-public
hlint wizard-server
hlint \
shared-common \
registry-public \
registry-server \
wizard-public \
wizard-server

fourmolu:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04

env:
FOURMOLU_VERSION: '0.8.2.0'
HPACK_VERSION: '0.34.2'
FOURMOLU_VERSION: '0.19.0.1'
HPACK_VERSION: '0.38.3'

steps:
# (1) -> Init
- name: Checkout git repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Prepare ~/.local/bin
run: |
Expand All @@ -65,7 +66,7 @@ jobs:
# (2) -> Setup cache
- name: Cache ~/.local/bin
id: cache-local-bin
uses: actions/cache@v3
uses: actions/cache@v5
with:
path: ~/.local/bin
key: local-bin-${{ env.FOURMOLU_VERSION }}-${{ env.HPACK_VERSION }}
Expand Down Expand Up @@ -131,16 +132,16 @@ jobs:

# CSpell
cspell:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- name: Check out repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '22'
node-version: '24'

- name: Install CSpell
run: |
Expand Down
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ For contributing guidelines, please read [CONTRIBUTING](CONTRIBUTING.md) and [re

- **Stack** (recommended 2.15.3 or higher)
- **Postgres & libpq** (recommended 15.5)
- **Fourmolu** (recommended 0.8.2.0, optional)
- **HLint** (recommended 3.4.1, optional)
- **Fourmolu** (recommended 0.19.0.1, optional)
- **HLint** (recommended 3.10, optional)
- **Docker** (recommended 19.03.0-ce) - *for build of production image*
- [**document-worker**](https://github.com/ds-wizard/engine-tools) (corresponding version)
- [**mailer**](https://github.com/ds-wizard/engine-tools) (corresponding version)
Expand Down Expand Up @@ -65,8 +65,7 @@ $ stack test <application>
Create a bash script which will do the work for you. Run the script from the root of the project

```bash
$ fourmolu -i (find <application>/src -name '*.hs')
$ fourmolu -i (find <application>/test -name '*.hs')
$ fourmolu -i $(find . -name '*.hs')
```

### Code coverage
Expand Down
3 changes: 2 additions & 1 deletion fourmolu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ record-brace-space: true
#in-style: right-align
#unicode: never
#respectful: false
#fixities: []
#fixities: []
single-constraint-parens: never
2 changes: 1 addition & 1 deletion registry-public/package.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: registry-public
version: '4.29.0'
version: '4.30.0'
synopsis: Registry Public
description: Registry Public
category: Web
Expand Down
2 changes: 1 addition & 1 deletion registry-server/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:22.04
FROM ubuntu:24.04

WORKDIR /app

Expand Down
2 changes: 1 addition & 1 deletion registry-server/package.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: registry-server
version: '4.29.0'
version: '4.30.0'
synopsis: Engine Registry
description: Engine Registry
category: Web
Expand Down
2 changes: 1 addition & 1 deletion registry-server/src/Registry/Api/Handler/Swagger/Api.hs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ swagger =
s._swaggerInfo
{ _infoTitle = "Registry API"
, _infoDescription = Just "API specification for Registry"
, _infoVersion = "4.29.0"
, _infoVersion = "4.30.0"
, _infoLicense =
Just $
License
Expand Down
Loading
Loading