Skip to content

Commit 21d4f58

Browse files
authored
Merge pull request #64 from Dash-Industry-Forum/63-new-publishing-workflow
New publishing workflow
2 parents d878a5e + 5db791f commit 21d4f58

File tree

12 files changed

+191
-56
lines changed

12 files changed

+191
-56
lines changed

.github/workflows/build-pr.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Build Pull Request
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
container:
12+
image: ghcr.io/dash-industry-forum/dashif-specs:latest
13+
credentials:
14+
username: ${{ github.actor }}
15+
password: ${{ secrets.github_token }}
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
- name: Build
20+
env:
21+
# Reset OPTS to empty to make sure we are not using
22+
# interactive mode in CI
23+
OPTS:
24+
run: make -f /tools/Makefile spec SRC=Guidelines-TimingModel.bs.md NAME=Timing-Model
25+
26+
- name: Archive
27+
uses: actions/upload-artifact@v4
28+
with:
29+
name: dist
30+
path: dist/

.github/workflows/publish.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Publish
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
9+
permissions:
10+
contents: read
11+
packages: read
12+
pages: write
13+
id-token: write
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
container:
19+
image: ghcr.io/dash-industry-forum/dashif-specs:latest
20+
credentials:
21+
username: ${{ github.actor }}
22+
password: ${{ secrets.github_token }}
23+
24+
steps:
25+
- uses: actions/checkout@v4
26+
- name: Build
27+
env:
28+
# Reset OPTS to empty to make sure we are not using
29+
# interactive mode in CI
30+
OPTS:
31+
run: make -f /tools/Makefile spec SRC=Guidelines-TimingModel.bs.md NAME=Timing-Model
32+
33+
- name: Archive
34+
uses: actions/upload-artifact@v4
35+
with:
36+
name: dist
37+
path: dist/
38+
39+
package:
40+
runs-on: ubuntu-latest
41+
needs: build
42+
steps:
43+
- uses: actions/download-artifact@v4
44+
with:
45+
name: dist
46+
path: dist
47+
- uses: actions/upload-pages-artifact@v3
48+
with:
49+
path: dist
50+
51+
publish:
52+
runs-on: ubuntu-latest
53+
needs: package
54+
steps:
55+
- name: Deploy to GitHub Pages
56+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
Output
1+
Output
2+
dist/

