Skip to content

Commit 4d5ae03

Browse files
authored
Merge branch 'master' into add-pipeline-name-to-callback-context
2 parents 9899cee + f89ebb9 commit 4d5ae03

131 files changed

Lines changed: 5721 additions & 959 deletions

File tree

Some content is hidden

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

.circleci/config.yml

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

.claude-plugin/marketplace.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "membrane",
3+
"description": "Skills for Membrane multimedia streaming and processing framework in Elixir.",
4+
"owner": {
5+
"name": "Software Mansion",
6+
"url": "https://github.com/membraneframework"
7+
},
8+
"plugins": [
9+
{
10+
"name": "membrane-framework",
11+
"description": "AI coding skill for the Membrane Framework in Elixir. Build or debug Membrane multimedia processing and streaming pipelines and write custom Membrane Elements, Bins, and Filters.",
12+
"version": "0.1.1",
13+
"source": "./",
14+
"category": "development",
15+
"homepage": "https://github.com/membraneframework/membrane_core",
16+
"skills": ["./skills/membrane-framework"]
17+
}
18+
]
19+
}

.claude-plugin/plugin.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "membrane-framework",
3+
"description": "AI coding skill for the Membrane Framework in Elixir. Build or debug Membrane multimedia processing and streaming pipelines and write custom Membrane Elements, Bins, and Filters.",
4+
"version": "0.1.1",
5+
"author": {
6+
"name": "Software Mansion",
7+
"url": "https://github.com/membraneframework"
8+
},
9+
"homepage": "https://github.com/membraneframework/membrane_core",
10+
"skills": ["./skills/membrane-framework"]
11+
}

.github/workflows/ci.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: ["**"]
6+
workflow_dispatch:
7+
8+
jobs:
9+
build_test:
10+
uses: membraneframework/membrane_actions/.github/workflows/build-test.yml@main
11+
with:
12+
submodules: recursive
13+
14+
test:
15+
uses: membraneframework/membrane_actions/.github/workflows/test.yml@main
16+
with:
17+
submodules: recursive
18+
test-flags: "--include long_running"
19+
shards: 4
20+
21+
lint:
22+
uses: membraneframework/membrane_actions/.github/workflows/lint.yml@main
23+
with:
24+
submodules: recursive

.github/workflows/performance.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Performance Test
2+
3+
# Replaces the CircleCI manual approval gate. Trigger this workflow
4+
# manually from the Actions tab on the branch you want to benchmark.
5+
on:
6+
workflow_dispatch:
7+
8+
jobs:
9+
performance:
10+
runs-on: performance
11+
steps:
12+
- uses: actions/checkout@v4
13+
with:
14+
submodules: recursive
15+
16+
- name: Back up benchmark and mix.exs
17+
run: |
18+
cp -r benchmark/ $HOME/benchmark_backup/
19+
cp mix.exs $HOME/benchmark_backup/
20+
21+
- name: Pull Docker image
22+
run: docker pull membraneframeworklabs/docker_membrane
23+
24+
- name: Run benchmarks on feature branch
25+
run: |
26+
mkdir -p $HOME/results
27+
docker run \
28+
-e MIX_ENV=benchmark \
29+
-v $PWD:/root/app \
30+
-v $HOME/results:/root/results \
31+
-w /root/app \
32+
membraneframeworklabs/docker_membrane \
33+
mix do deps.get, deps.compile --force --all, compile --force, run benchmark/run.exs /root/results/feature_branch_results
34+
35+
- name: Switch to master and restore benchmark
36+
run: |
37+
git checkout -f master
38+
cp $HOME/benchmark_backup/mix.exs .
39+
40+
- name: Run benchmarks on master
41+
run: |
42+
docker run \
43+
-e MIX_ENV=benchmark \
44+
-v $PWD:/root/app \
45+
-v $HOME/results:/root/results \
46+
-v $HOME/benchmark_backup/benchmark:/root/app/benchmark \
47+
-w /root/app \
48+
membraneframeworklabs/docker_membrane \
49+
mix do deps.get, deps.compile --force --all, compile --force, run benchmark/run.exs /root/results/master_results
50+
51+
- name: Compare results
52+
run: |
53+
docker run \
54+
-e MIX_ENV=benchmark \
55+
-v $PWD:/root/app \
56+
-v $HOME/results:/root/results \
57+
-v $HOME/benchmark_backup/benchmark:/root/app/benchmark \
58+
-w /root/app \
59+
membraneframeworklabs/docker_membrane \
60+
mix run benchmark/compare.exs /root/results/feature_branch_results /root/results/master_results
61+
62+
- name: Clean up results
63+
if: always()
64+
run: rm -f $HOME/results/*

.github/workflows/release.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
workflow_dispatch:
8+
9+
jobs:
10+
build_test:
11+
uses: membraneframework/membrane_actions/.github/workflows/build-test.yml@main
12+
with:
13+
submodules: recursive
14+
15+
test:
16+
uses: membraneframework/membrane_actions/.github/workflows/test.yml@test-sharding
17+
with:
18+
submodules: recursive
19+
test-flags: "--include long_running"
20+
shards: 4
21+
22+
lint:
23+
uses: membraneframework/membrane_actions/.github/workflows/lint.yml@main
24+
with:
25+
submodules: recursive
26+
27+
hex_publish:
28+
needs: [build_test, test, lint]
29+
uses: membraneframework/membrane_actions/.github/workflows/hex-publish.yml@main
30+
with:
31+
submodules: recursive
32+
secrets:
33+
HEX_API_KEY: ${{ secrets.HEX_API_KEY }}
34+
35+
gh_release:
36+
needs: [hex_publish]
37+
uses: membraneframework/membrane_actions/.github/workflows/github-release.yml@main

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
tmp/
2+
13
.elixir_ls
24
/priv/plts/*
35
!/priv/plts/.gitkeep

0 commit comments

Comments
 (0)