Skip to content

Bootstrap LLVM

Bootstrap LLVM #6

name: Bootstrap LLVM
on:
workflow_dispatch:
jobs:
llvm_bootstrap:
runs-on: windows-latest
outputs:
llvm_version: ${{ steps.build.outputs.llvm_version }}
steps:
- run: git config --global core.autocrlf input
- id: cygwin
uses: cygwin/cygwin-install-action@master
with:
site: >-
http://mirrors.kernel.org/sourceware/cygwin/
packages: |
cygutils-extra
cmake
calm
cygport
flexdll
gdb
git
make
ninja
ocaml
python3
libxml2-devel
zlib-devel
libzstd-devel
vim
python39-sphinx
python39-pytz
libpcre2-devel
libssh2-devel
libssl-devel=3.0.16-2
libssl3=3.0.16-2
openssl=3.0.16-2
- uses: dawidd6/action-download-artifact@v10
with:
repo: jeremyd2019/cygwin
workflow: cygwin.yml
workflow_conclusion: success
branch: cygwin-3.6.2-posix-spawn
event: push
name: cygwin-install-x86_64
path: test-cygwin
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: update cygwin
env:
CHERE_INVOKING: 1
shell: c:/msys64/usr/bin/bash.exe -leo pipefail '{0}'
run: |
cp -f test-cygwin/bin/cygwin1.dll /d/cygwin/bin/cygwin1.dll
- id: build
name: build
run: |
export PATH=/usr/local/bin:/usr/bin:/bin:$PATH
mkdir -p pkgs/x86_64/release
git clone -b playground https://cygwin.com/git/cygwin-packages/llvm
cd llvm
pip3 install --user myst_parser
BOOTSTRAP=ON cygport llvm.cygport download all-test
echo llvm-*.x86_64 | sed -e 's/^llvm-\(.*\)\.x86_64$/llvm_version=\1/' | tee ../pkgs/llvm_version.txt >> "$GITHUB_OUTPUT"
cp -R llvm-*.x86_64/dist/* ../pkgs/x86_64/release
cd ../pkgs
mksetupini --arch x86_64 --inifile=x86_64/setup.ini --releasearea=. --disable-check=missing-required-package,missing-depended-package,missing-build-depended-package,missing-curr
bzip2 <x86_64/setup.ini >x86_64/setup.bz2
xz -6e <x86_64/setup.ini >x86_64/setup.xz
shell: d:\cygwin\bin\bash.exe -leo pipefail -o igncr '{0}'
- uses: actions/upload-artifact@v4
with:
name: packages
overwrite: true
path: |
${{steps.cygwin.outputs.root}}/home/runneradmin/pkgs/
- uses: actions/upload-artifact@v4
with:
name: cygwin
path: |
test-cygwin/
clang_bootstrap:
runs-on: windows-latest
needs: llvm_bootstrap
steps:
- run: git config --global core.autocrlf input
- uses: actions/download-artifact@v4
with:
name: packages
path: pkgs
- id: cygwin
uses: cygwin/cygwin-install-action@master
with:
site: >-
http://mirrors.kernel.org/sourceware/cygwin/
file://${{ github.workspace }}/pkgs
check-sig: false
packages: |
cygutils-extra
cmake
calm
cygport
flexdll
gdb
git
make
ninja
ocaml
python3
libxml2-devel
zlib-devel
libzstd-devel
vim
python39-sphinx
python39-pytz
libpcre2-devel
libssh2-devel
libssl-devel=3.0.16-2
libssl3=3.0.16-2
openssl=3.0.16-2
libllvm20.1=${{needs.llvm_bootstrap.outputs.llvm_version}}
libllvm-devel=${{needs.llvm_bootstrap.outputs.llvm_version}}
llvm=${{needs.llvm_bootstrap.outputs.llvm_version}}
- uses: actions/download-artifact@v4
with:
name: cygwin
path: test-cygwin
- name: update cygwin
env:
CHERE_INVOKING: 1
shell: c:/msys64/usr/bin/bash.exe -leo pipefail '{0}'
run: |
cp -f test-cygwin/bin/cygwin1.dll /d/cygwin/bin/cygwin1.dll
- name: build
run: |
export PATH=/usr/local/bin:/usr/bin:/bin:$PATH
mv "$(cygpath -u '${{github.workspace}}')/pkgs" .
mkdir -p pkgs/x86_64/release
git clone -b playground https://cygwin.com/git/cygwin-packages/clang
cd clang
pip3 install --user myst_parser
BOOTSTRAP=ON cygport clang.cygport download all-test
cp -R clang-*.x86_64/dist/* ../pkgs/x86_64/release
cd ../pkgs
mksetupini --arch x86_64 --inifile=x86_64/setup.ini --releasearea=. --disable-check=missing-required-package,missing-depended-package,missing-build-depended-package,missing-curr
bzip2 <x86_64/setup.ini >x86_64/setup.bz2
xz -6e <x86_64/setup.ini >x86_64/setup.xz
shell: d:\cygwin\bin\bash.exe -leo pipefail -o igncr '{0}'
- uses: actions/upload-artifact@v4
with:
name: packages
overwrite: true
path: |
${{steps.cygwin.outputs.root}}/home/runneradmin/pkgs/
llvm:
runs-on: windows-latest
needs: [llvm_bootstrap, clang_bootstrap]
steps:
- run: git config --global core.autocrlf input
- uses: actions/download-artifact@v4
with:
name: packages
path: pkgs
- id: cygwin
uses: cygwin/cygwin-install-action@master
with:
site: >-
http://mirrors.kernel.org/sourceware/cygwin/
file://${{ github.workspace }}/pkgs
check-sig: false
packages: |
cygutils-extra
cmake
calm
cygport
flexdll
gdb
git
make
ninja
ocaml
python3
libxml2-devel
zlib-devel
libzstd-devel
vim
python39-sphinx
python39-pytz
libpcre2-devel
libssh2-devel
libssl-devel=3.0.16-2
libssl3=3.0.16-2
openssl=3.0.16-2
libllvm20.1=${{needs.llvm_bootstrap.outputs.llvm_version}}
libllvm-devel=${{needs.llvm_bootstrap.outputs.llvm_version}}
llvm=${{needs.llvm_bootstrap.outputs.llvm_version}}
libclang20.1=${{needs.llvm_bootstrap.outputs.llvm_version}}
clang=${{needs.llvm_bootstrap.outputs.llvm_version}}
- uses: actions/download-artifact@v4
with:
name: cygwin
path: test-cygwin
- name: update cygwin
env:
CHERE_INVOKING: 1
shell: c:/msys64/usr/bin/bash.exe -leo pipefail '{0}'
run: |
cp -f test-cygwin/bin/cygwin1.dll /d/cygwin/bin/cygwin1.dll
- name: build
run: |
export PATH=/usr/local/bin:/usr/bin:/bin:$PATH
mv "$(cygpath -u '${{github.workspace}}')/pkgs" .
mkdir -p pkgs/x86_64/release
git clone -b playground https://cygwin.com/git/cygwin-packages/llvm
cd llvm
pip3 install --user myst_parser
cygport llvm.cygport download all-test
cp -Rf llvm-*.x86_64/dist/* ../pkgs/x86_64/release
cd ../pkgs
mksetupini --arch x86_64 --inifile=x86_64/setup.ini --releasearea=. --disable-check=missing-required-package,missing-depended-package,missing-build-depended-package,missing-curr
bzip2 <x86_64/setup.ini >x86_64/setup.bz2
xz -6e <x86_64/setup.ini >x86_64/setup.xz
shell: d:\cygwin\bin\bash.exe -leo pipefail -o igncr '{0}'
- uses: actions/upload-artifact@v4
with:
name: packages
overwrite: true
path: |
${{steps.cygwin.outputs.root}}/home/runneradmin/pkgs/
clang:
runs-on: windows-latest
needs: [llvm_bootstrap, llvm]
steps:
- run: git config --global core.autocrlf input
- uses: actions/download-artifact@v4
with:
name: packages
path: pkgs
- id: cygwin
uses: cygwin/cygwin-install-action@master
with:
site: >-
http://mirrors.kernel.org/sourceware/cygwin/
file://${{ github.workspace }}/pkgs
check-sig: false
packages: |
cygutils-extra
cmake
calm
cygport
flexdll
gdb
git
make
ninja
ocaml
python3
libxml2-devel
zlib-devel
libzstd-devel
vim
python39-sphinx
python39-pytz
libpcre2-devel
libssh2-devel
libssl-devel=3.0.16-2
libssl3=3.0.16-2
openssl=3.0.16-2
libllvm20.1=${{needs.llvm_bootstrap.outputs.llvm_version}}
libllvm-devel=${{needs.llvm_bootstrap.outputs.llvm_version}}
llvm=${{needs.llvm_bootstrap.outputs.llvm_version}}
libclang20.1=${{needs.llvm_bootstrap.outputs.llvm_version}}
clang=${{needs.llvm_bootstrap.outputs.llvm_version}}
libpolly-devel=${{needs.llvm_bootstrap.outputs.llvm_version}}
- uses: actions/download-artifact@v4
with:
name: cygwin
path: test-cygwin
- name: update cygwin
env:
CHERE_INVOKING: 1
shell: c:/msys64/usr/bin/bash.exe -leo pipefail '{0}'
run: |
cp -f test-cygwin/bin/cygwin1.dll /d/cygwin/bin/cygwin1.dll
- name: build
run: |
export PATH=/usr/local/bin:/usr/bin:/bin:$PATH
mv "$(cygpath -u '${{github.workspace}}')/pkgs" .
mkdir -p pkgs/x86_64/release
git clone -b playground https://cygwin.com/git/cygwin-packages/clang
cd clang
pip3 install --user myst_parser
cygport clang.cygport download all-test
cp -Rf clang-*.x86_64/dist/* ../pkgs/x86_64/release
cd ../pkgs
mksetupini --arch x86_64 --inifile=x86_64/setup.ini --releasearea=. --disable-check=missing-required-package,missing-depended-package,missing-build-depended-package,missing-curr
bzip2 <x86_64/setup.ini >x86_64/setup.bz2
xz -6e <x86_64/setup.ini >x86_64/setup.xz
shell: d:\cygwin\bin\bash.exe -leo pipefail -o igncr '{0}'
- uses: actions/upload-artifact@v4
with:
name: packages
overwrite: true
path: |
${{steps.cygwin.outputs.root}}/home/runneradmin/pkgs/