name: "declare project for release" description: "start release configuration by declaring a project" inputs: version_descriptor: required: true configure_runner_environment: required: false default: true repository: required: false default: "${{ github.repository }}" artefact_type: required: false description: "known types: oci_image, tarball, wheel, sdist, npm" artefact_repository: required: false description: "allowed for oci_image, tarbal, wheel, sdist" default: "" artefact_name: required: false description: "required for oci_image" default: "" artefact_filename: required: false description: "required for tarball, sdist" default: "" artefact_pattern: required: false description: "required for wheel" default: "" artefact_directory: required: false description: "required for npm" default: "" artefact_version_descriptor: required: false description: "allowed for all" default: "" deployment_type: required: false description: "known types: helm_release" deployment_release_name: required: false description: "helm release name" default: "" deployment_condition: required: false description: | when should the deployment be updated? choices: always, never, pre_release_only, release_only default: "" deployment_image_paths: required: false description: "space separated list of paths to image tags in helm values" default: "" deployment_namespace: required: false description: "kubernetes namespace of the release" default: "" deployment_repository: required: false description: "helm chart registry" default: "" runs: using: composite steps: - if: inputs.configure_runner_environment == 'true' uses: https://gitea.puzzleyou.net/actions/configure-runner-environment@master - name: init action state run: | RELEASE_ACTION_STATEFILE=$(mktemp) echo "[release] statefile: $RELEASE_ACTION_STATEFILE" echo "RELEASE_ACTION_STATEFILE="$RELEASE_ACTION_STATEFILE"" \ >> "$GITHUB_ENV" - name: declare release project run: | # TODO get current release version if [[ "${{ github.ref_name }}" == "master" || "${{ github.ref_name }}" == "main" ]]; then IS_PRE_RELEASE="0" else IS_PRE_RELEASE="1" fi nix run . -- \ declare \ --state "${RELEASE_ACTION_STATEFILE}" \ --version-descriptor "${{ inputs.version_descriptor }}" \ --release-repository-name "${{ inputs.repository }}" \ --release-ref-name "${{ github.ref_name }}" \ --release-run-number "${{ github.run_number }}" \ --release-commit-sha "${{ github.sha }}" \ --is-pre-release "${IS_PRE_RELEASE}" \ if [[ ! -z "${{ inputs.artefact_type }}" ]]; then nix run . -- \ add-artefact \ --state "${RELEASE_ACTION_STATEFILE}" \ --artefact-type "${{ inputs.artefact_type }}" \ --artefact-repository "${{ inputs.artefact_repository }}" \ --artefact-name "${{ inputs.artefact_name }}" \ --artefact-filename "${{ inputs.artefact_filename }}" \ --artefact-pattern "${{ inputs.artefact_pattern }}" \ --artefact-directory "${{ inputs.artefact_directory }}" \ --version-descriptor "${{ inputs.artefact_version_descriptor }}" fi if [[ ! -z "${{ inputs.deployment_type }}" ]]; then nix run . -- \ add-deployment \ --state "${RELEASE_ACTION_STATEFILE}" \ --deployment-type "${{ inputs.deployment_type }}" \ --deployment-release-name "${{ inputs.deployment_release_name }}" \ --deployment-condition "${{ inputs.deployment_condition }}" \ --deployment-image-paths "${{ inputs.deployment_image_paths }}" \ --deployment-namespace "${{ inputs.deployment_namespace }}" \ --deployment-repository "${{ inputs.deployment_repository }}" fi