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

Build .deb and .rpm packages for Linux #2182

Merged
merged 19 commits into from
Feb 3, 2024
Merged

Build .deb and .rpm packages for Linux #2182

merged 19 commits into from
Feb 3, 2024

Conversation

lionel-
Copy link
Contributor

@lionel- lionel- commented Feb 1, 2024

Addresses #1619

This Linux support benefits from:

Comment on lines 23 to 29
// --- Start Positron ---
const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false;
// --- End Positron ---
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is the only change that was needed to get the build to pass. This allows the list of dependencies on shared libraries to be different from what MS expects on their build machine.

One difference is that we now depend on the C++ runtime via Zeromq. Hopefully that won't cause ABI issues for users of our packages.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Could you add this info in a comment after Start Positron so we know what changed if this generates a merge conflict?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point, done.

build_number:
required: false
description: "The build distance number only, e.g. 123"
default: ${{ github.sha }}
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is a number so defaulting it to a SHA doesn't seem right. Maybe 0 would be a better default, or 999 so we know it's coming from here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Collaborator

Choose a reason for hiding this comment

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

You don't need to but now that you point it out it doesn't make sense there either! Apologies for the misleading precedent.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I updated the defaults in all workflows so they are consistent.

short_version:
required: true
description: "The short version number, including the build distance, e.g. 2023.12.0-123"
default: ${{ github.sha }}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Same deal here w/r/t defaulting to a SHA

- name: Setup Build Environment
run: |
sudo apt-get update
sudo apt-get install -y vim curl build-essential clang make cmake git r-base-dev python3-pip python-is-python3 libsodium-dev libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1 libnss3 libnspr4 libasound2 libkrb5-dev
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do we need R to build Positron? (I think only Amalthea needs R to build?)

Copy link
Collaborator

Choose a reason for hiding this comment

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

Likely from our linux-based CI workflow is stale and the inspiration for this? https://github.com/posit-dev/positron/blob/main/.github/workflows/positron-ci.yml#L26

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yeah, I think that's an artifact from the days when we built and tested Amalthea as part of the main Positron CI job.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've removed R from the build-linux and positron-ci workflows.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think only Amalthea needs R to build

@jmcphers, psh not anymore we don't!

Copy link
Collaborator

Choose a reason for hiding this comment

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

🏆

Comment on lines 23 to 29
// --- Start Positron ---
const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false;
// --- End Positron ---
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could you add this info in a comment after Start Positron so we know what changed if this generates a merge conflict?

Copy link
Collaborator

@jmcphers jmcphers left a comment

Choose a reason for hiding this comment

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

LGTM!

@lionel- lionel- merged commit 9d5265c into main Feb 3, 2024
1 check passed
@lionel- lionel- deleted the feature/linux-releases branch February 3, 2024 00:18
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.

4 participants