diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 897ca100d61..d5d858a17d3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -259,6 +259,10 @@ jobs: env: PLATFORM: linux64 OPAMYES: 1 + strategy: + fail-fast: false + matrix: + ocaml: ["4.08.1", "5.0.0"] steps: - uses: actions/checkout@main with: @@ -269,7 +273,7 @@ jobs: uses: actions/cache@v3.0.11 with: path: ~/.opam/ - key: ${{ runner.os }}-${{ hashFiles('./haxe.opam', './libs/') }}-2 + key: ${{ runner.os }}-${{ matrix.ocaml }}-${{ hashFiles('./haxe.opam', './libs/') }} - name: Install Neko from S3 run: | @@ -303,6 +307,7 @@ jobs: set -ex opam init # --disable-sandboxing opam update + opam switch create ${{ matrix.ocaml }} opam pin add haxe . --no-action opam install haxe --deps-only --assume-depexts opam list @@ -343,11 +348,12 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v3 with: - name: linuxBinaries + name: linuxBinaries${{ (matrix.ocaml == '5.0.0' && '_ocaml5') || '' }} path: out - name: Upload xmldoc artifact uses: actions/upload-artifact@v3 + if: matrix.ocaml == '4.08.1' with: name: xmldoc path: extra/doc @@ -363,6 +369,7 @@ jobs: strategy: fail-fast: false matrix: + ocaml: ["4.08.1", "5.0.0"] target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, lua, flash, neko] include: - target: hl @@ -379,7 +386,7 @@ jobs: submodules: recursive - uses: actions/download-artifact@v3 with: - name: linuxBinaries + name: linuxBinaries${{ (matrix.ocaml == '5.0.0' && '_ocaml5') || '' }} path: linuxBinaries - name: Install Neko from S3 @@ -586,7 +593,7 @@ jobs: uses: actions/cache@v3.0.11 with: path: ~/.opam/ - key: ${{ runner.os }}-${{ hashFiles('./haxe.opam', './libs/') }}-2 + key: ${{ runner.os }}-${{ hashFiles('./haxe.opam', './libs/') }} - name: Install Neko from S3 run: | diff --git a/extra/github-actions/cache-opam-windows.yml b/extra/github-actions/cache-opam-windows.yml deleted file mode 100644 index 5270fbf1fed..00000000000 --- a/extra/github-actions/cache-opam-windows.yml +++ /dev/null @@ -1,6 +0,0 @@ -- name: Cache opam - id: cache-opam - uses: actions/cache@v3.0.11 - with: - path: D:\.opam - key: ${{ runner.os }}${{ env.ARCH }}-${{ hashFiles('./haxe.opam', './libs/') }} diff --git a/extra/github-actions/cache-opam.yml b/extra/github-actions/cache-opam.yml deleted file mode 100644 index faaee00b723..00000000000 --- a/extra/github-actions/cache-opam.yml +++ /dev/null @@ -1,6 +0,0 @@ -- name: Cache opam - id: cache-opam - uses: actions/cache@v3.0.11 - with: - path: ~/.opam/ - key: ${{ runner.os }}-${{ hashFiles('./haxe.opam', './libs/') }}-2 diff --git a/extra/github-actions/workflows/main.yml b/extra/github-actions/workflows/main.yml index 629d1bd640c..5dbff676142 100644 --- a/extra/github-actions/workflows/main.yml +++ b/extra/github-actions/workflows/main.yml @@ -57,12 +57,22 @@ jobs: env: PLATFORM: linux64 OPAMYES: 1 + strategy: + fail-fast: false + matrix: + ocaml: ["4.08.1", "5.0.0"] steps: - uses: actions/checkout@main with: submodules: recursive - @import cache-opam.yml + - name: Cache opam + id: cache-opam + uses: actions/cache@v3.0.11 + with: + path: ~/.opam/ + key: ${{ runner.os }}-${{ matrix.ocaml }}-${{ hashFiles('./haxe.opam', './libs/') }} + @import install-neko-unix.yml - name: Install dependencies @@ -79,6 +89,7 @@ jobs: set -ex opam init # --disable-sandboxing opam update + opam switch create ${{ matrix.ocaml }} opam pin add haxe . --no-action opam install haxe --deps-only --assume-depexts opam list @@ -119,11 +130,12 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v3 with: - name: linuxBinaries + name: linuxBinaries${{ (matrix.ocaml == '5.0.0' && '_ocaml5') || '' }} path: out - name: Upload xmldoc artifact uses: actions/upload-artifact@v3 + if: matrix.ocaml == '4.08.1' with: name: xmldoc path: extra/doc @@ -139,6 +151,7 @@ jobs: strategy: fail-fast: false matrix: + ocaml: ["4.08.1", "5.0.0"] target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, lua, flash, neko] include: - target: hl @@ -155,7 +168,7 @@ jobs: submodules: recursive - uses: actions/download-artifact@v3 with: - name: linuxBinaries + name: linuxBinaries${{ (matrix.ocaml == '5.0.0' && '_ocaml5') || '' }} path: linuxBinaries @import install-neko-unix.yml @@ -325,7 +338,13 @@ jobs: with: submodules: recursive - @import cache-opam.yml + - name: Cache opam + id: cache-opam + uses: actions/cache@v3.0.11 + with: + path: ~/.opam/ + key: ${{ runner.os }}-${{ hashFiles('./haxe.opam', './libs/') }} + @import install-neko-unix.yml @import build-mac.yml