01-Intro.inc.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ This document is based on the 4th edition DASH [[!DASH]] and 2nd edition CMAF [[
6363
DASH together with related standards and specifications is the foundation for an ecosystem of services and clients that work together to enable audio/video/text and related content to be presented to end-users.
6464

6565
<figure>
66-
<img src="Images/RoleOfIop.png" />
66+
<img src="Images/RoleOfIop.png" >
6767
<figcaption>This document connects DASH with international standards and industry specifications.</figcaption>
6868
</figure>
6969

@@ -81,7 +81,7 @@ This document was generated in close coordination with [[DVB-DASH]]. The feature
8181
1. Data containers that clients will download during playback of a [=presentation=] in order to obtain media samples.
8282

8383
<figure>
84-
<img src="Diagrams/DashStructure.png" />
84+
<img src="Diagrams/DashStructure.png" >
8585
<figcaption>Relationships of primary DASH data structures and the standards they are defined in.</figcaption>
8686
</figure>
8787

21-Timing.inc.md

Lines changed: 27 additions & 27 deletions
Large diffs are not rendered by default.

22-Addressing.inc.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Clauses in section only apply to [=representations=] that use [=indexed addressi
3636
Note: [[!DASH]] makes a distinction between "segment" (HTTP-addressable entity) and "subsegment" (byte range of an HTTP-addressable entity). This document does not make such a distinction and has no concept of subsegments. Usage of "segment" here matches the definition of CMAF segment [[!CMAF]].
3737

3838
<figure>
39-
<img src="Images/Timing/IndexedAddressing.png" />
39+
<img src="Images/Timing/IndexedAddressing.png" >
4040
<figcaption>[=Indexed addressing=] is based on an index segment that references all [=media segments=].</figcaption>
4141
</figure>
4242

@@ -165,7 +165,7 @@ Note: This addressing mode is sometimes called "SegmentTemplate with SegmentTime
165165
Clauses in section only apply to [=representations=] that use [=explicit addressing=].
166166

167167
<figure>
168-
<img src="Images/Timing/ExplicitAddressing.png" />
168+
<img src="Images/Timing/ExplicitAddressing.png" >
169169
<figcaption>[=Explicit addressing=] uses a segment template that is combined with explicitly defined time spans for each [=media segment=] in order to reference [=media segments=], either by start time or by sequence number.</figcaption>
170170
</figure>
171171

@@ -279,7 +279,7 @@ Note: This addressing mode is sometimes called "SegmentTemplate without SegmentT
279279
Clauses in section only apply to [=representations=] that use [=simple addressing=].
280280

281281
<figure>
282-
<img src="Images/Timing/SimpleAddressing.png" />
282+
<img src="Images/Timing/SimpleAddressing.png" >
283283
<figcaption>[=Simple addressing=] uses a segment template that is combined with approximate first [=media segment=] timing information and an average [=media segment=] duration in order to reference [=media segments=], either by start time or by sequence number. Note that `@eptDelta` does not affect the generated paths!</figcaption>
284284
</figure>
285285

@@ -327,7 +327,7 @@ Parts of the [=MPD=] structure that are not relevant for this chapter have been
327327
When using [=simple addressing=], the samples contained in a [=media segment=] MAY cover a different time span on the [=sample timeline=] than what is indicated by the nominal timing in the [=MPD=], as long as no constraints defined in this document are violated by this deviation.
328328

329329
<figure>
330-
<img src="Images/Timing/InaccurateAddressing.png" />
330+
<img src="Images/Timing/InaccurateAddressing.png" >
331331
<figcaption>[=Simple addressing=] relaxes the requirement on [=media segment=] contents matching the [=sample timeline=]. Red boxes indicate samples.</figcaption>
332332
</figure>
333333

Guidelines-TimingModel.bs.md

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,25 @@
1-
#include "01-Intro.inc.md"
2-
3-
#include "21-Timing.inc.md"
4-
#include "22-Addressing.inc.md"
5-
#include "29-Misc.inc.md"
6-
7-
<!-- Document metadata follows. The below sections are used by the document compiler and are not directly visible. -->
81

92
<pre class="metadata">
103
Revision: 5.0
114

125
Title: DASH-IF implementation guidelines: restricted timing model
136
Status: LS-COMMIT
147
Shortname: dash-timing
15-
URL: https://dashif-documents.azurewebsites.net/Guidelines-TimingModel/master/Guidelines-TimingModel.html
8+
URL: https://dashif.org/Guidelines-TimingModel/
9+
Group: dashif
1610
Issue Tracking: GitHub https://github.com/Dash-Industry-Forum/Guidelines-TimingModel/issues
17-
Repository: https://github.com/Dash-Industry-Forum/Guidelines-TimingModel GitHub
18-
Editor: DASH Industry Forum
1911

20-
Default Highlight: text
21-
<!-- Enabling line numbers breaks code blocks in PDF! (2018-10-02) -->
22-
Line Numbers: off
23-
Markup Shorthands: markdown yes
24-
Boilerplate: copyright off, abstract off
25-
Abstract: None
2612
</pre>
2713

28-
<!-- Custom bibliography entries go in References.json. Prefer adding your document to SpecRef over maintaining a custom definition. -->
29-
<pre class="biblio">
30-
#include "References.json"
14+
<pre class=include>
15+
path: 01-Intro.inc.md
3116
</pre>
32-
33-
<pre boilerplate="logo">
34-
<a href="https://dashif.org/"><img src="Images/DASH-IF.png" /></a>
17+
<pre class=include>
18+
path: 21-Timing.inc.md
19+
</pre>
20+
<pre class=include>
21+
path: 22-Addressing.inc.md
22+
</pre>
23+
<pre class=include>
24+
path: 29-Misc.inc.md
3525
</pre>
File renamed without changes.

build.bat

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
@echo off
2+
set IMG=dashif/specs-builder:latest
3+
4+
rem Check if OPTS is defined, if not, set default value
5+
if "%OPTS%"=="" (
6+
set OPTS=-ti
7+
)
8+
9+
rem Collect command-line arguments
10+
set TARGETS=%*
11+
12+
rem If no arguments are provided, use "spec"
13+
if "%TARGETS%"=="" (
14+
set TARGETS=spec
15+
)
16+
17+
rem Add parameters to TARGETS
18+
set TARGETS=%TARGETS% SRC=Guidelines-TimingModel.bs.md NAME=Timing-Model
19+
20+
echo Running with targets: '%TARGETS%'
21+
docker run --rm %OPTS% -v "%cd%:/data" -p 8000:8000 %IMG% %TARGETS%
22+

build.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/bin/bash
2+
3+
# Here is the command that can be used to debug or develop with the
4+
# local resources.
5+
#
6+
# docker run --rm -ti -v `pwd`:/data -v `pwd`/build-tools/tools:/tools -v `pwd`/data/boilerplate/dashif:/usr/local/lib/python3.12/dist-packages/bikeshed/spec-data/boilerplate/dashif dashif-specs:latest
7+
#
8+
9+
# Run the docker container and pass all the arguments
10+
IMG=dashif/specs-builder:latest
11+
12+
# Allow to overwrite additional options from the outside.
13+
# We use tty and interactive by default since this makes it easier
14+
# to deal with watch mode and Ctrl-C etc but we can not use this
15+
# for instance in CI mode
16+
if [ -z ${OPTS+x} ]; then
17+
OPTS=-ti
18+
fi
19+
20+
TARGETS="${@}"
21+
if [ -z "${TARGETS}" ]; then
22+
TARGETS="spec"
23+
fi
24+
# Add parameters
25+
TARGETS="${TARGETS} SRC=Guidelines-TimingModel.bs.md NAME=Timing-Model"
26+
27+
echo "Run with targets: '${TARGETS}'"
28+
docker run --rm ${OPTS} -v `pwd`:/data -p 8000:8000 \
29+
${IMG} ${TARGETS}

0 commit comments

Comments
 (0)