name: Projects on: [push, pull_request] jobs: build: strategy: fail-fast: false matrix: project: - marlin: repository: "MarlinFirmware/Marlin" folder: "Marlin" config_dir: "Marlin" env_name: "mega2560" - smartknob: repository: "scottbez1/smartknob" folder: "smartknob" config_dir: "smartknob" env_name: "view" - espurna: repository: "xoseperez/espurna" folder: "espurna" config_dir: "espurna/code" env_name: "nodemcu-lolin" - OpenMQTTGateway: repository: "1technophile/OpenMQTTGateway" folder: "OpenMQTTGateway" config_dir: "OpenMQTTGateway" env_name: "esp32-m5atom-lite" os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 with: submodules: "recursive" - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: 3.11 - name: Install PlatformIO run: pip install -U . - name: Check out ${{ matrix.project.repository }} uses: actions/checkout@v4 with: submodules: "recursive" repository: ${{ matrix.project.repository }} path: ${{ matrix.project.folder }} - name: Compile ${{ matrix.project.repository }} run: pio run -d ${{ matrix.project.config_dir }} -e ${{ matrix.project.env_name }}