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

Upload program debug databases #260

Merged
merged 7 commits into from
Aug 3, 2022
Merged

Upload program debug databases #260

merged 7 commits into from
Aug 3, 2022

Conversation

CarlosNihelton
Copy link
Collaborator

@CarlosNihelton CarlosNihelton commented Aug 2, 2022

On top of the current practices of:

  1. uploading some build artifacts during build-wsl CI workflow and
  2. saving some metadata inside the repository wiki for further reuse during other runs of that workflow.

The proposed set of changes allows collecting program database files (.PDB) generated during compilation of the binaries bundled in the appx for easier crash analysis in the future.

PDBs are collected for each app built, always, and stored with a short retention policy (the same applied to the appx stored as part of the CI). Whenever those builds are pushed to the MS Store, their PDB's also go to the repository wiki as compressed tar balls, with the intent of allowing retrieving from the wiki the always up-to-date set of PDB's.

Later, during a release, we can take those artifacts from the wiki and upload them as assets for longer retention.

This run successfullty collected the PDB files and uploaded them together with the appx, as well as the wiki. After that I changed the part that pushes to the wiki to be skipped if there was no upload to the store. This run is the most updated, skipping the wiki part.

In order to certify that the PDB's are realy inside the wiki, one can git clone https://github.com/ubuntu/WSL.wiki.git and check the contents of the debug-databases directory. It should contain one tarball per Ubuntu app from which we collected PDBs during build. Those tarballs won't show up in GitHub website, since they are not text files.

We need to merge ubuntu/ubuntu-wsl-splash#27 (and refresh the submodule of course) in order to see the PDB's from the ubuntu-wsl-splash Flutter app. We should also push a new version of Ubuntu 22.04 whenever all those changes are in main in order to have a collection of PDB's matching the exact compilation of the app pushed to the store.

Stored inside ${{ env.workDir }}/debug-database-${{ matrix.AppID }}/
Always runs.
Inside ${{ env.workDir }}/debug-database-${{ matrix.AppID }}/
Same retention policy as the appx.
Achieves that by separating it from the other build artifacts.
@CarlosNihelton CarlosNihelton marked this pull request as ready for review August 3, 2022 03:52
@CarlosNihelton CarlosNihelton changed the title [WIP] Upload program debug databases Upload program debug databases Aug 3, 2022
Copy link
Collaborator

@EduardGomezEscandell EduardGomezEscandell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

Copy link
Contributor

@toktamis toktamis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good work!

@toktamis toktamis merged commit 2e67801 into main Aug 3, 2022
@toktamis toktamis deleted the ci-pdbs-deeng-349 branch August 3, 2022 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants