Skip to content

Apply repository convention fixes #156

Apply repository convention fixes

Apply repository convention fixes #156

Workflow file for this run

name: CI
on:
pull_request:
branches: [master]
workflow_dispatch:
workflow_call:
jobs:
extension-packages:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 22
cache: npm
cache-dependency-path: vscode-extension/package-lock.json
- name: Build and verify extension packages
working-directory: vscode-extension
run: |
npm ci
npm test
npm run lint
npm run package
sha256sum ../build/vscode-extension/*.vsix
build-and-test-linux:
runs-on: ubuntu-24.04
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
steps:
- uses: actions/checkout@v7
with:
submodules: true
- name: Restore ccache
uses: actions/cache@v6
with:
path: ${{ env.CCACHE_DIR }}
key: linux-ccache-${{ runner.os }}-${{ hashFiles('CMakeLists.txt', 'scripts/build.sh', '.github/workflows/ci.yml') }}
restore-keys: |
linux-ccache-${{ runner.os }}-
- name: Restore pinned LLVM toolchain
uses: actions/cache@v6
with:
path: .cache/llvm-toolchain
key: llvm-native-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('metadata/LLVM_TOOLCHAIN', 'scripts/llvm_toolchain.sh') }}
- name: Install dependencies
run: ./scripts/install.sh
- name: Build and test
run: ./scripts/test.sh --lint=false
- name: ccache stats
if: always()
run: ccache -s || true
build-and-test-macos:
runs-on: macos-15
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
steps:
- uses: actions/checkout@v7
with:
submodules: true
- name: Restore Homebrew downloads cache
uses: actions/cache@v6
with:
path: ~/Library/Caches/Homebrew
key: macos-brew-${{ runner.os }}-${{ hashFiles('scripts/install.sh', '.github/workflows/ci.yml') }}
restore-keys: |
macos-brew-${{ runner.os }}-
- name: Restore ccache
uses: actions/cache@v6
with:
path: ${{ env.CCACHE_DIR }}
key: macos-ccache-${{ runner.os }}-${{ hashFiles('CMakeLists.txt', 'scripts/build.sh', '.github/workflows/ci.yml') }}
restore-keys: |
macos-ccache-${{ runner.os }}-
- name: Restore pinned LLVM toolchain
uses: actions/cache@v6
with:
path: .cache/llvm-toolchain
key: llvm-native-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('metadata/LLVM_TOOLCHAIN', 'scripts/llvm_toolchain.sh') }}
- name: Install dependencies
run: ./scripts/install.sh
- name: Build and test
run: ./scripts/test.sh --lint=false
- name: ccache stats
if: always()
run: ccache -s || true
build-and-test-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v7
with:
submodules: true
- name: Restore pinned LLVM toolchain
uses: actions/cache@v6
with:
path: |
.cache/llvm-toolchain
.cache/llvm-mingw
.cache/vcpkg
.cache/vcpkg-installed
key: native-toolchains-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('metadata/LLVM_TOOLCHAIN', 'metadata/LLVM_MINGW_TOOLCHAIN', 'metadata/VCPKG_TOOLCHAIN', 'vcpkg.json', 'cmake/vcpkg-triplets/*.cmake', 'scripts/llvm_toolchain.sh', 'scripts/llvm-mingw-toolchain.ps1') }}
- name: Install dependencies
run: ./scripts/install.ps1
shell: pwsh
- name: Build and test
run: ./scripts/test.sh --lint=false
shell: bash
web-build-smoke:
if: ${{ vars.DYNLEX_WEB_CI_ENABLED == '1' }}
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v7
with:
submodules: true
- uses: actions/setup-node@v7
with:
node-version: 22
- uses: mymindstorm/setup-emsdk@v14
with:
version: 6.0.3
- name: Restore pinned LLVM toolchain
uses: actions/cache@v6
with:
path: .cache/llvm-toolchain
key: llvm-web-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('metadata/LLVM_TOOLCHAIN', 'scripts/llvm_toolchain.sh') }}
- name: Build web compiler and run smoke test
run: ./scripts/test_web_smoke.sh
launchpad-source-package:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v7
with:
submodules: true
- name: Restore pinned LLVM source
uses: actions/cache@v6
with:
path: .cache/llvm-toolchain/source
key: llvm-source-${{ hashFiles('metadata/LLVM_TOOLCHAIN', 'scripts/llvm_toolchain.sh') }}
- name: Install Launchpad packaging dependencies
run: ./packaging/launchpad/scripts/install-build-deps.sh
- name: Build unsigned Launchpad source package
run: ./packaging/launchpad/scripts/build-source-package.sh --series noble --version 0.1.0+ci${{ github.run_number }}.g${GITHUB_SHA::7}