Skip to content

Commit 7b4e6a1

Browse files
committed
GitHubCI: add Ubuntu24.04 linux lanes
1 parent b1572f5 commit 7b4e6a1

File tree

1 file changed

+299
-14
lines changed

1 file changed

+299
-14
lines changed

.github/workflows/CI.yml

Lines changed: 299 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ jobs:
221221
222222
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
223223
224-
linux-github--dotnet-and-mono:
224+
linux22-github--dotnet-and-mono:
225225
runs-on: ubuntu-22.04
226226
steps:
227227
- uses: actions/checkout@v1
@@ -253,7 +253,7 @@ jobs:
253253
254254
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
255255
256-
linux-github--dotnet-and-newmono:
256+
linux22-github--dotnet-and-newmono:
257257
runs-on: ubuntu-22.04
258258
steps:
259259
- uses: actions/checkout@v1
@@ -290,7 +290,7 @@ jobs:
290290
291291
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
292292
293-
linux-vanilla--stockmono-only:
293+
linux22-vanilla--stockmono-only:
294294
runs-on: ubuntu-22.04
295295
container:
296296
image: "ubuntu:22.04"
@@ -330,7 +330,7 @@ jobs:
330330
- name: integration tests
331331
run: make update-servers
332332

333-
linux-vanilla--stockdotnet6-only:
333+
linux22-vanilla--stockdotnet6-only:
334334
runs-on: ubuntu-22.04
335335
container:
336336
image: "ubuntu:22.04"
@@ -371,7 +371,7 @@ jobs:
371371
372372
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
373373
374-
linux-vanilla--stockdotnet6-and-newmono:
374+
linux22-vanilla--stockdotnet6-and-newmono:
375375
runs-on: ubuntu-22.04
376376
container:
377377
image: "ubuntu:22.04"
@@ -414,7 +414,7 @@ jobs:
414414
415415
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
416416
417-
linux-vanilla--stockdotnet6-and-stockmono:
417+
linux22-vanilla--stockdotnet6-and-stockmono:
418418
runs-on: ubuntu-22.04
419419
container:
420420
image: "ubuntu:22.04"
@@ -456,7 +456,7 @@ jobs:
456456
457457
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
458458
459-
linux-vanilla--newmono-only:
459+
linux22-vanilla--newmono-only:
460460
runs-on: ubuntu-22.04
461461
container:
462462
image: "ubuntu:22.04"
@@ -497,18 +497,303 @@ jobs:
497497
- name: integration tests
498498
run: make update-servers
499499

