π deploy #160
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: π deploy | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
pull_request: | |
schedule: | |
- cron: '0 12 * * 0' | |
jobs: | |
build_ubuntu: | |
strategy: | |
fail-fast: false | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Install GCC, clang tidy, and build essentials | |
run: sudo apt update && sudo apt upgrade; sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; sudo apt install -y build-essential g++-11 clang-tidy | |
- name: π₯ Install CMake & Conan | |
run: python3 -m pip install "conan>=2.0.13" cmake | |
- name: π‘ Add `libhal-trunk` conan remote | |
run: conan remote add libhal-trunk https://libhal.jfrog.io/artifactory/api/conan/trunk-conan | |
- name: Setting up conan profile | |
run: conan config install -sf profiles/baremetal https://github.com/libhal/conan-config.git; conan profile detect --force; conan config install -sf profiles/x86_64/linux/ -tf profiles https://github.com/libhal/conan-config.git; | |
- name: Get conan profiles | |
run: conan config install -sf conan/profiles/ -tf profiles https://github.com/libhal/libhal-armcortex.git; conan config install -sf conan/profiles/ -tf profiles https://github.com/libhal/libhal-lpc40.git | |
- name: Build drive | |
working-directory: drive | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
- name: Build arm | |
working-directory: arm | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
- name: Build arm-mimic | |
working-directory: arm_mimic | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
- name: Build science | |
working-directory: science | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
build_windows: | |
strategy: | |
fail-fast: false | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Installing choco | |
run: Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) | |
- name: Installing python | |
run: choco install python | |
- name: Installing gcc | |
run: choco install mingw | |
- name: installing make | |
run: choco install make | |
- name: Installing conan and cmake | |
run: python3 -m pip install -U "conan>=2.0.13" cmake | |
- name: setting up conan | |
run: conan remote add libhal-trunk https://libhal.jfrog.io/artifactory/api/conan/trunk-conan; conan config install -sf profiles/baremetal https://github.com/libhal/conan-config.git; conan profile detect --force; conan config install -sf profiles/x86_64/windows/ -tf profiles https://github.com/libhal/conan-config.git | |
- name: Importing lpc profiles | |
run: conan config install -sf conan/profiles/ -tf profiles https://github.com/libhal/libhal-armcortex.git; conan config install -sf conan/profiles/ -tf profiles https://github.com/libhal/libhal-lpc40.git | |
- name: Build drive | |
working-directory: drive | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
- name: Build arm | |
working-directory: arm | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
- name: Build arm-mimic | |
working-directory: arm_mimic | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
- name: Build science | |
working-directory: science | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
build_mac_intel: | |
strategy: | |
fail-fast: false | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Install Homebrew | |
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | |
- name: Troubleshooting | |
run: rm '/usr/local/bin/2to3' | |
- name: Install latest version of Python 3.x and llvm | |
run: brew install [email protected]; brew install llvm | |
- name: Make clang-tidy available on the command line | |
run: sudo ln -s $(brew --prefix llvm)/bin/clang-tidy /usr/local/bin/ | |
- name: π₯ Install CMake & Conan | |
run: python3 -m pip install "conan>=2.0.13" cmake | |
- name: π‘ Add `libhal-trunk` conan remote | |
run: conan remote add libhal-trunk https://libhal.jfrog.io/artifactory/api/conan/trunk-conan | |
- name: Setting up conan profile | |
run: conan config install -sf profiles/baremetal https://github.com/libhal/conan-config.git; conan profile detect --force; conan config install -sf profiles/x86_64/linux/ -tf profiles https://github.com/libhal/conan-config.git; | |
- name: Get conan profiles | |
run: conan config install -sf conan/profiles/ -tf profiles https://github.com/libhal/libhal-armcortex.git; conan config install -sf conan/profiles/ -tf profiles https://github.com/libhal/libhal-lpc40.git | |
- name: Intel default configuration | |
run: conan config install -sf profiles/x86_64/mac/ -tf profiles https://github.com/libhal/conan-config.git | |
- name: Build drive | |
working-directory: drive | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
- name: Build arm | |
working-directory: arm | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
- name: Build arm-mimic | |
working-directory: arm_mimic | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel | |
- name: Build science | |
working-directory: science | |
run: conan build . -pr lpc4078 -s build_type=MinSizeRel |