https://github.com/audacity/audacity-actions
GitHub Actions for Audacity
https://github.com/audacity/audacity-actions
Last synced: about 1 year ago
JSON representation
GitHub Actions for Audacity
- Host: GitHub
- URL: https://github.com/audacity/audacity-actions
- Owner: audacity
- License: bsd-3-clause
- Created: 2022-01-13T15:58:59.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-12T11:55:05.000Z (almost 2 years ago)
- Last Synced: 2025-04-01T20:00:04.873Z (about 1 year ago)
- Language: JavaScript
- Size: 4.73 MB
- Stars: 3
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# audacity-actions
A set of GitHub Actions to simplify Audacity build workflows. Most of these actions are written in JavaScript and require Node 16 to run.
It is possible to locally debug the actions by settings certain environment values:
* `GITHUB_WORKSPACE`: path to audacity source code
* `INPUT_*`: input value. For example, input named `configuration_types` can be passed using `INPUT_CONFIGURATION_TYPES` environment variable.
* Variables, set by a previous step.
## audacity/audacity-actions/dependencies@v1
This action setups the environment required to build Audacity:
* Conan 1.43.2,
* Required Linux libraries when running on Linux.
This action allows switching to GCC11 on Linux using the `force_gcc11` parameter.
This action is a "composite" action; it is impossible to debug it locally.
## audacity/audacity-actions/configure@v1
Configure Audacity using provided options:
* `generator`: CMake generator to use. Required.
* `arch`: Host architecture (i. e., the resulting binaries architecture) in NodeJS format (`x64`, `x32`, `arm64`). Windows builds support `x32` and `x64`, macOS builds support `x64` and `arm64` values. Optional. The default value is x64.
* `build_level`: Audacity build level. Can be one of `alpha`, `beta`, or `release`. Optional. The default value is `alpha`.
* `configuration_types`: This value is used to initialize `CMAKE_CONFIGURATION_TYPES`. Valid values are: `Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel` or any combination concatenated with semicolon. Optional. The default value is `RelWithDebInfo`.
* `build_type`: CMake build type (or configuration) to use for the build. Valid values are: `Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel`. Optional. The default value is `RelWithDebInfo`.
* `cmake_options`: Additional CMake options to pass to CMake. Optional.
* `image_compiler`: Path to the `image-compiler` executable. Required when cross-compiling and the build platform can not run the application with host architecture. For example, when building for AppleSilicon on Intel Mac.
* `windows_certificate`: Base 64 of PFX file with the code signing certificate on Windows. Optional.
* `windows_certificate_password`: Password to the PFX file with the code signing certificate.
* `apple_codesign_identity`: Apple code-signing identity. Optional.
* `apple_notarization_user_name`: Apple notarization user name. Optional.
* `apple_notarization_password`: Apple notarization password.
It is preferred to code sign the build on macOS during the package step.
This action sets the following environment variables:
* `AUDACITY_BUILD_DIR`: CMake build directory. Equals to `.build.${arch}`.
* `AUDACITY_BUILD_TYPE`: equals to the value of `build_type`.
* `AUDACITY_BUILD_LEVEL`: numeric representation of `build_level`. 0 for `alpha`, 1 for `beta`, 2 for `release`.
* `AUDACITY_ARCH`: equals to the value of `arch`.
* `AUDACITY_CROSS_COMPILING`: equals to true if the host and build architectures do not match.
If during the configuration new Conan packages were built, the following will happen:
* On Windows, if `ARTIFACTORY_SYMBOLS_URL` and `ARTIFACTORY_SYMBOLS_KEY` are present in the environment - debug information will be uploaded to Artifactory in SymStore format.
* When `SENTRY_AUTH_TOKEN`, `SENTRY_HOST`, `SENTRY_ORG_SLUG`, and `SENTRY_PROJECT_SLUG` are present in the environment - debug and source information is uploaded to Sentry.
* When `CONAN_BINARIES_REMOTE`, `CONAN_LOGIN_USERNAME`, and `CONAN_PASSWORD` are present in the environment - newly built binaries are uploaded to Conan.
## audacity/audacity-actions/build@v1
Build Audacity. Allows setting the target with the optional parameter `target`.
When `SENTRY_AUTH_TOKEN`, `SENTRY_HOST`, `SENTRY_ORG_SLUG`, and `SENTRY_PROJECT_SLUG` are present in the environment and `build_level` is not `alpha` - debug and source information is uploaded to Sentry.
## audacity/audacity-actions/package@v1
Package Audacity and upload the resulting artifacts.
Supported parameters:
* `postfix`: a postfix to add to the artifact.
* `cmake_options`: additional options to pass to CMake.
### Windows
Action creates a zipped version of Audacity. If `build_level` is not `alpha` - action will generate an installer as well.
### Linux
Action creates an AppImage.
### macOS
On macOS, action can be parametrized:
* `apple_codesign_identity`: Apple code-signing identity. Optional.
* `apple_notarization_user_name`: Apple notarization user name. Optional.
* `apple_notarization_password`: Apple notarization password.
* `archs`: list of architectures to package, in NodeJS format, one per line. If more than one architecture is provided, an universal binary will be created as well.
## audacity/audacity-actions/update_recipes@v1
Update recipes in the specified remote using the current state of audacity/conan-recipes repository
Supported parameters:
* `recipes_remote`: "Recipes" only remote.
* `login`: Conan login for the recipes_remote.
* `password`: Conan password for the recipes_remote.
* `default_channel`: Channel to generate package for.
## Building Actions
Building a GitHub suitable package is only possible on macOS now.