Skip to content

Add GitHub Action for downloading release assets#11

Closed
alexadereyko wants to merge 7 commits intojira/TBBAS-2672-opendaq-gh-actions-architecturefrom
jira/TBBAS-2685-opendaq-gh-actions-framework-download-release
Closed

Add GitHub Action for downloading release assets#11
alexadereyko wants to merge 7 commits intojira/TBBAS-2672-opendaq-gh-actions-architecturefrom
jira/TBBAS-2685-opendaq-gh-actions-framework-download-release

Conversation

@alexadereyko
Copy link
Copy Markdown
Collaborator

@alexadereyko alexadereyko commented Oct 15, 2025

Add GitHub Action for downloading release assets from openDAQ/openDAQ repository with automatic platform detection and smart asset filtering.

Features:

  • Automatic platform detection (Ubuntu/Debian/macOS/Windows)
  • Smart asset pattern generation (OS + arch with version wildcard)
  • Version resolution (latest or specific version)
  • SHA256 checksum computation
  • Cross-platform support with path normalization
  • GitHub CLI integration with token authentication

Inputs:

  • github-token: GitHub token for API authentication
  • version: Release version or 'latest'
  • platform: Target platform or auto-detect
  • packaging: Package format or auto-detect
  • asset-pattern: Custom glob pattern
  • output-dir: Output directory
  • verbose: Enable verbose output

Outputs:

  • asset: Full path to downloaded asset
  • asset-dir: Directory path
  • asset-filename: Asset filename
  • asset-filesize: File size in bytes
  • asset-checksum: SHA256 checksum
  • version: Resolved version
  • platform: Detected/specified platform
  • packaging: Package format

Documentation:

  • Comprehensive README with usage examples
  • Examples for common scenarios (latest build, custom dir, cross-repo)
  • Integration example with downloaded asset usage

@alexadereyko alexadereyko marked this pull request as ready for review October 15, 2025 15:54
@alexadereyko alexadereyko force-pushed the jira/TBBAS-2685-opendaq-gh-actions-framework-download-release branch from 330c063 to 954c6e9 Compare November 7, 2025 11:05
@alexadereyko alexadereyko self-assigned this Nov 7, 2025
@alexadereyko alexadereyko changed the base branch from jira/TBBAS-2683-opendaq-gh-actions-framework-download-artifact to jira/TBBAS-2681-opendaq-gh-actions-framework-compose-filename November 7, 2025 11:05
@alexadereyko alexadereyko force-pushed the jira/TBBAS-2681-opendaq-gh-actions-framework-compose-filename branch from 77dab38 to 8f83e59 Compare November 7, 2025 14:31
@alexadereyko alexadereyko force-pushed the jira/TBBAS-2685-opendaq-gh-actions-framework-download-release branch from 954c6e9 to 47cb5cf Compare November 7, 2025 14:34
Aliaksandr Adziareika added 7 commits November 7, 2025 16:01
…prehensive testing infrastructure.

Added
- Project architecture for composite GitHub Actions
- Test framework for validating shell scripts
- CI/CD workflows for automated testing
- Example scripts and actions structure
- Comprehensive documentation

Project Structure
- scripts/ - Common scripts for actions (cross-platform utilities)
- tests/ - Test framework for script validation
- .github/workflows/ - CI/CD automation
- Documentation for actions development and testing

Testing Infrastructure
- Test runner with filtering and isolation
- Assertion library and test hooks
- Cross-platform support (Linux, macOS, Windows)
- Multiple shell compatibility (bash 3.2+, zsh)
- Automated CI/CD workflows

Purpose
Enable development of reusable composite actions for openDAQ workflows with:
- Consistent script testing approach
- Cross-platform validation
- Automated quality checks
- Clear development guidelines

See Actions/README.md for architecture documentation.
Add:
- version-format.sh -- script implementation
- docs -- scripts API description and usage
- code conventions
Features:
- Auto-detect current platform
- Validate with type checking (unix/linux/ubuntu/debian/macos/win)
- Parse and compose platform aliases
- CLI tool and library modes

Format: {os}{version}-{arch} (ubuntu20.04-arm64) or win{arch} (win64)

