Skip to content

bluefin: Consolidate per-arch elements#101

Draft
alatiera wants to merge 1 commit intomainfrom
alatiera/sources-test
Draft

bluefin: Consolidate per-arch elements#101
alatiera wants to merge 1 commit intomainfrom
alatiera/sources-test

Conversation

@alatiera
Copy link
Contributor

The only different part was the per-arch specific sources, but suing the following yaml syntax we can put the conditional inline the file.

sources:
- kind: tar
  (?):
  - arch == "x86_64":
      url: foo
      ref: foo
  - arch == "aarch64":
      url: bar
      ref: bar

@alatiera alatiera requested a review from ahmedadan March 15, 2026 08:41
@alatiera
Copy link
Contributor Author

We should also redo the rest of the elements as well

@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly refactors the build system for 1Password and 1Password CLI by centralizing architecture-specific configurations. Instead of maintaining separate files for x86_64 and aarch64 builds, the changes introduce conditional logic within single .bst files, leading to a more streamlined and maintainable build process.

Highlights

  • Build definition consolidation: Consolidated architecture-specific build definitions for 1Password CLI and 1Password into single .bst files.
  • Conditional YAML syntax: Leveraged YAML's conditional (?) syntax to define architecture-dependent sources directly within the main build files, eliminating the need for separate architecture-specific files.
  • File structure simplification: Removed multiple redundant .bst and .inc files that previously handled architecture-specific configurations for 1Password and 1Password CLI.
Changelog
  • elements/bluefin/1password-cli.bst
    • Created a new build definition file.
    • Integrated x86_64 and aarch64 specific zip sources using conditional arch checks.
    • Included build-depends, variables, and install-commands for the 1Password CLI.
  • elements/bluefin/1password-cli/1password-cli-aarch64.bst
    • Removed the architecture-specific build file.
  • elements/bluefin/1password-cli/1password-cli-x86_64.bst
    • Removed the architecture-specific build file.
  • elements/bluefin/1password-cli/1password-cli.bst
    • Removed the stack file that previously managed architecture-specific dependencies.
  • elements/bluefin/1password-cli/1password-cli.inc
    • Removed the common include file, as its content was integrated into the new 1password-cli.bst.
  • elements/bluefin/1password.bst
    • Renamed the include file elements/bluefin/1password/1password.inc to this new .bst file.
    • Modified the file to directly include x86_64 and aarch64 specific tar sources using conditional arch checks.
    • Retained build-depends and other configuration.
  • elements/bluefin/1password/1password-aarch64.bst
    • Removed the architecture-specific build file.
  • elements/bluefin/1password/1password-x86_64.bst
    • Removed the architecture-specific build file.
  • elements/bluefin/1password/1password.bst
    • Removed the stack file that previously managed architecture-specific dependencies.
  • elements/bluefin/deps.bst
    • Updated dependencies to reference the new consolidated bluefin/1password-cli.bst and bluefin/1password.bst paths.
Activity
  • No specific human activity (comments, reviews) has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the BuildStream elements for 1password and 1password-cli. It consolidates previously separate architecture-specific and common definition files (e.g., 1password-cli-x86_64.bst, 1password-cli-aarch64.bst, and 1password-cli.inc) into single, top-level elements/bluefin/1password-cli.bst and elements/bluefin/1password.bst files. These new files now use BuildStream's conditional logic to handle architecture-specific sources and configurations. The elements/bluefin/deps.bst file is updated to reflect these simplified element paths.

@alatiera alatiera force-pushed the alatiera/sources-test branch 2 times, most recently from 4230d90 to 694b1bf Compare March 15, 2026 08:53
The only different part was the per-arch specific sources, but suing the
following yaml syntax we can put the conditional inline the file.

```yaml
sources:
- kind: tar
  (?):
  - arch == "x86_64":
      url: foo
      ref: foo
  - arch == "aarch64":
      url: bar
      ref: bar
```
@alatiera alatiera force-pushed the alatiera/sources-test branch from 694b1bf to 41a05f6 Compare March 15, 2026 10:54
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.

1 participant