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

Reply via email to