exasol / ai-lab

Development environment for data science developers
MIT License
3 stars 0 forks source link

Update Release Automation #287

Open ckunki opened 3 months ago

ckunki commented 3 months ago

Currently, the ai-lab uses release-droid for releases which is not maintained anymore as mid of 2024 the Java developers switched release automation with project-keeper.

The current ticket therefore requests to update the release process and documentation.

Current Release Process

For releasing the AI-Lab the developers currently call release-droid (RD), see How to Release the AI-Lab in the Developer Guide.

RD then calls GitHub workflow release_droid_upload_github_release_assets.yml, which then calls

poetry run python3 -m exasol.ds.sandbox.main start-release-build \
  --upload-url "${{ github.event.inputs.upload_url }}" \
  --branch "$GITHUB_REF"

cli/commands/start_release_build.py calls lib/release_build/run_release_build.py which

The AWS CodeBuild template aws-code-build/ci/buildspec_release.yaml calls

poetry run python3 -m exasol.ds.sandbox.main update-release \
  --release-id "$RELEASE_ID" \
  --asset-id "$ASSET_ID"

lib/update_release/run_update_release.py finally

Proposed Changes

CLI command call

poetry run python3 -m exasol.ds.sandbox.main create-github-release \
  --tag ${GITHUB_REF_NAME} \
  --title ${GITHUB_REF_NAME} \
  --message-file doc/changes/changes_${GITHUB_REF_NAME}.md \

Proposed New Release Process

TAG="${1}"
git tag "${TAG}"
git push origin "${TAG}"
ckunki commented 3 months ago

See also issues #295, #283

ckunki commented 2 weeks ago

Proposal from @tkilias : I mostly agree.

Except: create_github_release can be integrated into run_release_build as we don't need two separate CLIs. This also removed the need in between parsing the ReleaseID from the output in order to pass it to the second call.