From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20161025 header.b=l0+sy8gA; spf=pass (domain: gmail.com, ip: 209.85.208.180, mailfrom: sigmaepsilon92@gmail.com) Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) by groups.io with SMTP; Thu, 29 Aug 2019 13:39:50 -0700 Received: by mail-lj1-f180.google.com with SMTP id e24so4325989ljg.11; Thu, 29 Aug 2019 13:39:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=fnB4+KGdq9OxVkZf43jBiRJs2FQb/Xgh6zjAOgrsrrI=; b=l0+sy8gAAwFqJXTvC+8Ew5leHXhgtfqfaPOQxlfWvJuQU/AEhdKT69m0hppkor85Mv m64uwjvC75rh0CkPp1AiNXLjXfKA6hDIY/T6mT47VwHVJCIcN/QPviVAW4jODqpLqXe8 oM7COjGkenbehX8n4Fyu4NS8lVRdwSgAvU0wDmtE3EJHiAJ5RszPibG64nkmxy2dzyCA KUFpEX7u/0PtMVuZrap2xRLdIAjQnF5lYrUVogG0ulCrRThBy3ygUua6ZLfFZJg8kZy8 zfbsiQnBVw1DYzOEWMNUUyystBEOw5ZbgYlG+gKH/B6texsNLQh3b/OCjSgghx9zKWRh oghg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=fnB4+KGdq9OxVkZf43jBiRJs2FQb/Xgh6zjAOgrsrrI=; b=hATeCjDMiyvJj+U/uu5nJW2Xi90wuHUsOcbFIbdImrIR0OKclzeqAdbxm5jTaAkJun NoEV0HwvWd0Tu0AvaVlIRLtqP8N2XMZdqqoUgcAphSi7NB0zPBIuHidQC68vQGaM7dCH LE9nLuWrN8P11RkaJfA1BCi5JHa2Ze7ArJjrHHBcCgWGUW7b6jHk93sw+RisuhxkICVH c0Fe9MFckahRHTaw7F90Tfw3xYBp5hyiw2l59VcH4d0vMD6jxXLmvw9Bw3R9WPU1z9BW 5QcqO0sDKvn+DRojZkkqa7hWYkdKAgUBye3Wrd09LPEMfBQcF8mLUhe7gZCaVEc2oLMq v6TQ== X-Gm-Message-State: APjAAAWbnBPfz4OJZhh7yhWKk5vh6m6Fv83nPu/OXQX/DW1Ne65ews+J ZX5OL7oFqHV2oD8Pur67FehEnrvzDYkX8mKk005PZQ== X-Google-Smtp-Source: APXvYqzIkdCma0d19yVPhYDyzVaQPsSoB7w+3UbhNQMpww9prXffIuICYkefTCpZSnxSnf0MYPgfuA8hRfSMtSdYZts= X-Received: by 2002:a2e:998b:: with SMTP id w11mr6759769lji.43.1567111187574; Thu, 29 Aug 2019 13:39:47 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "Michael Zimmermann" Date: Thu, 29 Aug 2019 22:39:36 +0200 Message-ID: Subject: Re: [edk2-devel] [RFC] EDK II Continuous Integration Phase 1 To: devel@edk2.groups.io, "Kinney, Michael D" Cc: "rfc@edk2.groups.io" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Michael, would it make sense to run SCT (using UnixHost and/or qemu) to verify the high level logic or do you think that would be too much to do for each PR? Also, do we want to run all these checks for each commit in the PR to verify that they pass at each point in the git history? Thanks Michael On Thu, Aug 29, 2019 at 10:22 PM Michael D Kinney wrote: > > Hello, > > This is a proposal for a first step towards continuous > integration for all TianoCore repositories to help > improve to quality of commits and automate testing and > release processes for all EDK II packages and platforms. > > This is based on work from a number of EDK II community > members that have provide valuable input and evaluations. > > * Rebecca Cran Jenkins evaluation > * Laszlo Ersek GitLab evaluation > * Philippe Mathieu-Daud=C3=A9 GitLab evaluation > * Sean Brogan Azure Pipelines and HBFA > * Bret Barkelew Azure Pipelines and HBFA > * Jiewen Yao HBFA > > The following link is a link to an EDK II WIKI page that > contains a summary of the work to date. Please provide > feedback in the EDK II mailing lists. The WIKI pages will > be updated with input from the entire EDK II community. > > https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Continu= ous-Integration > > Proposal > =3D=3D=3D=3D=3D=3D=3D=3D > Phase 1 of adding continuous integration is limited to the > edk2 repository. Additional repositories will be added later. > > The following changes are proposed: > * Remove EDK II Maintainers write access to edk2 repository. > Only EDK II Administrators will continue to have write > access, and that should only be used to handle extraordinary > events. > * EDK II Maintainers use a GitHub Pull Request instead of push > to commit a patch series to the edk2 repository. There are > no other changes to the development and review process. The > patch series is prepared in an EDK II maintainer branch with > all commit message requirements met on each patch in the series. > * The edk2 repository only accepts Pull Requests from members > of the EDK II Maintainers team. Pull Requests from anyone else > are rejected. > * Run pre-commit checks using Azure Pipelines > * If all pre-commit checks pass, then the patch series is auto > committed. The result of this commit must match the contents > and commit history that would have occurred using the previous > push operation. > * If any pre-commit checks fail, then notify the submitter. > A typical reason for a failure would be a merge conflict with > another pull request that was just processed. > * Limit pre-commit checks execution time to 10 minutes. > * Provide on-demand builds to EDK II Maintainers that to allow > EDK II Maintainers to submit a branch through for the same > set of pre-commit checks without submitting a pull request. > > ## Pre-Commit Checks in Phase 1 > * Run and pass PatchCheck.py with no errors > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > The following are some additional pre-commit check ideas > that could be quickly added once the initial version using > PatchCheck.py is fully functional. Please provide feedback > on the ones you like and additional ones you think may > improve the quality of the commits to the edk2 repository. > > ## Proposed Pre-Commit Checks in Phase 2 > * Verify Reviewed-by and Acked-by tags are present with > correct maintainer email addresses > * Verify no non-ASCII characters in modified files > * Verify no binary files in set of modified files > * Verify package dependency rules in modified files > > ## Proposed Pre-Commit Checks in Phase 3 > * Run ECC on modified files > * Verify modified modules/libs build > * Run available host based tests (HBFA) against modified > modules/libs > > Best regards, > > Mike > > > > > > >=20 >