Verify NECTO and Package Assets (Linux) #256
This file contains hidden or 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: 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 |