Skip to content

Commit

Permalink
Merge pull request #149 from Comcast/release/2.4.0
Browse files Browse the repository at this point in the history
Release 2.4.0
  • Loading branch information
theRealRobG authored Dec 4, 2024
2 parents 50c270c + 66eb289 commit 566748b
Show file tree
Hide file tree
Showing 82 changed files with 1,531 additions and 326 deletions.
87 changes: 87 additions & 0 deletions .github/workflows/generate-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Generate Release
run-name: Generate Release ${{ fromJSON(inputs.major) }}.${{ fromJSON(inputs.minor) }}.${{ fromJSON(inputs.patch) }}

on:
workflow_dispatch:
inputs:
major:
description: 'Major version'
required: true
default: '1'
type: choice
options:
- '1'
- '2'
minor:
description: 'Minor version'
required: true
type: number
patch:
description: 'Patch version'
required: true
type: number

jobs:
bump-version-and-raise-pr:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
env:
version: ${{ fromJSON(inputs.major) }}.${{ fromJSON(inputs.minor) }}.${{ fromJSON(inputs.patch) }}
branch: ${{ inputs.major == 2 && 'develop' || 'develop_1.x' }}
target: ${{ inputs.major == 2 && 'main' || 'main_1.x' }}
steps:
- name: Check minor has no decimals
run: ${{ !contains(fromJSON(inputs.minor), '.') }}

- name: Check patch has no decimals
run: ${{ !contains(fromJSON(inputs.patch), '.') }}

- name: Checkout ${{ env.target }}
uses: actions/checkout@v4
with:
ref: ${{ env.target }}
fetch-depth: 0

- name: Ensure tag does not exist
run: |
if git show-ref --tags --verify --quiet "refs/tags/$version"; then
echo "::error::Tag $version exists" && exit 1
else
echo "Tag $version does not exist"
fi
- name: Ensure branch does not exist
run: |
if git show-ref --verify --quiet "refs/remotes/origin/release/$version"; then
echo "::error::Release branch release/$version exists" && exit 1
else
echo "Release branch release/$version does not exist"
fi
- name: Merge in ${{ env.branch }}
run: |
git config user.name github-actions
git config user.email [email protected]
git merge origin/${{ env.branch }}
- name: Update version in txt file
run: sed -i "s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}/$version/" ./mambaSharedFramework/Resources/version.txt

- name: Update version in xcodeproj file
run: sed -i "s/MARKETING_VERSION = [0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\};/MARKETING_VERSION = $version;/" ./mamba.xcodeproj/project.pbxproj

- name: Update version in podspec file
run: sed -i "s/= \"[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\"/= \"$version\"/" ./mamba.podspec

- name: Create pull request
uses: peter-evans/create-pull-request@v7
with:
title: Release ${{ env.version }}
commit-message: Bump version to ${{ env.version }}
branch: release/${{ env.version }}
body: |
Automated version bump to ${{ env.version }} generated by [create-pull-request][1].
[1]: https://github.com/peter-evans/create-pull-request
34 changes: 34 additions & 0 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Publish Release
on:
push:
branches:
- 'main'
- 'main_1.x'

jobs:
get-version:
name: Get version for release
runs-on: ubuntu-latest
outputs:
version: ${{ steps.version.outputs.version }}
steps:
- name: Checkout
uses: actions/checkout@v4
- id: version
run: echo "version=`cat ./mambaSharedFramework/Resources/version.txt`" >> "$GITHUB_OUTPUT"

publish-release:
name: Publish release ${{ needs.get-version.outputs.version }}
runs-on: ubuntu-latest
needs: get-version
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Create release
uses: elgohr/Github-Release-Action@v5
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
title: ${{ needs.get-version.outputs.version }}
tag: ${{ needs.get-version.outputs.version }}
71 changes: 71 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
//
// Package.swift
// mamba
//
// Copyright © 2020 Comcast Cable Communications Management, LLC
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

import PackageDescription

let package = Package(
name: "mamba",
products: [
.library(
name: "mamba",
targets: ["mamba"]
)
],
targets: [
.target(
name: "mamba",
dependencies: [.target(name: "HLSObjectiveC")],
path: "mambaSharedFramework",
exclude: [
"HLS ObjectiveC",
"PlaylistParserError",
"mamba.h"
],
resources: [
.process("Resources")
]
),
.target(
name: "PlaylistParserError",
path: "mambaSharedFramework/PlaylistParserError"
),
.target(
name: "HLSObjectiveC",
dependencies: ["PlaylistParserError"],
path: "mambaSharedFramework/HLS ObjectiveC",
exclude: [
"PrototypeRapidParseArray.include",
"RapidParser_LookingForEForEXTINFState_ParseArray.include",
"RapidParser_LookingForEForEXTState_ParseArray.include",
"RapidParser_LookingForHashForEXTINFState_ParseArray.include",
"RapidParser_LookingForHashForEXTState_ParseArray.include",
"RapidParser_LookingForIForEXTINFState_ParseArray.include",
"RapidParser_LookingForNewlineForEXTINFState_ParseArray.include",
"RapidParser_LookingForNewLineForEXTState_ParseArray.include",
"RapidParser_LookingForNewLineForHashState_ParseArray.include",
"RapidParser_LookingForNForEXTINFState_ParseArray.include",
"RapidParser_LookingForTForEXTINFState_ParseArray.include",
"RapidParser_LookingForXForEXTINFState_ParseArray.include",
"RapidParser_LookingForXForEXTState_ParseArray.include",
"RapidParser_ScanningState_ParseArray.include",
]
)
]
)
2 changes: 1 addition & 1 deletion mamba.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "mamba"
s.version = "2.3.0"
s.version = "2.4.0"
s.license = { :type => 'Apache License, Version 2.0',
:text => <<-LICENSE
Copyright 2017 Comcast Cable Communications Management, LLC
Expand Down
Loading

0 comments on commit 566748b

Please sign in to comment.