Skip to content

Commit 607ec7a

Browse files
authored
Merge pull request #21 from ebu/task/v1.7
Preparation for initial EBU release v1.7. Housekeeping, updating build and infrastructure, dependencies, updating links in documentation
2 parents f81a534 + 6de5da3 commit 607ec7a

18 files changed

Lines changed: 57 additions & 72 deletions

.github/workflows/build_and_test.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
name: Build and Test
2+
permissions:
3+
contents: read
4+
pull-requests: write
25
on:
36
workflow_dispatch:
47
pull_request:
@@ -72,11 +75,11 @@ jobs:
7275
if: ${{ matrix.name == 'macos-brew' }}
7376
shell: bash
7477
run: |
75-
brew install git cmake expat uriparser curl
78+
brew install expat uriparser
7679
7780
- name: Install dependencies (macos-xcode-universal)
7881
if: ${{ matrix.name == 'macos-xcode-universal' }}
79-
uses: maxim-lobanov/setup-xcode@v1
82+
uses: maxim-lobanov/setup-xcode@v1.7.0
8083
with:
8184
xcode-version: latest-stable
8285

@@ -86,7 +89,7 @@ jobs:
8689
git --version
8790
cmake --version
8891
89-
- uses: actions/checkout@v4
92+
- uses: actions/checkout@v6.0.2
9093
with:
9194
fetch-depth: 0
9295

.github/workflows/codeql.yml

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,8 @@ name: "CodeQL Advanced"
1313

1414
on:
1515
push:
16-
branches: [ "main" ]
1716
pull_request:
18-
branches: [ "main" ]
19-
schedule:
20-
- cron: '45 10 * * 3'
21-
17+
2218
jobs:
2319
analyze:
2420
name: Analyze (${{ matrix.language }})
@@ -28,16 +24,6 @@ jobs:
2824
# - https://gh.io/using-larger-runners (GitHub.com only)
2925
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
3026
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
31-
permissions:
32-
# required for all workflows
33-
security-events: write
34-
35-
# required to fetch internal or private CodeQL packs
36-
packages: read
37-
38-
# only required for workflows in private repositories
39-
actions: read
40-
contents: read
4127

4228
strategy:
4329
fail-fast: false
@@ -57,7 +43,7 @@ jobs:
5743
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
5844
steps:
5945
- name: Checkout repository
60-
uses: actions/checkout@v4
46+
uses: actions/checkout@v6.0.2
6147

6248
# Add any setup steps before running the `github/codeql-action/init` action.
6349
# This includes steps like installing compilers or runtimes (`actions/setup-node`
@@ -67,7 +53,7 @@ jobs:
6753

6854
# Initializes the CodeQL tools for scanning.
6955
- name: Initialize CodeQL
70-
uses: github/codeql-action/init@v4
56+
uses: github/codeql-action/init@v4.35.1
7157
with:
7258
languages: ${{ matrix.language }}
7359
build-mode: ${{ matrix.build-mode }}
@@ -96,6 +82,6 @@ jobs:
9682
exit 1
9783
9884
- name: Perform CodeQL Analysis
99-
uses: github/codeql-action/analyze@v4
85+
uses: github/codeql-action/analyze@v4.35.1
10086
with:
10187
category: "/language:${{matrix.language}}"

.github/workflows/release.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
name: Release
2+
permissions:
3+
contents: read
4+
pull-requests: write
25
on:
36
workflow_dispatch:
47
jobs:
58
source_release:
69
runs-on: ubuntu-latest
710

811
steps:
9-
- uses: actions/checkout@v4
12+
- uses: actions/checkout@v6.0.2
1013
with:
1114
fetch-depth: 0
1215

@@ -23,7 +26,7 @@ jobs:
2326
mv ../source_release .
2427
2528
- name: Upload source release
26-
uses: actions/upload-artifact@v4
29+
uses: actions/upload-artifact@v7.0.1
2730
with:
2831
name: source-release
2932
path: |
@@ -36,9 +39,9 @@ jobs:
3639
matrix:
3740
include:
3841
- name: windows
39-
os: windows-2019
42+
os: windows-2022
4043
- name: macos-xcode-universal
41-
os: macos-13
44+
os: macos-14
4245
- name: ubuntu
4346
os: ubuntu-latest
4447

@@ -60,12 +63,12 @@ jobs:
6063
uuid-dev \
6164
libcurl4-openssl-dev
6265
63-
- uses: maxim-lobanov/setup-xcode@v1
66+
- uses: maxim-lobanov/setup-xcode@v1.7.0
6467
if: ${{ contains(matrix.name, 'xcode') }}
6568
with:
6669
xcode-version: latest-stable
6770

68-
- uses: actions/download-artifact@v4
71+
- uses: actions/download-artifact@v8.0.1
6972
with:
7073
name: source-release
7174

@@ -108,7 +111,7 @@ jobs:
108111
109112
- name: Upload binary release
110113
if: ${{ !contains(matrix.os, 'ubuntu') }}
111-
uses: actions/upload-artifact@v4
114+
uses: actions/upload-artifact@v7.0.1
112115
with:
113116
name: binary-release-${{ matrix.name }}
114117
path: |

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# bmx Changelog
22

