google / globalfoundries-pdk-libs-gf180mcu_fd_pr

Primitives for GF180MCU provided by GlobalFoundries.
https://gf180mcu-pdk.rtfd.io
Apache License 2.0
47 stars 25 forks source link

Improve the GitHub Actions to reduce significant duplication in workflow files #13

Closed mithro closed 2 years ago

mithro commented 2 years ago

Pull requests https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_pr/pull/12 and https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_pr/pull/11 added a whole bunch of GitHub Actions for checking various things.

The workflow files currently have large amount of duplicate in them. Instead we should be using "matrix" for this stuff. See the documentation at https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_pr/pull/11

mithro commented 2 years ago

@umarcor - Can you help the @mabrains team understand how to do this?

mohanad0mohamed commented 2 years ago

@mithro I think this may not work. From GitHub themselves in https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs are saying you can use a matrix strategy to test your code in multiple versions of a language or on multiple operating systems. Also, running multiple DRC/LVS checks in the same job in parallel may crash due to the capability of GitHub Actions hosted runners in https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners:

Hardware specification for Windows and Linux virtual machines:

    2-core CPU (x86_64)
    7 GB of RAM
    14 GB of SSD space

So I assume "matrix" won't fix this issue.

umarcor commented 2 years ago

@mohanad0mohamed the matrix does not run multiple tasks on the same job, it generates multiple jobs in parallel. See #18.

mohanad0mohamed commented 2 years ago

@umarcor I'm amazed how "matrix" removed all duplicated jobs! Now I understand how it works. Many thanks.