Skip to content

install clang and llvm #18

install clang and llvm

install clang and llvm #18

Workflow file for this run

name: Build
on: [push]
jobs:
build:
name: Build
permissions: write-all
strategy:
matrix:
target:
# - id: 'linux-amd64'
# os: 'ubuntu-20.04'
- id: 'linux-musl'
os: 'ubuntu-20.04'
container: alpine:latest
# - id: 'darwin-amd64'
# os: 'macos-13'
# - id: 'darwin-aarch64'
# os: 'macos-latest'
# - id: 'windows-amd64'
# os: 'windows-2022'
# When unpacking an archive on Windows, the symlinks can't be
# created unless the target path already exists. This causes
# problems when the linked file is ordered after the link
# inside the archive. Dereferencing the files when packing them
# adds an additional copy per link, but it reliably works and
# the additional size is not too large on Windows.
tar_extra_args: '--dereference'
tag: ['11.6']
fail-fast: true
runs-on: ${{ matrix.target.os }}
container: ${{ matrix.target.container }}
steps:
- name: Check out the code
uses: actions/checkout@v3
- name: Install `ninja` on Ubuntu
if: startsWith(matrix.target.id, 'linux-amd64')
shell: bash
run: |
sudo apt-get install ninja-build -y
- name: Install tools on Alpine
if: startsWith(matrix.target.id, 'linux-musl')
run: |
apk add ninja bash git cmake clang18-dev llvm18-dev
- name: Install `ninja` on macOS
if: startsWith(matrix.target.id, 'darwin-')
shell: bash
run: |
brew install ninja
- name: Install `ninja` on Windows
if: startsWith(matrix.target.id, 'windows-')
shell: bash
run: |
choco install ninja
- name: Setup MSVC (Windows)
uses: ilammy/msvc-dev-cmd@v1
if: matrix.target.id == 'windows-amd64'
- name: Build
if: matrix.target.id != 'windows-amd64'
shell: bash
run: |
./build.sh
- name: Build (Windows)
if: matrix.target.id == 'windows-amd64'
run: |
./build.ps1
- name: Zip
if: matrix.target.id != 'windows-amd64'
shell: bash
run: |
mkdir -p dist
tar --directory v8-cmake/build --create --xz --verbose ${{ matrix.target.tar_extra_args }} --file dist/wee8.tar.xz libv8_base_without_compiler.a libv8_compiler.a libv8_initializers.a libv8_libbase.a libv8_libplatform.a libv8_libsampler.a libv8_snapshot.a libv8_torque_generated.a libwee8.a
ls -lh dist/wee8.tar.xz
- name: Zip (Windows)
if: matrix.target.id == 'windows-amd64'
shell: bash
run: |
mkdir -p dist
tar --directory v8-cmake/build --create --xz --verbose ${{ matrix.target.tar_extra_args }} --file dist/wee8.tar.xz v8_base_without_compiler.lib v8_compiler.lib v8_initializers.lib v8_libbase.lib v8_libplatform.lib v8_libsampler.lib v8_snapshot.lib v8_torque_generated.lib wee8.lib
ls -lh dist/wee8.tar.xz
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.target.id }}-${{ matrix.tag }}
path: dist
if-no-files-found: error
retention-days: 1
release:
name: Release
runs-on: ubuntu-latest
permissions: write-all
needs: [build]
strategy:
matrix:
tag: ['11.6']
steps:
- name: Download the Artifacts
uses: actions/download-artifact@v3
with:
path: artifacts
- name: Inspect
shell: bash
run: |
ls -laGiR ./*
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag: ${{ matrix.tag }}
name: Release ${{ matrix.tag }}
allowUpdates: true
draft: false
prerelease: false
- name: Upload Release Asset Linux
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/linux-amd64-${{matrix.tag}}/wee8.tar.xz
asset_name: wee8-linux-amd64.tar.xz
asset_content_type: application/gzip
- name: Upload Release Asset Linux musl
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/linux-musl-${{matrix.tag}}/wee8.tar.xz
asset_name: wee8-linux-musl.tar.xz
asset_content_type: application/gzip
- name: Upload Release Asset Darwin
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/darwin-amd64-${{matrix.tag}}/wee8.tar.xz
asset_name: wee8-darwin-amd64.tar.xz
asset_content_type: application/gzip
- name: Upload Release Asset Darwin (aarch64)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/darwin-aarch64-${{matrix.tag}}/wee8.tar.xz
asset_name: wee8-darwin-aarch64.tar.xz
asset_content_type: application/gzip
- name: Upload Release Asset Windows
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/windows-amd64-${{matrix.tag}}/wee8.tar.xz
asset_name: wee8-windows-amd64.tar.xz
asset_content_type: application/gzip