500+
501+
linux24-github--dotnet-and-mono:
502+
runs-on: ubuntu-24.04
503+
steps:
504+
- uses: actions/checkout@v1
505+
with:
506+
submodules: false
507+
- name: install missing dependencies
508+
run: sudo apt install --yes fsharp nunit-console
509+
- name: check mono version
510+
run: mono --version
511+
- name: configure
512+
run: ./configure.sh
513+
- name: build in DEBUG mode
514+
run: make
515+
- name: sanity check
516+
run: make sanitycheck
517+
- name: unit tests
518+
run: make check
519+
- name: build in STRICT mode
520+
run: git clean -fdx && ./configure.sh && make strict
521+
- name: build in RELEASE mode
522+
run: git clean -fdx && ./configure.sh && make release
523+
- name: integration tests
524+
run: make update-servers
525+
- name: compile .fsx scripts
526+
run: |
527+
dotnet new tool-manifest
528+
529+
dotnet tool install fsxc --version ${{ env.FSXC_VERSION }}
530+
531+
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
532+
533+
linux24-github--dotnet-and-newmono:
534+
runs-on: ubuntu-22.04
535+
steps:
536+
- uses: actions/checkout@v1
537+
with:
538+
submodules: false
539+
- name: install missing dependencies
540+
run: sudo apt install --yes fsharp nunit-console
541+
- name: install last version of mono (Microsoft APT repositories)
542+
run: sudo ./scripts/install_mono_from_microsoft_deb_packages.sh
543+
- name: check mono version
544+
run: mono --version
545+
- name: install GTK libs (dependency of GTK frontend)
546+
run: sudo apt install --yes libgtk2.0-cil-dev
547+
- name: configure
548+
run: ./configure.sh
549+
- name: build in DEBUG mode (retry 3 times because of flakey XamForms restore)
550+
# TODO: remove retry when we migrate to .NET6 (removing LEGACY_FRAMEWORK support)
551+
run: make || make || make || make
552+
- name: sanity check
553+
run: make sanitycheck
554+
- name: unit tests
555+
run: make check
556+
- name: build in STRICT mode
557+
run: git clean -fdx && ./configure.sh && make strict
558+
- name: build in RELEASE mode
559+
run: git clean -fdx && ./configure.sh && make release
560+
- name: integration tests
561+
run: make update-servers
562+
- name: compile .fsx scripts
563+
run: |
564+
dotnet new tool-manifest
565+
566+
dotnet tool install fsxc --version ${{ env.FSXC_VERSION }}
567+
568+
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
569+
570+
linux24-vanilla--stockmono-only:
571+
runs-on: ubuntu-24.04
572+
container:
573+
image: "ubuntu:22.04"
574+
steps:
575+
- uses: actions/checkout@v1
576+
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH."
577+
# with:
578+
# submodules: 'true'
579+
580+
- name: install sudo
581+
run: apt update && apt install --yes sudo
582+
- name: install all dependencies
583+
run: |
584+
# needed by fsx submodule
585+
sudo apt install --yes curl
586+
587+
sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make fsharp nunit-console
588+
589+
# workaround for https://github.com/actions/runner/issues/2033
590+
- name: ownership workaround
591+
run: git config --global --add safe.directory '*'
592+
593+
- name: check mono version
594+
run: mono --version
595+
- name: configure
596+
run: ./configure.sh
597+
- name: build in DEBUG mode
598+
run: make
599+
- name: sanity check
600+
run: make sanitycheck
601+
- name: unit tests
602+
run: make check
603+
- name: build in STRICT mode
604+
run: git clean -fdx && ./configure.sh && make strict
605+
- name: build in RELEASE mode
606+
run: git clean -fdx && ./configure.sh && make release
607+
- name: integration tests
608+
run: make update-servers
609+
610+
linux24-vanilla--stockdotnet6-only:
611+
runs-on: ubuntu-24.04
612+
container:
613+
image: "ubuntu:24.04"
614+
steps:
615+
- uses: actions/checkout@v1
616+
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH."
617+
# with:
618+
# submodules: 'true'
619+
620+
- name: install sudo
621+
run: apt update && apt install --yes sudo
622+
- name: install all dependencies
623+
run: sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make dotnet6
624+
625+
# workaround for https://github.com/actions/runner/issues/2033
626+
- name: ownership workaround
627+
run: git config --global --add safe.directory '*'
628+
629+
- name: configure
630+
run: ./configure.sh
631+
- name: build in DEBUG mode
632+
run: make
633+
- name: sanity check
634+
run: make sanitycheck
635+
- name: unit tests
636+
run: make check
637+
- name: build in STRICT mode
638+
run: git clean -fdx && ./configure.sh && make strict
639+
- name: build in RELEASE mode
640+
run: git clean -fdx && ./configure.sh && make release
641+
- name: integration tests
642+
run: make update-servers
643+
- name: compile .fsx scripts
644+
run: |
645+
dotnet new tool-manifest
646+
647+
dotnet tool install fsxc --version ${{ env.FSXC_VERSION }}
648+
649+
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
650+
651+
linux24-vanilla--stockdotnet6-and-newmono:
652+
runs-on: ubuntu-24.04
653+
container:
654+
image: "ubuntu:24.04"
655+
steps:
656+
- uses: actions/checkout@v1
657+
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH."
658+
# with:
659+
# submodules: 'true'
660+
661+
- name: install sudo
662+
run: apt update && apt install --yes sudo
663+
- name: install all dependencies
664+
run: sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make dotnet6
665+
- name: install last version of mono (Microsoft APT repositories)
666+
run: sudo ./scripts/install_mono_from_microsoft_deb_packages.sh
667+
668+
# workaround for https://github.com/actions/runner/issues/2033
669+
- name: ownership workaround
670+
run: git config --global --add safe.directory '*'
671+
672+
- name: configure
673+
run: ./configure.sh
674+
- name: build in DEBUG mode
675+
run: make
676+
- name: sanity check
677+
run: make sanitycheck
678+
- name: unit tests
679+
run: make check
680+
- name: build in STRICT mode
681+
run: git clean -fdx && ./configure.sh && make strict
682+
- name: build in RELEASE mode
683+
run: git clean -fdx && ./configure.sh && make release
684+
- name: integration tests
685+
run: make update-servers
686+
- name: compile .fsx scripts
687+
run: |
688+
dotnet new tool-manifest
689+
690+
dotnet tool install fsxc --version ${{ env.FSXC_VERSION }}
691+
692+
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
693+
694+
linux24-vanilla--stockdotnet6-and-stockmono:
695+
runs-on: ubuntu-24.04
696+
container:
697+
image: "ubuntu:24.04"
698+
steps:
699+
- uses: actions/checkout@v1
700+
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH."
701+
# with:
702+
# submodules: 'true'
703+
704+
- name: install sudo
705+
run: apt update && apt install --yes sudo
706+
- name: install all dependencies
707+
run: sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make dotnet6 mono-xbuild fsharp
708+
- name: install GTK libs (dependency of GTK frontend)
709+
run: sudo apt install --yes libgtk2.0-cil-dev
710+
# workaround for https://github.com/actions/runner/issues/2033
711+
- name: ownership workaround
712+
run: git config --global --add safe.directory '*'
713+
714+
- name: configure
715+
run: ./configure.sh
716+
- name: build in DEBUG mode
717+
run: make
718+
- name: sanity check
719+
run: make sanitycheck
720+
- name: unit tests
721+
run: make check
722+
- name: build in STRICT mode
723+
run: git clean -fdx && ./configure.sh && make strict
724+
- name: build in RELEASE mode
725+
run: git clean -fdx && ./configure.sh && make release
726+
- name: integration tests
727+
run: make update-servers
728+
- name: compile .fsx scripts
729+
run: |
730+
dotnet new tool-manifest
731+
732+
dotnet tool install fsxc --version ${{ env.FSXC_VERSION }}
733+
734+
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {}
735+
736+
linux24-vanilla--newmono-only:
737+
runs-on: ubuntu-24.04
738+
container:
739+
image: "ubuntu:24.04"
740+
steps:
741+
- uses: actions/checkout@v1
742+
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH."
743+
# with:
744+
# submodules: 'true'
745+
746+
- name: install sudo
747+
run: apt update && apt install --yes sudo
748+
- name: install all dependencies
749+
run: sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make fsharp nunit-console
750+
- name: install last version of mono (Microsoft APT repositories)
751+
run: sudo ./scripts/install_mono_from_microsoft_deb_packages.sh
752+
753+
# workaround for https://github.com/actions/runner/issues/2033
754+
- name: ownership workaround
755+
run: git config --global --add safe.directory '*'
756+
757+
- name: check mono version
758+
run: mono --version
759+
- name: install GTK libs (dependency of GTK frontend)
760+
run: sudo apt install --yes libgtk2.0-cil-dev
761+
- name: configure
762+
run: ./configure.sh
763+
- name: build in DEBUG mode (retry 3 times because of flakey XamForms restore)
764+
# TODO: remove retry when we migrate to .NET6 (removing LEGACY_FRAMEWORK support)
765+
run: make || make || make || make
766+
- name: sanity check
767+
run: make sanitycheck
768+
- name: unit tests
769+
run: make check
770+
- name: build in STRICT mode
771+
run: git clean -fdx && ./configure.sh && make strict
772+
- name: build in RELEASE mode
773+
run: git clean -fdx && ./configure.sh && make release
774+
- name: integration tests
775+
run: make update-servers
776+
777+
500778
conventions:
501779
runs-on: ubuntu-22.04
502780
container:
503781
image: "ubuntu:22.04"
504782
needs:
505-
- linux-github--dotnet-and-mono
506-
- linux-github--dotnet-and-newmono
507-
- linux-vanilla--stockmono-only
508-
- linux-vanilla--newmono-only
509-
- linux-vanilla--stockdotnet6-only
510-
- linux-vanilla--stockdotnet6-and-stockmono
511-
- linux-vanilla--stockdotnet6-and-newmono
783+
- linux22-github--dotnet-and-mono
784+
- linux22-github--dotnet-and-newmono
785+
- linux22-vanilla--stockmono-only
786+
- linux22-vanilla--newmono-only
787+
- linux22-vanilla--stockdotnet6-only
788+
- linux22-vanilla--stockdotnet6-and-stockmono
789+
- linux22-vanilla--stockdotnet6-and-newmono
790+
- linux24-github--dotnet-and-mono
791+
- linux24-github--dotnet-and-newmono
792+
- linux24-vanilla--stockmono-only
793+
- linux24-vanilla--newmono-only
794+
- linux24-vanilla--stockdotnet6-only
795+
- linux24-vanilla--stockdotnet6-and-stockmono
796+
- linux24-vanilla--stockdotnet6-and-newmono
512797
- windows--dotnet6-and-legacyFramework
513798
- windows--legacyFramework-only
514799
- windows--dotnet6-only

0 commit comments

Comments
 (0)