Skip to content

Commit c610d6e

Browse files
author
Adam
committed
fix: Resolve CI/CD build failures for automated releases (v1.0.1)
This patch release fixes the GitHub Actions workflow that was failing during FFmpeg installation due to interactive prompts. Changes: - Enhanced install_ffmpeg.py to auto-detect CI environments - Added CI environment detection to build.py - Updated GitHub Actions workflow to use --auto flag - Bumped version to 1.0.1 - Updated CHANGELOG.md with fix details The workflow now properly detects GitHub Actions environment and bypasses interactive prompts automatically. Fixes #N/A (initial release workflow issue)
1 parent 6e01ebd commit c610d6e

7 files changed

Lines changed: 38 additions & 16 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
4444
- name: Install FFmpeg
4545
run: |
46-
python install_ffmpeg.py
46+
python install_ffmpeg.py --auto
4747
continue-on-error: false
4848

4949
- name: Build executable with PyInstaller

CHANGELOG.md

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ All notable changes to TranscribAIr will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.0.1] - 2025-11-13
9+
10+
### Fixed
11+
- CI/CD workflow: Fixed FFmpeg installation failing in GitHub Actions due to interactive prompts
12+
- Added automatic CI environment detection in `install_ffmpeg.py` and `build.py`
13+
- Enhanced `install_ffmpeg.py` to auto-detect CI environments (GITHUB_ACTIONS, CI env vars)
14+
- Build script now handles non-interactive environments gracefully
15+
816
## [1.0.0] - 2025-11-13
917

1018
### Added
@@ -21,6 +29,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2129
- Rubric-based feedback organization
2230
- Export to PDF and Word formats
2331
- Python 3.13 compatibility fixes
32+
- Modern Python packaging with pyproject.toml
33+
- Professional Windows installer with Inno Setup
34+
- Auto-update capability with GitHub Releases integration
35+
- Version display in application
36+
- Optimized executable build for smaller file size
37+
- CI/CD pipeline for automated releases
38+
- Comprehensive development documentation
2439

2540
### Changed
2641
- Initial public release version
@@ -31,13 +46,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3146
## [Unreleased]
3247

3348
### Added
34-
- Modern Python packaging with pyproject.toml
35-
- Professional Windows installer with Inno Setup
36-
- Auto-update capability with GitHub Releases integration
37-
- Version display in application
38-
- Optimized executable build for smaller file size
39-
- CI/CD pipeline for automated releases
40-
- Comprehensive development documentation
49+
- Future features will be listed here
4150

4251
---
4352

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# TranscribAIr
22

3-
[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/otherworld-dev/TranscribAIr/releases)
3+
[![Version](https://img.shields.io/badge/version-1.0.1-blue.svg)](https://github.com/otherworld-dev/TranscribAIr/releases)
44
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
55
[![Python](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/downloads/)
66

@@ -36,7 +36,7 @@ A desktop application for audio transcription powered by OpenAI's Whisper model.
3636

3737
**Download the pre-built installer from [GitHub Releases](https://github.com/otherworld-dev/TranscribAIr/releases)**
3838

39-
1. Download `TranscribAIr-1.0.0-Setup.exe`
39+
1. Download `TranscribAIr-1.0.1-Setup.exe`
4040
2. Run the installer
4141
3. Follow the installation wizard
4242
4. Launch TranscribAIr from Start Menu or Desktop shortcut

__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
TranscribAIr version information.
33
"""
44

5-
__version__ = "1.0.0"
5+
__version__ = "1.0.1"
66
__version_info__ = tuple(int(i) for i in __version__.split("."))
77

88
# Application metadata

build.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,21 @@ def check_requirements():
2626

2727
def install_ffmpeg():
2828
"""Install FFmpeg if not already available."""
29-
installer = FFmpegInstaller()
29+
# Check if running in CI environment
30+
ci_mode = os.environ.get('CI') == 'true' or os.environ.get('GITHUB_ACTIONS') == 'true'
31+
32+
installer = FFmpegInstaller(auto_install=ci_mode)
3033

3134
if installer.is_installed():
3235
return installer.get_ffmpeg_path()
3336

3437
print("\nFFmpeg is required for building Transcribair.")
35-
response = input("Install FFmpeg automatically? [Y/n]: ").strip().lower()
38+
39+
if ci_mode:
40+
print("CI environment detected. Installing FFmpeg automatically...")
41+
response = 'y'
42+
else:
43+
response = input("Install FFmpeg automatically? [Y/n]: ").strip().lower()
3644

3745
if response in ['', 'y', 'yes']:
3846
if installer.install():

install_ffmpeg.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,13 @@ def get_ffmpeg_path(self) -> str:
167167

168168
def main():
169169
"""Main installation process."""
170-
# Check for --auto flag
171-
auto_install = '--auto' in sys.argv or '-y' in sys.argv
170+
# Check for --auto flag or CI environment
171+
auto_install = (
172+
'--auto' in sys.argv or
173+
'-y' in sys.argv or
174+
os.environ.get('CI') == 'true' or
175+
os.environ.get('GITHUB_ACTIONS') == 'true'
176+
)
172177

173178
print("=" * 50)
174179
print("Transribair - FFmpeg Installer")

installer.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
; The installer will be created in the Output directory
1010

1111
#define MyAppName "TranscribAIr"
12-
#define MyAppVersion "1.0.0"
12+
#define MyAppVersion "1.0.1"
1313
#define MyAppPublisher "Swansea University"
1414
#define MyAppURL "https://github.com/otherworld-dev/TranscribAIr"
1515
#define MyAppExeName "Transcribair.exe"

0 commit comments

Comments
 (0)