-
Notifications
You must be signed in to change notification settings - Fork 253
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
[WOIP] Build dotnet-8 using a bootstrap package #33564
base: main
Are you sure you want to change the base?
Conversation
@@ -0,0 +1,210 @@ | |||
package: | |||
name: dotnet-source-8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An option would be to leave the current file dotnet-8.yaml
to use the bootstrap package, as it is almost identical (just the prep.sh
was removed).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack.
1e3b12f
to
fe756ae
Compare
fe756ae
to
0a0937c
Compare
strip-prefix: v | ||
use-tag: true | ||
tag-filter: "v8" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could also keep update: enabled: false & have update-excuse: saying this is a bootstrap package.
as we typically do not want to upgrade bootstrap packages by default.
pipeline: | ||
- name: Basic .NET command test | ||
runs: | | ||
echo 1 # TBD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's also sort of ok to not have tests for bootstrap; as it's sole purpose is ability to build the real package.
0c992b6
to
32671bc
Compare
/p:MinimalConsoleLogOutput=false \ | ||
/p:SkipPortableRuntimeBuild=true \ | ||
/p:BuildWithOnlineSources=false \ | ||
/p:Configuration=Debug |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to be reverted, added it here to have a way of build if anyone wants.
Size differences:
release version of dotnet
du -sh /usr/share/dotnet-source/
481.2M /usr/share/dotnet-source/
debug version of dotnet
du -sh /usr/share/dotnet-source/
559.3M /usr/share/dotnet-source/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do not want, too big.
@@ -0,0 +1,71 @@ | |||
package: | |||
name: dotnet-bootstrap-8 | |||
version: 8.0.10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please bump to .11 =) now that it is out.
package: | ||
name: dotnet-source-8 | ||
version: 8.0.10 | ||
epoch: 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also bump to 8.0.11
To build dotnet in a more controlled way, I propose to have a bootstrap package and a main package that uses the bootstrap one.
The workflow:
The
dotnet-bootstrap-8
package bundles the artifacts from theprep.sh
run. Those files consist of:prep.sh
downloads and extracts the following https://dotnetcli.azureedge.net/dotnet/Sdk/8.0.110/dotnet-sdk-8.0.110-linux-x64.tar.gz. The size is ~564MB, License is MIT.The
dotnet-source-8
package uses the bootstrap package and does not need theprep.sh
anymore, as the.dotnet
folder is symlinked to the bootstrapped/usr/share
. Also theprereqs/packages/archive/Private.SourceBuilt.Artifacts.Bootstrap.tar.gz
is symlinked.The outcome is that the build of
dotnet-source-8
is done offline (excluding the actual git clone of the dotnet/dotnet repository).Pre-review Checklist
For new package PRs only
endoflife.date
)For new version streams
name: ${{package.name}}-compat
)provides:
logical unversioned forms of the package (e.g.nodejs
,nodejs-lts
)For package updates (renames) in the base images
When updating packages part of base images (i.e. cgr.dev/chainguard/wolfi-base or ghcr.io/wolfi-dev/sdk)
apk upgrade --latest
successfully upgrades packages or performs no actionsFor security-related PRs
For version bump PRs
epoch
field is reset to 0For PRs that add patches