Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
| 0c07972051 |
4 changed files with 96 additions and 3 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -9,3 +9,4 @@
|
||||||
**/node_modules/**
|
**/node_modules/**
|
||||||
**/**.suo
|
**/**.suo
|
||||||
**/**.user
|
**/**.user
|
||||||
|
/.contest
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
"Kestrel": {
|
"Kestrel": {
|
||||||
"EndPoints": {
|
"EndPoints": {
|
||||||
"Http": {
|
"Http": {
|
||||||
"Url": "http://0.0.0.0:80"
|
"Url": "http://localhost:7007"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
"Kestrel": {
|
"Kestrel": {
|
||||||
"EndPoints": {
|
"EndPoints": {
|
||||||
"Http": {
|
"Http": {
|
||||||
"Url": "http://0.0.0.0:80"
|
"Url": "http://localhost:7007"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
92
mise.toml
Normal file
92
mise.toml
Normal file
|
|
@ -0,0 +1,92 @@
|
||||||
|
# Quick Guide
|
||||||
|
# - install mise
|
||||||
|
# - download the asset and extract them to ASSET_PATH_RO
|
||||||
|
# - mise trust mise.toml
|
||||||
|
# - mise run verify-asset
|
||||||
|
# - require hashdeep
|
||||||
|
# `hashdeep` package in debian
|
||||||
|
# or `md5deep` package in fedora
|
||||||
|
# or uncomment `tools."http:hashdeep"` below in windows
|
||||||
|
# - mise run serve
|
||||||
|
# - mise run arrange
|
||||||
|
# - mise run action
|
||||||
|
# - mise run assert
|
||||||
|
# - mise run bench
|
||||||
|
|
||||||
|
[env]
|
||||||
|
ASSET_PATH_RO = "{{ [xdg_cache_home, 'stitch-a-ton', 'asset'] | join_path }}"
|
||||||
|
CONTEST_HOST = "http://localhost:7007"
|
||||||
|
CONTEST_API = "/api/image/generate"
|
||||||
|
CONTEST_OUTPUT = "{{ [cwd, '.contest'] | join_path }}"
|
||||||
|
DOTNET_ENVIRONMENT = "Production"
|
||||||
|
ANSWER_COMMIT_HASH = "89a07b40bf0414212c96945671a012035d375a25"
|
||||||
|
|
||||||
|
[tools]
|
||||||
|
dotnet = "6"
|
||||||
|
xh = "latest"
|
||||||
|
uv = "latest"
|
||||||
|
k6 = "latest"
|
||||||
|
|
||||||
|
# uncomment these if you're on windows
|
||||||
|
#[tools."http:hashdeep"]
|
||||||
|
#version = "4.4"
|
||||||
|
|
||||||
|
#[tools."http:hashdeep".platforms]
|
||||||
|
#windows-x64 = {url = "https://github.com/jessek/hashdeep/releases/download/v4.4/md5deep-4.4.zip"}
|
||||||
|
|
||||||
|
[tasks.setup]
|
||||||
|
run = '''
|
||||||
|
{% if env.CONTEST_OUTPUT is not exists %}
|
||||||
|
mkdir .contest
|
||||||
|
{% endif %}
|
||||||
|
'''
|
||||||
|
|
||||||
|
[tasks.verify-asset]
|
||||||
|
dir = "{{ env.ASSET_PATH_RO }}"
|
||||||
|
run = '''
|
||||||
|
xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/asset.txt -o ../asset.txt
|
||||||
|
hashdeep -arbvk ../asset.txt .
|
||||||
|
'''
|
||||||
|
|
||||||
|
[tasks.arrange]
|
||||||
|
depends = ['setup']
|
||||||
|
dir = "{{ env.CONTEST_OUTPUT }}"
|
||||||
|
outputs = ['answer.json', 'action.py', 'assert.py', 'bench.js', 'fuzzy.json']
|
||||||
|
run = '''
|
||||||
|
xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/answer.json -o answer.json
|
||||||
|
xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/action.py -o action.py
|
||||||
|
xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/assert.py -o assert.py
|
||||||
|
xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/bench.js -o bench.js
|
||||||
|
xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/fuzzy.json -o fuzzy.json
|
||||||
|
'''
|
||||||
|
|
||||||
|
[tasks.serve]
|
||||||
|
run = "dotnet run -c Release --no-launch-profile --urls {{env.CONTEST_HOST}} --project WebApp"
|
||||||
|
|
||||||
|
[tasks.quick]
|
||||||
|
depends = ['arrange']
|
||||||
|
dir = "{{ env.CONTEST_OUTPUT }}"
|
||||||
|
run = '''
|
||||||
|
xh post {{env.CONTEST_HOST}}{{env.CONTEST_ENDPOINT}} canvas_rect=A1:H12 crop_offset:=[0,0] crop_size:=[1,1] output_scale:=0.25 -o quick.png
|
||||||
|
'''
|
||||||
|
|
||||||
|
[tasks.action]
|
||||||
|
depends = ['arrange']
|
||||||
|
dir = "{{ env.CONTEST_OUTPUT }}"
|
||||||
|
run = '''
|
||||||
|
uv run --no-config --script {{ [env.CONTEST_OUTPUT, 'action.py'] | join_path }}
|
||||||
|
'''
|
||||||
|
|
||||||
|
[tasks.assert]
|
||||||
|
depends = ['arrange']
|
||||||
|
dir = "{{ env.CONTEST_OUTPUT }}"
|
||||||
|
run = '''
|
||||||
|
uvx --no-config --with-requirements assert.py pytest assert.py
|
||||||
|
'''
|
||||||
|
|
||||||
|
[tasks.bench]
|
||||||
|
depends = ['arrange']
|
||||||
|
dir = "{{ env.CONTEST_OUTPUT }}"
|
||||||
|
run = '''
|
||||||
|
k6 run -e TARGET_URL="{{ env.CONTEST_HOST }}{{ env.CONTEST_API }}" bench.js
|
||||||
|
'''
|
||||||
Loading…
Add table
Add a link
Reference in a new issue