Docs: README (CLI usage), API (library reference)
Features:
- Detect extensions from CPack generators (NSIS, ZIP, TGZ, DEB)
- Detect extensions from OS names (GitHub runners, runner.os)
- Customizable via environment variables
- Compatible with bash 3.2+ and zsh

Documentation:
- Complete README with usage examples
- Full API reference for public functions
- Updated CONVENTIONS.md with new guidelines
Features:
- Version resolution (latest, specific tags)
- Assets listing and downloading with pattern filtering
- Workflow artifacts listing and downloading with pattern filtering
- Compatible with bash 3.2+ and zsh

Documentation:
- Add README.md with CLI usage and integration examples
- Update CONVENTIONS.md for API wrapper modules
…n, platform, and packaging format components.

Features:
- Auto-resolve latest version from openDAQ/openDAQ repository
- Auto-detect current platform (104 supported combinations)
- Auto-detect packaging format from runner OS or CPack generator
- Validate and parse version/platform/packaging components
- Output individual components for downstream use

Supported formats:
- Version: semantic versioning with optional prefix/suffix/hash
  (v3.30.0, v3.29.0-rc, v3.30.0-a1b2c3d, etc)
- Platform: Linux/macOS/Windows across multiple versions
  (ubuntu22.04-x86_64, macos14-arm64, win64, etc)
- Packaging: .deb, .exe, .tar.gz, .zip

Action outputs:
- Complete filename (e.g., opendaq-v3.30.0-ubuntu22.04-x86_64.deb)
- Parsed version components (major, minor, patch, suffix, hash)
- Parsed platform components (os-name, os-version, os-arch)
- Resolved packaging format

Integration:
- Uses shell scripts: version-format.sh, platform-format.sh, packaging-format.sh
- Cross-platform compatible (Linux, macOS, Windows runners)

Documentation:
- Comprehensive README with format specifications
- Usage examples for all common scenarios
- Input/output parameter reference
… repository with automatic platform detection and smart asset filtering.

Features:
- Automatic platform detection (Ubuntu/Debian/macOS/Windows)
- Smart asset pattern generation (OS + arch with version wildcard)
- Version resolution (latest or specific version)
- SHA256 checksum computation
- Cross-platform support with path normalization
- GitHub CLI integration with token authentication

Documentation:
- Comprehensive README with usage examples
- Examples for common scenarios (latest build, custom dir, cross-repo)
- Integration example with downloaded asset usage
@alexadereyko alexadereyko force-pushed the jira/TBBAS-2681-opendaq-gh-actions-framework-compose-filename branch from 8f83e59 to 70a0d35 Compare November 7, 2025 15:38
@alexadereyko alexadereyko force-pushed the jira/TBBAS-2685-opendaq-gh-actions-framework-download-release branch from 47cb5cf to 3522957 Compare November 7, 2025 15:38
@alexadereyko alexadereyko force-pushed the jira/TBBAS-2681-opendaq-gh-actions-framework-compose-filename branch from 70a0d35 to c855d4e Compare November 12, 2025 15:31
@alexadereyko alexadereyko marked this pull request as draft November 12, 2025 15:31
@alexadereyko alexadereyko removed their assignment Nov 12, 2025
Base automatically changed from jira/TBBAS-2681-opendaq-gh-actions-framework-compose-filename to jira/TBBAS-2679-opendaq-gh-actions-github-api-wrapper November 13, 2025 10:15
Base automatically changed from jira/TBBAS-2679-opendaq-gh-actions-github-api-wrapper to jira/TBBAS-2677-opendaq-gh-actions-packaging-format-script November 13, 2025 10:17
Base automatically changed from jira/TBBAS-2677-opendaq-gh-actions-packaging-format-script to jira/TBBAS-2675-opendaq-gh-actions-platform-format-script November 13, 2025 10:18
Base automatically changed from jira/TBBAS-2675-opendaq-gh-actions-platform-format-script to jira/TBBAS-2673-opendaq-gh-actions-version-format-usecase November 13, 2025 10:18
Base automatically changed from jira/TBBAS-2673-opendaq-gh-actions-version-format-usecase to jira/TBBAS-2672-opendaq-gh-actions-architecture November 13, 2025 10:19
@alexadereyko alexadereyko deleted the jira/TBBAS-2685-opendaq-gh-actions-framework-download-release branch November 13, 2025 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant