From d29499a10f0eaa1fc128de11b90e8fb9819c07f2 Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Thu, 17 Oct 2024 00:11:10 +0200 Subject: [PATCH] actions: vendor sources with submodules for releases --- .github/workflows/source-vendor.yml | 33 +++++++++++++++++++++++++++++ .gitmodules | 3 ++- README.md | 3 +++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/source-vendor.yml diff --git a/.github/workflows/source-vendor.yml b/.github/workflows/source-vendor.yml new file mode 100644 index 00000000000..4dddb9a2005 --- /dev/null +++ b/.github/workflows/source-vendor.yml @@ -0,0 +1,33 @@ +name: Create source archive with vendored dependencies + +on: [push, workflow_dispatch] + +jobs: + vendor-sources: + runs-on: ubuntu-latest + steps: + - name: Checkout repository with submodules + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Create clean tarball + run: | + git archive --format=tar HEAD -o yosys-src-vendored.tar + git submodule foreach ' + git archive --format=tar --prefix="${sm_path}/" HEAD --output=${toplevel}/vendor-${name}.tar + ' + + # 2008 bug https://lists.gnu.org/archive/html/bug-tar/2008-08/msg00002.html + for file in vendor-*.tar; do + tar --concatenate --file=yosys-src-vendored.tar "$file" + done + + gzip yosys-src-vendored.tar + + - name: Store tarball artifact + uses: actions/upload-artifact@v4 + with: + name: vendored-sources + path: yosys-src-vendored.tar.gz + retention-days: 1 diff --git a/.gitmodules b/.gitmodules index 883965b40d7..9f18be11e8d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,7 @@ [submodule "abc"] path = abc url = https://github.com/YosysHQ/abc -[submodule "libs/cxxopts"] +# Don't use paths as names to avoid git archive problems +[submodule "cxxopts"] path = libs/cxxopts url = https://github.com/jarro2783/cxxopts diff --git a/README.md b/README.md index d215d844201..3845d25029b 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,9 @@ Yosys is free software licensed under the ISC license (a GPL compatible license that is similar in terms to the MIT license or the 2-clause BSD license). +Third-party software distributed alongside this software +is licensed under compatible licenses. +Please refer to `abc` and `libs` subdirectories for their license terms. Web Site and Other Resources ============================