Skip to content

Commit 8530a25

Browse files
authored
Prepare v0.2.0 Release (#102)
* Add dev container config file * Support tags for multi-branch GH pages * Improve Docker image selection and runner setup - Trigger workflow on all branches and tags (v*.*.*). - Select Docker image based on inputs, tags, or branch. * Update Changelog * Enable Concat on generic platform
1 parent 8fa038a commit 8530a25

File tree

7 files changed

+98
-33
lines changed

7 files changed

+98
-33
lines changed

.devcontainer.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"image": "ghcr.io/pulp-platform/deeploy:main",
3+
"name": "deeploy_main",
4+
"customizations": {
5+
"vscode": {
6+
"extensions": [
7+
"ms-vscode.cpptools-extension-pack",
8+
"twxs.cmake",
9+
"josetr.cmake-language-support-vscode",
10+
"ms-vscode.cmake-tools",
11+
"ms-python.python",
12+
"ms-vscode-remote.remote-containers",
13+
"rioj7.command-variable"
14+
]
15+
}
16+
},
17+
"mounts": [
18+
{
19+
"source": "${localWorkspaceFolder}",
20+
"target": "/app/Deeploy",
21+
"type": "bind"
22+
}
23+
]
24+
}

.github/workflows/CI.yml

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ name: CI
22

33
on:
44
push:
5+
branches:
6+
- '**'
7+
tags:
8+
- 'v*.*.*'
59
pull_request:
610
workflow_dispatch:
711
inputs:
@@ -14,25 +18,36 @@ concurrency:
1418
group: ${{ github.workflow }}-${{ github.ref }}
1519
cancel-in-progress: true
1620

