Thank you, this is a really helpful breakdown of the process! Congrats on making so much progress with reducing our dependency on Jenkins.
Colin > On Jun 19, 2020, at 8:31 AM, Giovanni Tirloni <gtirl...@ocadu.ca> wrote: > > Hi Tony, > > I translated the Jenkins configuration that lived in the ci-service > repository: > > https://github.com/fluid-project/ci-service/blob/master/jenkins_jobs/infusion-pull-request.yml > > <https://github.com/fluid-project/ci-service/blob/master/jenkins_jobs/infusion-pull-request.yml> > > Into the GitHub Actions workflow configuration that lives in each code > repository: > > https://github.com/fluid-project/infusion/blob/master/.github/workflows/main.yml > > <https://github.com/fluid-project/infusion/blob/master/.github/workflows/main.yml> > > Instead of using our Jenkins node (located in the IDRC datacenter), it's > using the GitHub-hosted runners. > > > > Here we say the workflow should run on pushes and PRs for the master branch > only: > > on: > push: > branches: [ master ] > pull_request: > branches: [ master ] > > > The CI job runs on ubuntu-latest (for now, there's a PR to run it on Windows > as well): > > jobs: > build: > runs-on: ubuntu-latest > > The build strategy means GitHub will template/duplicate the build definition > for each of these values. They are just strings but it means we're testing > against Node.js 10.x and 12.x: > > strategy: > matrix: > node-version: [10.x, 12.x] > > > We pass the HEADLESS env var so our tests run in Firefox/Chrome headless: > > env: > HEADLESS: true > > Then come the actual build instructions. We first do a Git checkout of the > repo: > > > steps: > - uses: actions/checkout@v2 > > > > Then we install the Node.js version we want, based on that matrix definition > above. > > - name: Use Node.js ${{ matrix.node-version }} > uses: actions/setup-node@v1 > with: > node-version: ${{ matrix.node-version }} > > And the usual build commands in separate Steps: > - name: Install Node.js dependencies > run: npm install > > - name: Code linter > run: $(npm bin)/grunt lint > > - name: Browser tests > run: $(npm bin)/testem ci --file tests/testem.js > > - name: Node.js tests > run: $(npm bin)/nyc node tests/node-tests/basic-node-tests.js > > > We are not using any special Action but there's a marketplace of them: > https://github.com/marketplace?type=actions > <https://github.com/marketplace?type=actions> . They are basically Git repos > with docker images or Javascript to run arbitrary code. > > > The syntax reference for Workflow files is here: > https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions > > <https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions> > > Regards, > Giovanni > > > From: Tony Atkins <t...@raisingthefloor.org> > Sent: Friday, June 19, 2020 06:20 > To: Giovanni Tirloni <gtirl...@ocadu.ca> > Cc: fluid-work@lists.idrc.ocad.ca <fluid-work@lists.idrc.ocad.ca> > Subject: Re: GitHub Actions > > Hi, Gio. > > Great to hear this. I know we could all work our way through the > documentation and experiment with our own projects in time, but It'd be great > for maintainers in the community to save time by learning from what you had > to do. Would you be able to briefly write up what you had to do or possibly > demo/present briefly in an upcoming meeting? > > Cheers, > > > Tony > > On Tue, 16 Jun 2020 at 21:46, Giovanni Tirloni <gtirl...@ocadu.ca > <mailto:gtirl...@ocadu.ca>> wrote: > Hello, > > It seems GitHub Actions is working as expected. > > With that in mind, I'd like to disable Jenkins for the two Fluid repos that > have builds enabled: Infusion and Kettle. > > Please let me know if there are any concerns. > > Regards, > Giovanni > > From: Giovanni Tirloni <gtirl...@ocadu.ca <mailto:gtirl...@ocadu.ca>> > Sent: Monday, April 20, 2020 18:10 > To: fluid-work@lists.idrc.ocad.ca <mailto:fluid-work@lists.idrc.ocad.ca> > <fluid-work@lists.idrc.ocad.ca <mailto:fluid-work@lists.idrc.ocad.ca>> > Subject: GitHub Actions > > Hello, > > We're running an experiment to see if GitHub Actions [0] is a good > replacement for our current Jenkins-based CI system. > > I've enabled Actions in the fluid-project/infusion repository today. Every > new PR (and updates to old PRs) and commits to the master branch will trigger > CI builds in both GitHub Actions and Jenkins. We'll run them in parallel for > a while to collect usage data. > > The GitHub Actions workflow has a few benefits for us: > GitHub-owned runners so we don't need to worry about maintaining our own > servers > Configuration As Code: the CI configuration lives in the repository and can > be modified with PRs > Better integration with the GitHub UI > We'll be trying more customizations in the near future but for now the GitHub > Actions workflow in the Infusion repository more or less mimics the actions > of the Jenkins-based pipeline configuration in the fluid-project/ci-service > repository. For example, it doesn't yet publish a new Infusion build when > commits are made to the master branch, that's coming next as it requires > changes to how we do deployments. > > If you notice any issues or have any feedback, please feel free to reach out. > If we have a good experience with Actions, we'll add it to more repositories. > > 0 - https://github.com/features/actions <https://github.com/features/actions> > > Regards, > Giovanni Tirloni > DevOps Engineer > Inclusive Design Research Centre, OCAD University > https://idrc.ocadu.ca > <https://idrc.ocadu.ca/>_______________________________________________________ > fluid-work mailing list - fluid-work@lists.idrc.ocad.ca > <mailto:fluid-work@lists.idrc.ocad.ca> > To unsubscribe, change settings or access archives, > see https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work > <https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work>_______________________________________________________ > fluid-work mailing list - fluid-work@lists.idrc.ocad.ca > To unsubscribe, change settings or access archives, > see https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work
_______________________________________________________ fluid-work mailing list - fluid-work@lists.idrc.ocad.ca To unsubscribe, change settings or access archives, see https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work