Toolchain Builder #92
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: Toolchain Builder | |
# REGENERATES THE LLVM-MINGW for Alpine Linux with fresh code. | |
on: | |
schedule: | |
- cron: '51 10 * * SAT' | |
# runs at 10:51 UTC every Saturday | |
workflow_dispatch: | |
inputs: | |
debug_enabled: | |
description: 'Debug session enabled' | |
required: false | |
default: false | |
type: boolean | |
jobs: | |
build: | |
if: ${{ true }} | |
name: Builds toolchain | |
runs-on: ubuntu-latest | |
container: alpine:edge | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: "⏬ Download tools" | |
if: ${{ job.container }} | |
shell: sh | |
run: | | |
apk update && apk upgrade | |
apk add git bash curl jq tar \ | |
build-base python3 cmake linux-headers coreutils perl | |
# set PATH like in Ubuntu | |
echo "PATH=$HOME/.local/bin:$PATH" >> $GITHUB_ENV | |
# this seems to be needed when running in a container (beause of UID mismatch??) | |
git config --global --add safe.directory '*' | |
- name: "🔧 Prepare debug session" | |
if: github.event.inputs.debug_enabled == 'true' | |
run: | | |
apk add bash nano-syntax iproute2 util-linux-misc | |
wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh | |
chmod +x /usr/local/bin/oh-my-posh | |
wget -q https://github.com/okibcn/miniU/raw/main/Github_Linux/.nanorc -O /etc/nanorc | |
wget -q https://github.com/okibcn/miniU/raw/main/Github_Linux/profile.sh -O ~/.zshrc | |
cat ~/.zshrc >> ~/.bashrc | |
- name: "🐞 Debug session" | |
uses: mxschmitt/action-tmate@v3 | |
if: github.event.inputs.debug_enabled == 'true' | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: "⚙️ Build LLVM-MinGW Master" | |
run: | | |
echo " Using SHELL: $0" | |
git clone https://github.com/mstorsjo/llvm-mingw.git llvm | |
cd llvm | |
./build-all.sh ../llvm-mingw | |
- name: "🚮 Recycle Cache" | |
uses: snnaplab/delete-branch-cache-action@v1 | |
- name: "💾 Save Build Folder" | |
uses: actions/cache@v3.3.1 | |
id: cache-folder | |
with: | |
key: llvm-folder | |
path: llvm-mingw |