17-
env:
18-
DOCKER_IMAGE: ${{ github.event.inputs.docker_image_deeploy || (github.ref_name == 'main' && 'ghcr.io/pulp-platform/deeploy:main' || 'ghcr.io/pulp-platform/deeploy:devel') }}
19-
2021
jobs:
21-
2222
select-docker-image-and-runner:
2323
runs-on: ubuntu-latest
2424
outputs:
2525
image: ${{ steps.set-docker-image.outputs.image }}
2626
runner: ${{ steps.set-runner.outputs.runner }}
2727
steps:
2828
- id: set-docker-image
29-
run: echo "::set-output name=image::${{ env.DOCKER_IMAGE }}"
29+
run: |
30+
if [[ -n "${{ github.event.inputs.docker_image_deeploy }}" ]]; then
31+
IMAGE="${{ github.event.inputs.docker_image_deeploy }}"
32+
elif [[ "${{ github.ref }}" == refs/tags/* ]]; then
33+
TAG_NAME="${GITHUB_REF##refs/tags/}"
34+
IMAGE="ghcr.io/pulp-platform/deeploy:${TAG_NAME}"
35+
elif [[ "${{ github.ref_name }}" == "main" ]]; then
36+
IMAGE="ghcr.io/pulp-platform/deeploy:main"
37+
else
38+
IMAGE="ghcr.io/pulp-platform/deeploy:devel"
39+
fi
40+
echo "Selected image: ${IMAGE}"
41+
echo "image=${IMAGE}" >> $GITHUB_OUTPUT
42+
3043
- id: set-runner
3144
run: |
3245
if [[ "${{ github.repository }}" == "pulp-platform/Deeploy" ]]; then
33-
echo "::set-output name=runner::self-hosted"
46+
echo "Selected self-hosted runner for Deeploy repository"
47+
echo "runner=self-hosted" >> $GITHUB_OUTPUT
3448
else
35-
echo "::set-output name=runner::ubuntu-latest"
49+
echo "Selected ubuntu-latest runner for external repository"
50+
echo "runner=ubuntu-latest" >> $GITHUB_OUTPUT
3651
fi
3752
3853
build-deeploy:
@@ -117,7 +132,7 @@ jobs:
117132
miniMobileNetv2
118133
CCT/CCT_1_16_16_8
119134
testFloatDemoTinyViT
120-
135+
121136
### SoftHier Tests ###
122137
softhier-kernels:
123138
uses: ./.github/workflows/TestRunnerSoftHier.yml
@@ -170,8 +185,8 @@ jobs:
170185
Adder
171186
simulators: |
172187
gvsoc
173-
174-
188+
189+
175190
### Snitch Tests ###
176191
snitch-kernels:
177192
uses: ./.github/workflows/TestRunnerSnitch.yml

.github/workflows/documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
run: |
2323
sphinx-build docs _build
2424
- name: Prepare Multipages
25-
uses: rkdarst/gh-pages-multibranch@main
25+
uses: xeratec/gh-pages-multibranch@pr/support_tags
2626
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
2727
with:
2828
directory: _build

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@ run_generic_test_kernels: # This job runs in the test stage.
563563
stage: test # It only starts when the job in the build stage completes successfully.
564564
parallel:
565565
matrix:
566-
- TEST: [Adder, MultIO, test1DConvolution, test2DConvolution, test1DDWConvolution, test2DDWConvolution, test1DPad, test2DPad, testGEMM, testMatMul, testMatMulAdd, testMaxPool, testRQConv, testRQMatMul, testReduceSum, testReduceMean, testSlice, testRequantizedDWConv, test2DRequantizedConv, iSoftmax]
566+
- TEST: [Adder, MultIO, test1DConvolution, test2DConvolution, test1DDWConvolution, test2DDWConvolution, test1DPad, test2DPad, testConcat, testGEMM, testMatMul, testMatMulAdd, testMaxPool, testRQConv, testRQMatMul, testReduceSum, testReduceMean, testSlice, testRequantizedDWConv, test2DRequantizedConv, iSoftmax]
567567
script:
568568
- !reference [.setup_test, script]
569569
- python testRunner_generic.py -t ./Tests/$TEST --toolchain=$TOOLCHAIN --toolchain_install_dir=$LLVM_INSTALL_DIR

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
# Changelog
22
This file contains the changelog for the Deeploy project. The changelog is divided into sections based on the version of the project. Each section contains a list of pull requests, features, changes, fixes, and removals that were made in that version.
33

4-
## Unreleased (Planned Release Target: v0.2.0)
4+
## Release v0.2.0 (2025-07-09)
55
This release containing major architectural changes, new platform support, enhanced simulation workflows, floating-point kernel support, training infrastructure for CCT models, memory allocation strategies, and documentation improvements.
66

77
### List of Pull Requests
8+
- Prepare v0.2.0 release [#102](https://github.com/pulp-platform/Deeploy/pull/102)
89
- Add Luka as Code Owner [#101](https://github.com/pulp-platform/Deeploy/pull/101)
910
- Fix CI, Docker Files, and Documentation Workflow [#100](https://github.com/pulp-platform/Deeploy/pull/100)
1011
- Chimera Platform Integration [#96](https://github.com/pulp-platform/Deeploy/pull/96)

Deeploy/Targets/Generic/Platform.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,22 @@
3030
RemoveEmptyConvBiasPass
3131
from Deeploy.DeeployTypes import ConstantBuffer, DeploymentEngine, DeploymentPlatform, NodeMapper, NodeTemplate, \
3232
StructBuffer, TopologyOptimizer, TransientBuffer, VariableBuffer
33-
from Deeploy.Targets.Generic.Bindings import BasicAddBindings, BasicConv1DBinding, BasicConv2DBindings, \
34-
BasicDebugPrintBindings, BasicDequantBindings, BasicDivBindings, BasicDWConv1DBinding, BasicDWConv2DBindings, \
35-
BasicGatherBindings, BasicGELUBindings, BasicGEMMBindings, BasicITAPartialSoftmaxBinding, BasicITASoftmaxBinding, \
36-
BasicLayerNormBindings, BasicMatMulBindings, BasicMaxPool2DBindings, BasicMulBindings, BasicPad1DBindings, \
37-
BasicPad2DBindings, BasicQuantBindings, BasicReduceMeanBindings, BasicReduceSumBindings, BasicReluBinding, \
38-
BasicReshapeBindings, BasicRQIntegerDivBinding, BasicRQSBindings, BasicRQSGELUBinding, BasicSliceBindings, \
39-
BasicSoftmaxBindings, BasicTransposeBindings, DummyBinding
40-
from Deeploy.Targets.Generic.Layers import AddLayer, ConvLayer, DebugPrintLayer, DequantLayer, DivLayer, GatherLayer, \
41-
GELULayer, GEMMLayer, ITAMaxLayer, LayerNormLayer, MatMulLayer, MaxPoolLayer, MulLayer, PadLayer, QuantLayer, \
42-
ReduceMeanLayer, ReduceSumLayer, ReluLayer, RequantShiftLayer, ReshapeLayer, RQIntegerDivLayer, RQSiGELULayer, \
43-
SliceLayer, SoftmaxLayer, TransposeLayer
44-
from Deeploy.Targets.Generic.Parsers import AddParser, DebugParser, DequantParser, DivParser, DummyParser, \
45-
FlattenParser, GatherParser, GELUParser, GenericConv1DParser, GenericConv2DParser, GenericDWConv1DParser, \
46-
GenericDWConv2DParser, GenericGEMMParser, GenericMaxPool2DParser, IntegerDivParser, ITAMaxParser, \
47-
ITAPartialMaxParser, LayerNormParser, MatMulParser, MulParser, Pad1DParser, Pad2DParser, QuantParser, \
48-
ReduceMeanParser, ReduceSumParser, ReluParser, RequantShiftParser, ReshapeParser, RQIntegerDivParser, \
33+
from Deeploy.Targets.Generic.Bindings import BasicAddBindings, BasicConcatBindings, BasicConv1DBinding, \
34+
BasicConv2DBindings, BasicDebugPrintBindings, BasicDequantBindings, BasicDivBindings, BasicDWConv1DBinding, \
35+
BasicDWConv2DBindings, BasicGatherBindings, BasicGELUBindings, BasicGEMMBindings, BasicITAPartialSoftmaxBinding, \
36+
BasicITASoftmaxBinding, BasicLayerNormBindings, BasicMatMulBindings, BasicMaxPool2DBindings, BasicMulBindings, \
37+
BasicPad1DBindings, BasicPad2DBindings, BasicQuantBindings, BasicReduceMeanBindings, BasicReduceSumBindings, \
38+
BasicReluBinding, BasicReshapeBindings, BasicRQIntegerDivBinding, BasicRQSBindings, BasicRQSGELUBinding, \
39+
BasicSliceBindings, BasicSoftmaxBindings, BasicTransposeBindings, DummyBinding
40+
from Deeploy.Targets.Generic.Layers import AddLayer, ConcatLayer, ConvLayer, DebugPrintLayer, DequantLayer, DivLayer, \
41+
GatherLayer, GELULayer, GEMMLayer, ITAMaxLayer, LayerNormLayer, MatMulLayer, MaxPoolLayer, MulLayer, PadLayer, \
42+
QuantLayer, ReduceMeanLayer, ReduceSumLayer, ReluLayer, RequantShiftLayer, ReshapeLayer, RQIntegerDivLayer, \
43+
RQSiGELULayer, SliceLayer, SoftmaxLayer, TransposeLayer
44+
from Deeploy.Targets.Generic.Parsers import AddParser, ConcatParser, DebugParser, DequantParser, DivParser, \
45+
DummyParser, FlattenParser, GatherParser, GELUParser, GenericConv1DParser, GenericConv2DParser, \
46+
GenericDWConv1DParser, GenericDWConv2DParser, GenericGEMMParser, GenericMaxPool2DParser, IntegerDivParser, \
47+
ITAMaxParser, ITAPartialMaxParser, LayerNormParser, MatMulParser, MulParser, Pad1DParser, Pad2DParser, \
48+
QuantParser, ReduceMeanParser, ReduceSumParser, ReluParser, RequantShiftParser, ReshapeParser, RQIntegerDivParser, \
4949
RQSiGELUParser, SliceParser, SoftmaxParser, TransposeParser, UnsqueezeParser, iLayerNormParser, iSoftmaxParser
5050
from Deeploy.Targets.Generic.Templates import AllocateTemplate, FreeTemplate
5151
from Deeploy.Targets.Generic.TopologyOptimizationPasses.Passes import DequantPatternPass, ExtractPaddingFromConvPass, \
@@ -55,6 +55,7 @@
5555
AddMapper = NodeMapper(AddParser(), BasicAddBindings)
5656
Conv1DMapper = NodeMapper(GenericConv1DParser(), [BasicConv1DBinding])
5757
Conv2DMapper = NodeMapper(GenericConv2DParser(), BasicConv2DBindings)
58+
ConcatMapper = NodeMapper(ConcatParser(), BasicConcatBindings)
5859
DebugMapper = NodeMapper(DebugParser(), BasicDebugPrintBindings)
5960
DWConv1DMapper = NodeMapper(GenericDWConv1DParser(), [BasicDWConv1DBinding])
6061
DWConv2DMapper = NodeMapper(GenericDWConv2DParser(), BasicDWConv2DBindings)
@@ -96,6 +97,7 @@
9697
GenericMapping = {
9798
'Add': AddLayer([AddMapper]),
9899
'Conv': ConvLayer([Conv2DMapper, DWConv2DMapper, Conv1DMapper, DWConv1DMapper]),
100+
'Concat': ConcatLayer([ConcatMapper]),
99101
'DebugPrint': DebugPrintLayer([DebugMapper]),
100102
'Div': DivLayer([DivMapper]),
101103
'Flatten': ReshapeLayer([FlattenMapper]),

docs/conf.py

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
# limitations under the License.
2525

2626
import os
27+
import subprocess
2728
import sys
2829

2930
sys.path.insert(0, os.path.abspath('../'))
@@ -62,13 +63,35 @@
6263
# -- Options for HTML templates ------------------------------------------------
6364

6465
# Extract branch name from git
65-
branch = os.popen("git rev-parse --abbrev-ref HEAD").read().strip()
66+
67+
# Try to get branch name
68+
branch = None
69+
try:
70+
branch = subprocess.check_output(["git", "symbolic-ref", "--short", "HEAD"],
71+
stderr = subprocess.DEVNULL).decode().strip()
72+
except subprocess.CalledProcessError:
73+
pass # Not a branch, maybe a tag?
74+
75+
# Try to get tag name if branch not available
76+
tag = None
77+
if not branch:
78+
try:
79+
tag = subprocess.check_output(["git", "describe", "--tags", "--exact-match"],
80+
stderr = subprocess.DEVNULL).decode().strip()
81+
except subprocess.CalledProcessError:
82+
pass # Not on a tag either
83+
84+
# Fallback
85+
current = branch or tag or "unknown"
6686

6787
html_context = {
6888
'current_version':
69-
f"{branch}",
70-
'versions': [["main", f"https://pulp-platform.github.io/Deeploy"],
71-
["devel", f"https://pulp-platform.github.io/Deeploy/branch/devel"]],
89+
current,
90+
'versions': [
91+
["main", "https://pulp-platform.github.io/Deeploy"],
92+
["devel", "https://pulp-platform.github.io/Deeploy/branch/devel"],
93+
["v0.2.0", "https://pulp-platform.github.io/Deeploy/tag/v0.2.0"],
94+
],
7295
}
7396

7497
# -- Options for myst_parser -------------------------------------------------

0 commit comments

Comments
 (0)