@@ -154,6 +154,19 @@ triggered via the VS Code graphical interface, utilising the
154154
155155<ProjectPatches />
156156
157+ ### Restart the Docker daemons
158+
159+ If , for any reason , the Docker builds need to be cancelled , it is very
160+ likely that some processes will continue to execute in the background .
161+
162+ To completely terminate them , and ensure that Docker executes
163+ from a clean slate , restart the Docker daemons on all GNU / Linux
164+ machines :
165+
166+ ` ` ` sh
167+ sudo systemctl restart docker
168+ ` ` `
169+
157170### Verify if both projects are pushed
158171
159172Verify that both the ** current project ** and the ** helper ** are
@@ -330,7 +343,71 @@ place them in the XBB cache (`Work/cache`) and restart the build.
330343
331344## Execute the production builds
332345
333- The automation is provided by GitHub Actions on GitHub - hosted runners .
346+ The automation is provided by GitHub Actions and three self - hosted runners
347+ (the GitHub hosted runners do not have the necessary resources ).
348+
349+ ### Start the self - hosted runners
350+
351+ If the runners have expired (more than 2 weeks since last use ), execute the
352+ ` github-runner-configure.sh ` script to reconfigure them . This script
353+ is available in the ` xbb-helper ` and
354+ requires ` GITHUB_API_XPACK_DEV_TOOLS_RUNNERS_TOKEN ` to be present .
355+
356+ - On the development machine (` wksi ` ) open
357+ SSH sessions to the build machines (` xbbli ` , ` xbbmi ` , ` xbbma ` , ` ampere ` ):
358+
359+ ` ` ` sh
360+ caffeinate ssh xbbli
361+ caffeinate ssh xbbmi
362+ caffeinate ssh xbbma
363+ caffeinate ssh ampere
364+ ` ` `
365+
366+ Create a ` screen ` session , to provide a persistent standard output for
367+ the runners :
368+
369+ ` ` ` sh
370+ screen -S ga
371+ ` ` `
372+
373+ To exit it , use ` # Ctrl-a Ctrl-d ` .
374+
375+ For ` xbbli ` & ` ampere ` , which have additional memory , start two runners :
376+
377+ ` ` ` sh
378+ ~/actions-runners/xpack-dev-tools/1/run.sh &
379+ ~/actions-runners/xpack-dev-tools/2/run.sh &
380+ ` ` `
381+
382+ For the macOS x64 runners , ensure the deployment target is defined :
383+
384+ ` ` ` sh
385+ unset WORK_FOLDER_PATH
386+ export XBB_ENVIRONMENT_MACOSX_DEPLOYMENT_TARGET="11.0"
387+ ~/actions-runners/xpack-dev-tools/run.sh &
388+ ` ` `
389+
390+ On all other machines , start the runner with :
391+
392+ ` ` ` sh
393+ ~/actions-runners/xpack-dev-tools/run.sh &
394+ ` ` `
395+
396+ To check the status of the runners locally :
397+
398+ ` ` ` sh
399+ ps -a | grep 'Runner.Listener'
400+ ` ` `
401+
402+ To terminate them :
403+
404+ ` ` ` sh
405+ killall Runner.Listener
406+ ` ` `
407+
408+ ### Check the status of the runners
409+
410+ The status of all self - hosted runners is available at the [GitHub Runners ](https :// github.com/organizations/xpack-dev-tools/settings/actions/runners) page.
334411
335412### Publish the helper
336413
@@ -343,6 +420,49 @@ to `"@xpack-dev-tools/xbb-helper":`.
343420
344421<CommonGenerateTopCommons />
345422
423+ ### Check for disk space
424+
425+ Verify that the build machines have sufficient free space and perform
426+ cleanup operations as necessary :
427+
428+ ` ` ` sh
429+ xpm run check-space -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git/build-assets
430+ ` ` `
431+
432+ This is equivalent to executing a ` df ` command .
433+
434+ <Tabs groupId = " operating-systems" >
435+
436+ <TabItem value = " macos" label = " macOS" >
437+
438+ ```
439+ df -gH /
440+ ```
441+
442+ </TabItem >
443+
444+ <TabItem value = " linux" label = " GNU/Linux" >
445+
446+ ```sh
447+ df -BG -H /
448+ ```
449+
450+ </TabItem >
451+
452+ </Tabs >
453+
454+ To free the space utilised by all previous builds of all ` xpack-dev-tools ` packages :
455+
456+ ` ` ` sh
457+ xpm run clear-all-projects-builds -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git/build-assets
458+ ` ` `
459+
460+ This is equivalent to executing a comprehensive ` rm ` to remove the ` build ` folders :
461+
462+ ` ` ` sh
463+ rm -rf ~/Work/xpack-dev-tools/*/build-assets/build
464+ ` ` `
465+
346466### Commit and push
347467
348468- ** Push ** the ` xpack-development ` branch to GitHub
@@ -439,11 +559,6 @@ xpm run install -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git/build-ass
439559xpm run test-pre-release -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git/build-assets
440560` ` `
441561
442- :::caution
443- Since the builds were performed on the latest GitHub macOS runners ,
444- it is strongly recommended to also execute the tests on an older macOS 11 machine .
445- :::
446-
447562For additional tests , on each platform ,
448563download the archive from
449564[pre - releases / test ](https :// github.com/xpack-dev-tools/pre-releases/releases/tag/test/)
@@ -566,6 +681,19 @@ The test results are available from the
566681- Navigate to https :// github.com/xpack-dev-tools/pre-releases/releases/tag/test/
567682- Remove the test binaries
568683
684+ ### Clean the work area
685+
686+ Execute the ** trigger - workflow - deep - clean ** xpm action :
687+
688+ ` ` ` sh
689+ xpm run trigger-workflow-deep-clean -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git/build-assets
690+ ` ` `
691+
692+ This will remove the build folders on all self - hosted runners .
693+
694+ The results are available from the
695+ [GitHub Actions ](https :// github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/actions) page.
696+
569697<CommonCloseOpenIssues />
570698
571699<CommonShareOnTwitter />
0 commit comments