Skip to content

Clean up build artifacts #180

@straight-shoota

Description

@straight-shoota

The following files are currently produced as build artifacts of the nightly release workflow on circleci (see https://app.circleci.com/pipelines/github/crystal-lang/crystal/8502/workflows/77e21f43-14ad-4840-91c7-53a30649ca20/jobs/68065).

crystal-1.4.0-dev-1-darwin-universal.tar.gz (46 MB)
crystal-1.4.0-dev-1-linux-x86_64-bundled.tar (95 MB) ❌
crystal-1.4.0-dev-1-linux-x86_64-bundled.tar.gz (30 MB)
crystal-1.4.0-dev-1-linux-x86_64.tar (94 MB) ❌
crystal-1.4.0-dev-1-linux-x86_64.tar.gz (29 MB)
crystal-1.4.0-dev-1-linux-x86_64.tar.xz (19 MB) ❓
crystal-1.4.0-dev-1.universal.pkg (46 MB)
crystal-1.4.0-dev-docs.tar.gz (13 MB)
crystal_1.4.0-dev_amd64.snap (24 MB) ❓
docker-1.4.0-dev-alpine-build.tar.gz (262 MB) ❓
docker-1.4.0-dev-alpine.tar.gz (173 MB) ❓
docker-1.4.0-dev-ubuntu-x86_64-build.tar.gz (370 MB) ❓
docker-1.4.0-dev-ubuntu-x86_64.tar.gz (208 MB) ❓
versions-1.4.0-dev.json (2.1 kB) ❌

I'm wondering about the purpose of some of them. I suppose some are just intermediary steps that just happen do end up being published.

  • ❌ The uncompressed .tar files are redundant and more wasteful than the compressed counterparts.
  • ❓ Compressed packages are usually tar.gz, but the linux build also has a tar.xz. Is there a particular reason for this? The xc compression seems quite more efficient than gz. But it's still a question whether the duplication makes sense. Or if we should consider xc compressed files for other artifacts as well.
  • ❓ The docker images are already published to docker hub. The snap package is uploaded to snapcraft. Do they even need to be available as directly downloadable files?
  • ❌ The json file is completely unnecessary. That's just a temporary artifact from the API docs build process.

This initiative is related to crystal-lang/crystal#11902.

Some of these artifacts probably don't need to be pushed at all, others may be useful for debugging but don't need to be made publicly available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions