Skip to content

Verify NECTO and Package Assets (Linux) #256

Verify NECTO and Package Assets (Linux)

Verify NECTO and Package Assets (Linux) #256

name: Verify NECTO and Package Assets (Linux)
on:
workflow_dispatch:
schedule:
- cron: "0 4 * * 1-5"
- cron: "0 9 * * 1-5"
- cron: "0 13 * * 1-5"
env:
ES_HOST: ${{ secrets.ES_HOST }}
ES_USER: ${{ secrets.ES_USER }}
ES_PASSWORD: ${{ secrets.ES_PASSWORD }}
ES_INDEX_LIVE: ${{ secrets.ES_INDEX_LIVE }}
GITHUB_REPO: ${{ github.repository }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
necto_verification_linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: '3.x'
# Remove Java (JDKs)
# Remove .NET SDKs
# Remove Swift toolchain
# Remove Haskell (GHC)
# Remove Julia
# Remove Android SDKs
# Remove Azure CLI
# Remove PowerShell
# Remove CodeQL and other toolcaches
- name: Aggressive cleanup
run: |
df -h
sudo rm -rf /usr/lib/jvm
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/share/swift
sudo rm -rf /usr/local/.ghcup
sudo rm -rf /usr/local/julia*
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/az
sudo rm -rf /usr/local/share/powershell
sudo rm -rf /opt/hostedtoolcache
docker system prune -af || true
docker builder prune -af || true
df -h
- name: Install runtime deps
run: |
sudo apt-get update
sudo apt-get install -y \
p7zip-full libopus-dev libevent-dev freeglut3-dev \
libminizip-dev libxcb-shape0-dev libxcb-icccm4-dev \
libxcb-cursor-dev libxcb-keysyms1-dev libxkbcommon-x11-dev
- name: Install Python deps
run: |
python -m pip install --upgrade pip
pip install -r scripts/requirements/shared.txt
pip install -r scripts/requirements/databases.txt
- name: Step 1 - Install NECTO Studio
run: python -u scripts/necto_packages_check.py step1
- name: Step 2 - Install all packages with NECTO installer
run: python -u scripts/necto_packages_check.py step2
- name: Step 3 - Create dependencies
if: always()
run: python -u scripts/necto_packages_check.py step3
- name: Step 4 - CORE-to-MCU dependencies
if: always()
run: python -u scripts/necto_packages_check.py step4
- name: Step 5 - CODEGRIP-to-MCU dependencies
if: always()
run: python -u scripts/necto_packages_check.py step5
- name: Step 6 - MCHP-to-MCU dependencies
if: always()
run: python -u scripts/necto_packages_check.py step6
- name: Step 7 - Board-to-BSP dependencies
if: always()
run: python -u scripts/necto_packages_check.py step7
- name: Step 8 - Card-to-BSP dependencies
if: always()
run: python -u scripts/necto_packages_check.py step8
- uses: actions/upload-artifact@v7
if: always()
with:
name: linux-artifacts
path: |
package_dependencies.json
message.txt
scripts/necto_utils/results.html
- name: Notify Mattermost
if: always()
env:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL_TEST }}
run: |
curl -X POST -H 'Content-Type: application/json' \
--data "{\"text\": \"$(cat message.txt)\"}" \
$MATTERMOST_WEBHOOK_URL