This is an automated email from the ASF dual-hosted git repository.

jonnybot pushed a commit to branch task/213-github-actions-for-ci
in repository https://gitbox.apache.org/repos/asf/groovy-geb.git

commit 1a1b89274a44b9a62a1d41c9e48744066d943a0d
Author: Jonny Carter <[email protected]>
AuthorDate: Thu Dec 5 15:50:03 2024 -0600

    Move workflows file and add many more workflows from CircleCI
---
 .github/workflows/check.yml          |  72 -------
 .github/workflows/test-workflows.yml | 362 +++++++++++++++++++++++++++++++++++
 2 files changed, 362 insertions(+), 72 deletions(-)

diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
deleted file mode 100644
index 396c408d..00000000
--- a/.github/workflows/check.yml
+++ /dev/null
@@ -1,72 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-name: CI
-
-on:
-  push:
-    branches:
-      - master
-      - task/213-github-actions-for-ci
-  pull_request:
-
-jobs:
-  check:
-    runs-on: ubuntu-latest
-    container:
-      image: eclipse-temurin:21-jdk
-    env:
-      GRADLE_OPTS: -Xmx1024m -XX:MaxMetaspaceSize=256m
-      GRADLE_USER_HOME: .gradle-home
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v4
-
-      - name: Restore Gradle cache
-        uses: actions/cache@v4
-        with:
-          path: .gradle-home
-          key: gradle-home-check-${{ github.ref }}
-          restore-keys: |
-            gradle-home-check-${{ github.ref }}
-            gradle-home-check-master
-            gradle-home-check
-
-      - name: Run Gradle tasks
-        run: ./gradlew --no-daemon --max-workers 4 --parallel -Pci 
module:check internal:check integration:check doc:site:check --continue
-
-      - name: Copy all test results to a directory
-        run: |
-          mkdir -p ~/test-results/junit/
-          find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} 
~/test-results/junit/ \;
-
-      - name: Store test results
-        if: success() || failure()
-        uses: actions/upload-artifact@v4
-        with:
-          name: test-results
-          path: ~/test-results/
-
-      - name: Store build reports
-        uses: actions/upload-artifact@v4
-        with:
-          name: build-reports
-          path: build/reports
-
-      - name: Save Gradle cache
-        uses: actions/cache@v4
-        with:
-          path: .gradle-home
-          key: gradle-home-check-${{ github.ref }}-${{ github.run_id }}
diff --git a/.github/workflows/test-workflows.yml 
b/.github/workflows/test-workflows.yml
new file mode 100644
index 00000000..82211204
--- /dev/null
+++ b/.github/workflows/test-workflows.yml
@@ -0,0 +1,362 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: CI
+
+on:
+  push:
+    branches:
+      - master
+      - task/213-github-actions-for-ci
+  pull_request:
+
+jobs:
+  check:
+    runs-on: ubuntu-latest
+    container:
+      image: eclipse-temurin:21-jdk
+    env:
+      GRADLE_OPTS: -Xmx1024m -XX:MaxMetaspaceSize=256m
+      GRADLE_USER_HOME: .gradle-home
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Restore Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-check-${{ github.ref }}
+          restore-keys: |
+            gradle-home-check-${{ github.ref }}
+            gradle-home-check-master
+            gradle-home-check
+
+      - name: Run Gradle tasks
+        run: ./gradlew --no-daemon --max-workers 4 --parallel -Pci 
module:check internal:check integration:check doc:site:check --continue
+
+      - name: Copy all test results to a directory
+        run: |
+          mkdir -p ~/test-results/junit/
+          find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} 
~/test-results/junit/ \;
+
+      - name: Store test results
+        if: success() || failure()
+        uses: actions/upload-artifact@v4
+        with:
+          name: test-results
+          path: ~/test-results/
+
+      - name: Store build reports
+        uses: actions/upload-artifact@v4
+        with:
+          name: build-reports
+          path: build/reports
+
+      - name: Save Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-check-${{ github.ref }}-${{ github.run_id }}
+  dockerised-cross-browser:
+    runs-on: ubuntu-latest
+    container:
+      image: eclipse-temurin:21-jdk
+    env:
+      GRADLE_OPTS: -Xmx1024m -XX:MaxMetaspaceSize=256m
+      GRADLE_USER_HOME: .gradle-home
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Setup Docker
+        uses: docker/setup-buildx-action@v4
+
+      - name: Restore Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-dockerised-crossbrowser-${{ github.ref }}
+          restore-keys: |
+            gradle-home-dockerised-crossbrowser-${{ github.ref }}
+            gradle-home-dockerised-crossbrowser-master
+            gradle-home-dockerised-crossbrowser
+
+      - name: Run Gradle tasks
+        run: ./gradlew --no-daemon --max-workers 4 --parallel -Pci 
allDockerisedCrossBrowserTests
+
+      - name: Copy all test results to a directory
+        run: |
+          mkdir -p ~/test-results/junit/
+          find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} 
~/test-results/junit/ \;
+
+      - name: Store test results
+        if: success() || failure()
+        uses: actions/upload-artifact@v4
+        with:
+          name: test-results
+          path: ~/test-results/
+
+      - name: Store build reports
+        uses: actions/upload-artifact@v4
+        with:
+          name: build-reports
+          path: build/reports
+
+      - name: Save Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-dockerised-crossbrowser-${{ github.ref }}-${{ 
github.run_id }}
+  manual:
+    runs-on: ubuntu-latest
+    container:
+      image: selenium/standalone-firefox
+    env:
+      GRADLE_OPTS: -Xmx1024m -XX:MaxMetaspaceSize=256m
+      GRADLE_USER_HOME: .gradle-home
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Setup Docker
+        uses: docker/setup-buildx-action@v4
+
+      - name: Restore Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-manual-machine-${{ github.ref }}
+          restore-keys: |
+            gradle-home-manual-machine-${{ github.ref }}
+            gradle-home-manual-machine-master
+            gradle-home-manual-machine
+
+      - name: Run Gradle tasks
+        run: |
+          Xvfb :99 -screen 1 1280x1024x16 -nolisten tcp > /dev/null 2>&1 &
+          ./gradlew --no-daemon --max-workers 4 --parallel -Pci 
:doc:manual-snippets:check :doc:manual-snippets:fixtures:check 
:doc:manual-snippets:real-browser:check :doc:manual:build 
:doc:asciidoctor-extension:check
+
+      - name: Copy all test results to a directory
+        run: |
+          mkdir -p ~/test-results/junit/
+          find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} 
~/test-results/junit/ \;
+
+      - name: Store test results
+        if: success() || failure()
+        uses: actions/upload-artifact@v4
+        with:
+          name: test-results
+          path: ~/test-results/
+
+      - name: Store build reports
+        uses: actions/upload-artifact@v4
+        with:
+          name: build-reports
+          path: build/reports
+
+      - name: Save Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-manual-machine-${{ github.ref }}-${{ github.run_id 
}}
+  local-cross-browser:
+    runs-on: ubuntu-latest
+    container:
+      image: selenium/standalone-chromium
+    env:
+      GRADLE_OPTS: -Xmx1024m -XX:MaxMetaspaceSize=256m
+      GRADLE_USER_HOME: .gradle-home
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Restore Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-local-crossbrowser-${{ github.ref }}
+          restore-keys: |
+            gradle-home-local-crossbrowser-${{ github.ref }}
+            gradle-home-local-crossbrowser-master
+            gradle-home-local-crossbrowser
+
+      - name: Run Gradle tasks
+        run: ./gradlew --no-daemon --max-workers 4 --parallel -p module -Pci 
localChromeTest
+
+      - name: Copy all test results to a directory
+        run: |
+          mkdir -p ~/test-results/junit/
+          find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} 
~/test-results/junit/ \;
+
+      - name: Store test results
+        if: success() || failure()
+        uses: actions/upload-artifact@v4
+        with:
+          name: test-results
+          path: ~/test-results/
+
+      - name: Store build reports
+        uses: actions/upload-artifact@v4
+        with:
+          name: build-reports
+          path: build/reports
+
+      - name: Save Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-local-crossbrowser-${{ github.ref }}-${{ 
github.run_id }}
+    saucelabs:
+      runs-on: ubuntu-latest
+      container:
+        image: eclipse-temurin:21-jdk
+      env:
+        GRADLE_OPTS: -Xmx1024m -XX:MaxMetaspaceSize=256m
+        GRADLE_USER_HOME: .gradle-home
+      steps:
+        - name: Checkout code
+          uses: actions/checkout@v4
+
+        - name: Restore Gradle cache
+          uses: actions/cache@v4
+          with:
+            path: .gradle-home
+            key: gradle-home-saucelabs-${{ github.ref }}
+            restore-keys: |
+              gradle-home-saucelabs-${{ github.ref }}
+              gradle-home-saucelabs-master
+              gradle-home-saucelabs
+
+        - name: Run Gradle tasks
+          run: ./gradlew --no-daemon -Pci --max-workers 5 --parallel 
allSauceLabsTests
+
+        - name: Copy all test results to a directory
+          run: |
+            mkdir -p ~/test-results/junit/
+            find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} 
~/test-results/junit/ \;
+
+        - name: Store test results
+          if: success() || failure()
+          uses: actions/upload-artifact@v4
+          with:
+            name: test-results
+            path: ~/test-results/
+
+        - name: Store build reports
+          uses: actions/upload-artifact@v4
+          with:
+            name: build-reports
+            path: build/reports
+
+        - name: Save Gradle cache
+          uses: actions/cache@v4
+          with:
+            path: .gradle-home
+            key: gradle-home-saucelabs-${{ github.ref }}-${{ github.run_id }}
+  non-ie:
+    runs-on: ubuntu-latest
+    container:
+      image: eclipse-temurin:21-jdk
+    env:
+      GRADLE_OPTS: -Xmx1024m -XX:MaxMetaspaceSize=256m
+      GRADLE_USER_HOME: .gradle-home
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Restore Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-non-ie-${{ github.ref }}
+          restore-keys: |
+            gradle-home-non-ie-${{ github.ref }}
+            gradle-home-non-ie-master
+            gradle-home-non-ie
+
+      - name: Run Gradle tasks
+        run: ./gradlew --no-daemon -Pci --max-workers 5 --parallel 
nonIeBrowserStackTests
+
+      - name: Copy all test results to a directory
+        run: |
+          mkdir -p ~/test-results/junit/
+          find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} 
~/test-results/junit/ \;
+
+      - name: Store test results
+        if: success() || failure()
+        uses: actions/upload-artifact@v4
+        with:
+          name: test-results
+          path: ~/test-results/
+
+      - name: Store build reports
+        uses: actions/upload-artifact@v4
+        with:
+          name: build-reports
+          path: build/reports
+
+      - name: Save Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-non-ie-${{ github.ref }}-${{ github.run_id }}
+  ie:
+    runs-on: ubuntu-latest
+    container:
+      image: eclipse-temurin:21-jdk
+    env:
+      GRADLE_OPTS: -Xmx1024m -XX:MaxMetaspaceSize=256m
+      GRADLE_USER_HOME: .gradle-home
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Restore Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-ie-${{ github.ref }}
+          restore-keys: |
+            gradle-home-ie-${{ github.ref }}
+            gradle-home-ie-master
+            gradle-home-ie
+
+      - name: Run Gradle tasks
+        run: ./gradlew --no-daemon -Pci --max-workers 5 --parallel 
ieBrowserStackTests
+
+      - name: Copy all test results to a directory
+        run: |
+          mkdir -p ~/test-results/junit/
+          find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} 
~/test-results/junit/ \;
+
+      - name: Store test results
+        if: success() || failure()
+        uses: actions/upload-artifact@v4
+        with:
+          name: test-results
+          path: ~/test-results/
+
+      - name: Store build reports
+        uses: actions/upload-artifact@v4
+        with:
+          name: build-reports
+          path: build/reports
+
+      - name: Save Gradle cache
+        uses: actions/cache@v4
+        with:
+          path: .gradle-home
+          key: gradle-home-ie-${{ github.ref }}-${{ github.run_id }}

Reply via email to