forked from External/mediamtx
Compare commits
2 commits
main
...
feature/ve
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a16ef00e88 | ||
|
|
f6b0a72453 |
8 changed files with 83 additions and 14 deletions
|
|
@ -3,6 +3,7 @@
|
||||||
/binaries
|
/binaries
|
||||||
/coverage*.txt
|
/coverage*.txt
|
||||||
/apidocs/*.html
|
/apidocs/*.html
|
||||||
|
/internal/core/version.go
|
||||||
/internal/servers/hls/hls.min.js
|
/internal/servers/hls/hls.min.js
|
||||||
/internal/protocols/rpicamera/exe/text_font.h
|
/internal/protocols/rpicamera/exe/text_font.h
|
||||||
/internal/protocols/rpicamera/exe/exe
|
/internal/protocols/rpicamera/exe/exe
|
||||||
|
|
|
||||||
2
.github/workflows/code_lint.yml
vendored
2
.github/workflows/code_lint.yml
vendored
|
|
@ -17,7 +17,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
go-version: "1.22"
|
go-version: "1.22"
|
||||||
|
|
||||||
- run: touch internal/servers/hls/hls.min.js
|
- run: go generate ./...
|
||||||
|
|
||||||
- uses: golangci/golangci-lint-action@v4
|
- uses: golangci/golangci-lint-action@v4
|
||||||
with:
|
with:
|
||||||
|
|
|
||||||
11
.github/workflows/code_test.yml
vendored
11
.github/workflows/code_test.yml
vendored
|
|
@ -11,7 +11,7 @@ jobs:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- run: make test
|
- run: make test
|
||||||
|
|
||||||
|
|
@ -23,7 +23,7 @@ jobs:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- run: make test32
|
- run: make test32
|
||||||
|
|
||||||
|
|
@ -31,10 +31,15 @@ jobs:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: actions/setup-go@v2
|
- uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: "1.22"
|
go-version: "1.22"
|
||||||
|
|
||||||
|
- name: GitHub Tag Name example
|
||||||
|
run: |
|
||||||
|
echo "Tag name from GITHUB_REF_NAME: $GITHUB_REF_NAME"
|
||||||
|
echo "Tag name from github.ref_name: ${{ github.ref_name }}"
|
||||||
|
|
||||||
- run: make test-highlevel-nodocker
|
- run: make test-highlevel-nodocker
|
||||||
|
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -2,6 +2,7 @@
|
||||||
/binaries
|
/binaries
|
||||||
/coverage*.txt
|
/coverage*.txt
|
||||||
/apidocs/*.html
|
/apidocs/*.html
|
||||||
|
/internal/core/version.go
|
||||||
/internal/servers/hls/hls.min.js
|
/internal/servers/hls/hls.min.js
|
||||||
/internal/protocols/rpicamera/exe/text_font.h
|
/internal/protocols/rpicamera/exe/text_font.h
|
||||||
/internal/protocols/rpicamera/exe/exe
|
/internal/protocols/rpicamera/exe/exe
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ import (
|
||||||
"github.com/bluenviron/mediamtx/internal/servers/webrtc"
|
"github.com/bluenviron/mediamtx/internal/servers/webrtc"
|
||||||
)
|
)
|
||||||
|
|
||||||
var version = "v0.0.0"
|
//go:generate go run ./versiongetter
|
||||||
|
|
||||||
var defaultConfPaths = []string{
|
var defaultConfPaths = []string{
|
||||||
"rtsp-simple-server.yml",
|
"rtsp-simple-server.yml",
|
||||||
|
|
|
||||||
63
internal/core/versiongetter/main.go
Normal file
63
internal/core/versiongetter/main.go
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
// Package main contains an utility to get the server version
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"fmt"
|
||||||
|
"html/template"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
|
)
|
||||||
|
|
||||||
|
var tpl = template.Must(template.New("").Parse(
|
||||||
|
`// autogenerated:yes
|
||||||
|
package core
|
||||||
|
|
||||||
|
const version = "{{ .Version }}"
|
||||||
|
`))
|
||||||
|
|
||||||
|
func do() error {
|
||||||
|
log.Println("getting version...")
|
||||||
|
|
||||||
|
temp, _ := exec.Command("git", "status").CombinedOutput()
|
||||||
|
/*if err != nil {
|
||||||
|
return err
|
||||||
|
}*/
|
||||||
|
|
||||||
|
fmt.Println(string(temp))
|
||||||
|
|
||||||
|
stdout, err := exec.Command("git", "describe", "--tags").Output()
|
||||||
|
|
||||||
|
fmt.Println(string(stdout))
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
version := string(stdout[:len(stdout)-1])
|
||||||
|
|
||||||
|
var buf bytes.Buffer
|
||||||
|
err = tpl.Execute(&buf, map[string]interface{}{
|
||||||
|
"Version": version,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = os.WriteFile("version.go", buf.Bytes(), 0o644)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("ok")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
err := do()
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("ERR: %v", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -29,36 +29,36 @@ RUN cp mediamtx.yml LICENSE tmp/
|
||||||
RUN go generate ./...
|
RUN go generate ./...
|
||||||
|
|
||||||
FROM build-base AS build-windows-amd64
|
FROM build-base AS build-windows-amd64
|
||||||
RUN GOOS=windows GOARCH=amd64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/$(BINARY_NAME).exe
|
RUN GOOS=windows GOARCH=amd64 go build -o tmp/$(BINARY_NAME).exe
|
||||||
RUN cd tmp && zip -q ../binaries/$(BINARY_NAME)_$${VERSION}_windows_amd64.zip $(BINARY_NAME).exe mediamtx.yml LICENSE
|
RUN cd tmp && zip -q ../binaries/$(BINARY_NAME)_$${VERSION}_windows_amd64.zip $(BINARY_NAME).exe mediamtx.yml LICENSE
|
||||||
|
|
||||||
FROM build-base AS build-linux-amd64
|
FROM build-base AS build-linux-amd64
|
||||||
RUN GOOS=linux GOARCH=amd64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/$(BINARY_NAME)
|
RUN GOOS=linux GOARCH=amd64 go build -o tmp/$(BINARY_NAME)
|
||||||
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_linux_amd64.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_linux_amd64.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
||||||
|
|
||||||
FROM build-base AS build-darwin-amd64
|
FROM build-base AS build-darwin-amd64
|
||||||
RUN GOOS=darwin GOARCH=amd64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/$(BINARY_NAME)
|
RUN GOOS=darwin GOARCH=amd64 go build -o tmp/$(BINARY_NAME)
|
||||||
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_darwin_amd64.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_darwin_amd64.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
||||||
|
|
||||||
FROM build-base AS build-darwin-arm64
|
FROM build-base AS build-darwin-arm64
|
||||||
RUN GOOS=darwin GOARCH=arm64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/$(BINARY_NAME)
|
RUN GOOS=darwin GOARCH=arm64 go build -o tmp/$(BINARY_NAME)
|
||||||
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_darwin_arm64.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_darwin_arm64.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
||||||
|
|
||||||
FROM build-base AS build-linux-armv6
|
FROM build-base AS build-linux-armv6
|
||||||
COPY --from=rpicamera32 /s/internal/protocols/rpicamera/exe/exe internal/protocols/rpicamera/exe/
|
COPY --from=rpicamera32 /s/internal/protocols/rpicamera/exe/exe internal/protocols/rpicamera/exe/
|
||||||
RUN GOOS=linux GOARCH=arm GOARM=6 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/$(BINARY_NAME) -tags rpicamera
|
RUN GOOS=linux GOARCH=arm GOARM=6 go build -o tmp/$(BINARY_NAME) -tags rpicamera
|
||||||
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_linux_armv6.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_linux_armv6.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
||||||
RUN rm internal/protocols/rpicamera/exe/exe
|
RUN rm internal/protocols/rpicamera/exe/exe
|
||||||
|
|
||||||
FROM build-base AS build-linux-armv7
|
FROM build-base AS build-linux-armv7
|
||||||
COPY --from=rpicamera32 /s/internal/protocols/rpicamera/exe/exe internal/protocols/rpicamera/exe/
|
COPY --from=rpicamera32 /s/internal/protocols/rpicamera/exe/exe internal/protocols/rpicamera/exe/
|
||||||
RUN GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/$(BINARY_NAME) -tags rpicamera
|
RUN GOOS=linux GOARCH=arm GOARM=7 go build -o tmp/$(BINARY_NAME) -tags rpicamera
|
||||||
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_linux_armv7.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_linux_armv7.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
||||||
RUN rm internal/protocols/rpicamera/exe/exe
|
RUN rm internal/protocols/rpicamera/exe/exe
|
||||||
|
|
||||||
FROM build-base AS build-linux-arm64
|
FROM build-base AS build-linux-arm64
|
||||||
COPY --from=rpicamera64 /s/internal/protocols/rpicamera/exe/exe internal/protocols/rpicamera/exe/
|
COPY --from=rpicamera64 /s/internal/protocols/rpicamera/exe/exe internal/protocols/rpicamera/exe/
|
||||||
RUN GOOS=linux GOARCH=arm64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/$(BINARY_NAME) -tags rpicamera
|
RUN GOOS=linux GOARCH=arm64 go build -o tmp/$(BINARY_NAME) -tags rpicamera
|
||||||
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_linux_arm64v8.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
RUN tar -C tmp -czf binaries/$(BINARY_NAME)_$${VERSION}_linux_arm64v8.tar.gz --owner=0 --group=0 $(BINARY_NAME) mediamtx.yml LICENSE
|
||||||
RUN rm internal/protocols/rpicamera/exe/exe
|
RUN rm internal/protocols/rpicamera/exe/exe
|
||||||
|
|
||||||
|
|
@ -75,7 +75,6 @@ export DOCKERFILE_BINARIES
|
||||||
|
|
||||||
binaries:
|
binaries:
|
||||||
echo "$$DOCKERFILE_BINARIES" | DOCKER_BUILDKIT=1 docker build . -f - \
|
echo "$$DOCKERFILE_BINARIES" | DOCKER_BUILDKIT=1 docker build . -f - \
|
||||||
--build-arg VERSION=$$(git describe --tags) \
|
|
||||||
-t temp
|
-t temp
|
||||||
docker run --rm -v $(PWD):/out \
|
docker run --rm -v $(PWD):/out \
|
||||||
temp sh -c "rm -rf /out/binaries && cp -r /s/binaries /out/"
|
temp sh -c "rm -rf /out/binaries && cp -r /s/binaries /out/"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
lint:
|
lint:
|
||||||
touch internal/servers/hls/hls.min.js
|
go generate ./...
|
||||||
docker run --rm -v $(PWD):/app -w /app \
|
docker run --rm -v $(PWD):/app -w /app \
|
||||||
$(LINT_IMAGE) \
|
$(LINT_IMAGE) \
|
||||||
golangci-lint run -v
|
golangci-lint run -v
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue