Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Customize build artifacts in release.yml and ci-build.yml wokflows #517

Closed
1 of 4 tasks
kaklakariada opened this issue Jan 24, 2024 · 0 comments · Fixed by #561
Closed
1 of 4 tasks

Customize build artifacts in release.yml and ci-build.yml wokflows #517

kaklakariada opened this issue Jan 24, 2024 · 0 comments · Fixed by #561
Assignees
Labels
feature Product feature

Comments

@kaklakariada
Copy link
Collaborator

kaklakariada commented Jan 24, 2024

Goal

Currently many projects that need to customize the generated workflows need to exclude them from PK, causing additional maintenance effort for manually updating the workflows when upgrading PK.

Implementation

Configuration

This allows adapting the files attached to a new release. The following options for customizing must be supported:

  • For sources with module jar_artifact: read the artifact name from pom.xml: maven-assembly-plugin > configuration > finalName
    • This requires support for placeholders using properties like document-files-virtual-schema-dist-${vs-common-document-files.version}-s3-${project.version}
  • For each of the sources in .project-keeper.yml allow specifying a list of release artifacts paths (evaluated relatively to the source path)
    • Potentially we need to allow placeholders like ${project.version} in the file name
  • PK automatically adds target/error_code_report.json
    • We expect that the user has configured error-code-crawler:aggregate in the root pom.xml.

Using custom build artifacts

The custom release artifacts are used in the following places:

  • release.yml: For each of the release artifact:
    • Fail build if the artifact is not available
    • Calculate checksums
    • Attach file and it's checksum to the release
  • ci-build.yml
    • Fail build if the artifact is not available
    • Attach file to the workflow run

Open Questions

  • Generate one checksum file per release artifact or generate one file with checksums of all artifacts?

Out of scope

  • Specifying release artifacts for multiple platforms
  • Uploading test results like the classes.lst for the S3 VS with if: always() (see ci-build.yml)
  • Aggregate error_code_report.json for multiple Maven modules. This is done by error-code-crawler:aggregate.
  • Verifying that error-code-crawler:aggregate is used in the root Maven module. This is a separate issue.

Tasks

@kaklakariada kaklakariada added the feature Product feature label Jan 24, 2024
@kaklakariada kaklakariada self-assigned this Jan 24, 2024
@kaklakariada kaklakariada changed the title Customize release.yml and ci-build.yml wokflows Customize build artifacts in release.yml and ci-build.yml wokflows Jan 24, 2024
@kaklakariada kaklakariada changed the title Customize build artifacts in release.yml and ci-build.yml wokflows Customize build artifacts in release.yml and ci-build.yml wokflows Jan 24, 2024
This was referenced Jan 29, 2024
kaklakariada added a commit that referenced this issue Mar 25, 2024
kaklakariada added a commit that referenced this issue Mar 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Product feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant