name: "Build Meson" description: "Builds the project using Meson" inputs: dir_name: description: "The name of the directory to setup meson in" required: true type: string setup_args: description: "The args to additionally pass to meson" required: false type: string upload: description: "Upload the executable" required: false default: true type: boolean runs: using: "composite" steps: - name: Setup build-directory shell: nix develop --command bash -e {0} run: meson setup ${{ inputs.dir_name }} --wipe ${{ inputs.setup_args }} - name: Compile directory shell: nix develop --command bash -e {0} run: meson compile -C ${{ inputs.dir_name }} -j $(nproc) -v Minecraft.Client - name: Upload executable if: ${{ inputs.upload }} uses: actions/upload-artifact@v4 with: name: minecraft-client-linux-${{ inputs.dir_name }}-${{ github.sha }} path: ${{ inputs.dir_name }}/Minecraft.Client/Minecraft.Client retention-days: 7