Sono interessato ad ospitare una competizione in cui i partecipanti (che sono tutti remoti) creeranno progetti FPGA / RTL e giudicheranno determinati parametri di prestazione quali velocità / latenza / dimensione / ecc.
Il problema è che il software utilizzato per il processo di compilazione (Xilinx Vivado) non ha risultati deterministici / ripetibili su macchine e sistemi operativi diversi. Ad esempio, due partecipanti che eseguono versioni diverse di Windows, costruendo lo stesso codice con le stesse impostazioni di configurazione, otterrebbero risultati diversi. Mentre i partecipanti possono avere una copia locale del software installato per ottenere una base delle loro prestazioni di progettazione, i risultati finali di tutti i partecipanti dovranno essere tutti costruiti sullo stesso computer.
Pertanto, sto pensando di ospitare un server Linux da casa con il software Vivado installato e di trovare un metodo per consentire ai partecipanti di caricare il loro codice e farlo passare attraverso un processo di compilazione e verifica automatico.
Il server non avrà alcun tipo di informazione sensibile (i risultati finali saranno pubblici, questa è l'idea), tuttavia mi chiedo se dovrei avere qualche tipo di problema di sicurezza quando faccio qualcosa del genere. Ho circa 4 altri dispositivi in un dato momento sulla mia rete domestica, e principalmente voglio solo essere sicuro che non creerò alcuna vulnerabilità per loro. Per quanto riguarda il server stesso, devo assicurarmi di essere l'unico con accesso root e la possibilità di modificare i file al di fuori dello spazio in cui viene caricato il codice.
Avrò anche bisogno di un metodo che consenta a un numero indeterminato di partecipanti di caricare il codice senza dover creare un account utente per ognuno, impedendo allo stesso tempo attività dannose. Non sono nemmeno sicuro che sia possibile, tuttavia apprezzerei molto qualsiasi input!