3-
## Version next
3+
## v1.7
44

55
### Breaking changes
66

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ else()
1313
endif()
1414

1515
project(bmx
16-
VERSION 1.6
16+
VERSION 1.7
1717
DESCRIPTION "A C++ library and set of utilities to read and write the SMPTE ST 377-1 MXF file format"
18-
HOMEPAGE_URL https://github.com/bbc/bmx
18+
HOMEPAGE_URL https://github.com/ebu/bmx
1919
LANGUAGES C CXX
2020
)
2121

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
##################################################
22
# Build layer
33
##################################################
4-
FROM debian:latest as build
4+
FROM debian:latest AS build
55

66
WORKDIR /build
77

@@ -33,9 +33,9 @@ RUN mkdir build && cd build && \
3333
##################################################
3434
# Runtime layer
3535
##################################################
36-
FROM debian:latest as runtime
36+
FROM debian:latest AS runtime
3737

38-
LABEL org.opencontainers.image.source=https://github.com/bbc/bmx
38+
LABEL org.opencontainers.image.source=https://github.com/ebu/bmx
3939
LABEL org.opencontainers.image.description="A useful set of tools for handling MXF and related files"
4040
LABEL org.opencontainers.image.licenses=BSD-3-Clause
4141

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ project(example_project LANGUAGES CXX)
156156
157157
include(FetchContent)
158158
FetchContent_Declare(bmx
159-
GIT_REPOSITORY "https://github.com/bbc/bmx"
159+
GIT_REPOSITORY "https://github.com/ebu/bmx"
160160
GIT_TAG "origin/main"
161161
)
162162
FetchContent_MakeAvailable(bmx)
@@ -240,7 +240,7 @@ This example runs `bmxtranswrap` from input `./sources/in.mxf` to output `./dest
240240

241241
## Source and Binary Distributions
242242

243-
Source distributions, including dependencies, and binaries are made available in the [Releases](https://github.com/bbc/bmx/releases) on GitHub. Older distributions can be found on [SourceForge](https://sourceforge.net/projects/bmxlib/files/).
243+
Source distributions, including dependencies, and binaries are made available in the [Releases](https://github.com/ebu/bmx/releases) on GitHub. Older distributions can be found on [SourceForge](https://sourceforge.net/projects/bmxlib/files/).
244244

245245
Source and binary distributions are generally only created when a new feature is required for creating standard compliant sample files for example, or when a release hasn't been made for a long time.
246246

cmake/ext_expat.cmake

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ if(expat_link_lib)
33
endif()
44

55

6-
if(MSVC OR BMX_BUILD_EXPAT_SOURCE)
6+
if(BMX_BUILD_EXPAT_SOURCE)
77
include(FetchContent)
88

99
set(EXPAT_BUILD_DOCS OFF CACHE INTERNAL "")
@@ -22,26 +22,16 @@ if(MSVC OR BMX_BUILD_EXPAT_SOURCE)
2222
)
2323
else()
2424
FetchContent_Declare(FT_libexpat
25+
SOURCE_SUBDIR expat
2526
GIT_REPOSITORY https://github.com/libexpat/libexpat
26-
GIT_TAG R_2_5_0
27+
GIT_TAG R_2_8_0
2728
)
2829
endif()
2930

30-
# Use FetchContent_Populate because the CMakeLists.txt is in the expat/ sub-directory
31-
FetchContent_GetProperties(FT_libexpat)
32-
if(NOT FT_libexpat_POPULATED)
33-
FetchContent_Populate(FT_libexpat)
34-
35-
add_subdirectory("${ft_libexpat_SOURCE_DIR}/expat" ${ft_libexpat_BINARY_DIR})
36-
endif()
31+
FetchContent_MakeAvailable(FT_libexpat)
3732

3833
set(expat_link_lib expat)
3934
else()
40-
include(FindEXPAT)
41-
42-
if(NOT EXPAT_FOUND)
43-
message(FATAL_ERROR "expat dependency not found")
44-
endif()
45-
35+
find_package(EXPAT REQUIRED)
4636
set(expat_link_lib EXPAT::EXPAT)
4737
endif()

cmake/options.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ if(UNIX)
4141
elseif(MSVC)
4242
# Shared library currently not supported
4343
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build using shared libraries")
44+
45+
# Option to build expat from source in deps/ or from the git repo
46+
option(BMX_BUILD_EXPAT_SOURCE "Build expat from source" ON)
4447

4548
# Option to set to use the runtime
4649
set(BMX_SET_MSVC_RUNTIME "MD" CACHE STRING "Set MSVC debug/release runtime to 'MD' (MultiThreadedDLL), 'MT' (MultiThreaded) or 'default' (use the default)")

deps/libMXF/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ else()
1313
endif()
1414

1515
project(libMXF
16-
VERSION 1.6
16+
VERSION 1.7
1717
DESCRIPTION "Low-level C library for reading and writing the SMPTE ST 377-1 MXF file format"
1818
HOMEPAGE_URL https://github.com/bbc/libMXF
1919
LANGUAGES C CXX

0 commit comments

Comments
 (0)