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

Implement icon from figma downloading cli tool #939

Closed
10 tasks done
mj-hof opened this issue Apr 16, 2024 Discussed in #184 · 1 comment
Closed
10 tasks done

Implement icon from figma downloading cli tool #939

mj-hof opened this issue Apr 16, 2024 Discussed in #184 · 1 comment
Assignees
Labels
dev Requires technical expertise

Comments

@mj-hof
Copy link
Contributor

mj-hof commented Apr 16, 2024

Discussed in #184

Originally posted by JoCa96 January 23, 2024
Currently the designers need to maintain the Icons in two places: Figma & and our internal Schwarz Icon Repo.
We should evaluate if its possible to use Figma as a Single-Source-of-Truth.

Why

Currently the designers need to maintain the Icons in two places: Figma & and our internal Schwarz Icon Repo.
We should evaluate if its possible to use Figma as a Single-Source-of-Truth. The Icon Library - UX Schwarz IT Figma file should we used for the icon source and for the @sit-onyx/icons npm package, the icons should be imported automatically (on a schedule, e.g. daily) from this Figma file and released.

Acceptance criteria

  • Download icon SVGs from Figma
  • Get meta data (category, icon name, alias names)
  • Optimise downloaded icons
  • If changes exists: Publish new version of @sit-onyx/icons with changeset + changelog
  • check when to run the pipeline regularly (e.g. daily, weekly etc.)
  • Implement generically (only download + meta data), so it can be used also for other icon libraries (e.g. pass Figma file as parameter etc.). Maybe similar or as enhancement of our Figma CLI utility?
  • is an onyx independent solution
  • Icon docs supports search by alias names

Follow up tickets

Approval

Implementation Details

Figma REST API

@mj-hof mj-hof added the dev Requires technical expertise label Apr 16, 2024
@mj-hof mj-hof added this to the Product improvements milestone Apr 16, 2024
@JoCa96 JoCa96 changed the title Define icon process Define icon process [Spike] May 8, 2024
@JoCa96 JoCa96 changed the title Define icon process [Spike] Implement icon downloading from Figma May 8, 2024
@JoCa96 JoCa96 changed the title Implement icon downloading from Figma Implement icon from figma downloading cli tool May 8, 2024
@larsrickert larsrickert self-assigned this Aug 14, 2024
larsrickert added a commit that referenced this issue Aug 23, 2024
Relates to #939

Implement Figma CLI command to import and optimize SVG icons from Figma.
Also added a GitHub action which is run daily to create a PR with
updated icons.
larsrickert added a commit that referenced this issue Aug 23, 2024
Relates to #939

The automated requested UX reviewers for the icons did not work, see
[this workflow
run](https://github.com/SchwarzIT/onyx/actions/runs/10521665935). I
added UX as codeowners instead so they are automatically requested for
changes
larsrickert added a commit that referenced this issue Aug 27, 2024
Relates to #939

Generate changeset with list of new, deleted and modified icons whenever
we import icons from Figma so they are released as npm package.

I also removed UX from codeowners for the icons so they are not added as
required reviewer. The UX review process will be done in Figma so we
devs should be responsible to approve the technical import via CI to
make sure everything is imported correctly.
larsrickert added a commit that referenced this issue Aug 28, 2024
Relates to #939

To not fail icon import workflow/pipeline when nothing changed, see
[this successful workflow
run](https://github.com/SchwarzIT/onyx/actions/runs/10593460712)
@larsrickert
Copy link
Collaborator

@MajaZarkova For review: #1813

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev Requires technical expertise
Projects
Status: Done
Development

No branches or pull requests

2 participants