]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Split GitHub Actions.
authorXhmikosR <xhmikosr@gmail.com>
Fri, 12 Jun 2020 18:12:53 +0000 (21:12 +0300)
committerXhmikosR <xhmikosr@gmail.com>
Wed, 24 Jun 2020 12:16:58 +0000 (15:16 +0300)
.github/workflows/browserstack.yml [new file with mode: 0644]
.github/workflows/bundlewatch.yml [new file with mode: 0644]
.github/workflows/css.yml [new file with mode: 0644]
.github/workflows/dart-sass.yml [new file with mode: 0644]
.github/workflows/docs.yml [new file with mode: 0644]
.github/workflows/js.yml [new file with mode: 0644]
.github/workflows/lint.yml [new file with mode: 0644]
.github/workflows/test.yml [deleted file]
README.md

diff --git a/.github/workflows/browserstack.yml b/.github/workflows/browserstack.yml
new file mode 100644 (file)
index 0000000..f709b98
--- /dev/null
@@ -0,0 +1,40 @@
+name: BrowserStack
+on: [push]
+env:
+  CI: true
+  NODE: 12.x
+
+jobs:
+  browserstack:
+    runs-on: ubuntu-latest
+    if: github.repository == 'twbs/bootstrap'
+
+    steps:
+      - name: Clone repository
+        uses: actions/checkout@v2
+
+      - name: Set Node.js version
+        uses: actions/setup-node@v1
+        with:
+          node-version: "${{ env.NODE }}"
+
+      - name: Set up npm cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+          restore-keys: |
+            ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+            ${{ runner.OS }}-node-v${{ env.NODE }}-
+
+      - name: Install npm dependencies
+        run: npm ci
+
+      - name: Run dist
+        run: npm run dist
+
+      - name: Run BrowserStack tests
+        run: npm run js-test-cloud
+        env:
+          BROWSER_STACK_ACCESS_KEY: "${{ secrets.BROWSER_STACK_ACCESS_KEY }}"
+          BROWSER_STACK_USERNAME: "${{ secrets.BROWSER_STACK_USERNAME }}"
diff --git a/.github/workflows/bundlewatch.yml b/.github/workflows/bundlewatch.yml
new file mode 100644 (file)
index 0000000..1e68223
--- /dev/null
@@ -0,0 +1,39 @@
+name: Bundlewatch
+on: [push, pull_request]
+env:
+  CI: true
+  NODE: 12.x
+
+jobs:
+  bundlewatch:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Clone repository
+        uses: actions/checkout@v2
+
+      - name: Set Node.js version
+        uses: actions/setup-node@v1
+        with:
+          node-version: "${{ env.NODE }}"
+
+      - name: Set up npm cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+          restore-keys: |
+            ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+            ${{ runner.OS }}-node-v${{ env.NODE }}-
+
+      - name: Install npm dependencies
+        run: npm ci
+
+      - name: Run dist
+        run: npm run dist
+
+      - name: Run bundlewatch
+        run: npm run bundlewatch
+        env:
+          BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}"
+          CI_BRANCH_BASE: v4-dev
diff --git a/.github/workflows/css.yml b/.github/workflows/css.yml
new file mode 100644 (file)
index 0000000..390bffc
--- /dev/null
@@ -0,0 +1,33 @@
+name: CSS
+on: [push, pull_request]
+env:
+  CI: true
+  NODE: 12.x
+
+jobs:
+  css:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Clone repository
+        uses: actions/checkout@v2
+
+      - name: Set Node.js version
+        uses: actions/setup-node@v1
+        with:
+          node-version: "${{ env.NODE }}"
+
+      - name: Set up npm cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+          restore-keys: |
+            ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+            ${{ runner.OS }}-node-v${{ env.NODE }}-
+
+      - name: Install npm dependencies
+        run: npm ci
+
+      - name: Build CSS
+        run: npm run css
diff --git a/.github/workflows/dart-sass.yml b/.github/workflows/dart-sass.yml
new file mode 100644 (file)
index 0000000..8482a15
--- /dev/null
@@ -0,0 +1,24 @@
+name: CSS (Dart Sass)
+on: [push, pull_request]
+env:
+  CI: true
+  NODE: 12.x
+
+jobs:
+  css:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Clone repository
+        uses: actions/checkout@v2
+
+      - name: Set Node.js version
+        uses: actions/setup-node@v1
+        with:
+          node-version: "${{ env.NODE }}"
+
+      - name: Build CSS with Dart Sass
+        run: |
+          npx --package sass@latest sass --version
+          npx --package sass@latest sass --style expanded --source-map --embed-sources --no-error-css scss/:dist-sass/css/
+          ls -Al dist-sass/css
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644 (file)
index 0000000..5c7ef45
--- /dev/null
@@ -0,0 +1,65 @@
+name: Docs
+on: [push, pull_request]
+env:
+  CI: true
+  NODE: 12.x
+  RUBY: 2.6.x
+
+jobs:
+  docs:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Clone repository
+        uses: actions/checkout@v2
+
+      - name: Set Node.js version
+        uses: actions/setup-node@v1
+        with:
+          node-version: "${{ env.NODE }}"
+
+      - name: Set up Ruby
+        uses: actions/setup-ruby@v1
+        with:
+          ruby-version: ${{ env.RUBY }}
+
+      - name: Disable gem docs
+        run: 'echo "gem: --no-document" > ~/.gemrc'
+
+      - name: Set up Ruby cache
+        uses: actions/cache@v2
+        with:
+          path: vendor/bundle
+          key: ${{ runner.os }}-ruby-v${{ env.RUBY }}-${{ hashFiles('Gemfile') }}-${{ hashFiles('Gemfile.lock') }}
+          restore-keys: |
+            ${{ runner.os }}-ruby-v${{ env.RUBY }}-${{ hashFiles('Gemfile') }}-${{ hashFiles('Gemfile.lock') }}
+            ${{ runner.os }}-ruby-v${{ env.RUBY }}-
+
+      - name: Set up npm cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+          restore-keys: |
+            ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+            ${{ runner.OS }}-node-v${{ env.NODE }}-
+
+      - name: Set up Bundler
+        run: gem install bundler -v "~> 1.17"
+
+      - run: ruby --version
+      - run: gem --version
+      - run: bundle --version
+      - run: java -version
+
+      - name: Install npm dependencies
+        run: npm ci
+
+      - name: Install bundler dependencies
+        run: bundle install --deployment --jobs=4 --retry=3 --clean
+
+      - name: Copy CSS and JS
+        run: npm run css-copy && npm run js-copy
+
+      - name: Test docs
+        run: npm run docs
diff --git a/.github/workflows/js.yml b/.github/workflows/js.yml
new file mode 100644 (file)
index 0000000..543172c
--- /dev/null
@@ -0,0 +1,48 @@
+name: JS Tests
+on: [push, pull_request]
+env:
+  CI: true
+
+jobs:
+  run:
+    name: Node ${{ matrix.node }}
+    runs-on: ubuntu-latest
+
+    strategy:
+      fail-fast: false
+      matrix:
+        node: [10, 12]
+
+    steps:
+      - name: Clone repository
+        uses: actions/checkout@v2
+
+      - name: Set Node.js version
+        uses: actions/setup-node@v1
+        with:
+          node-version: ${{ matrix.node }}
+
+      - name: Set up npm cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-node-v${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}}
+          restore-keys: |
+            ${{ runner.OS }}-node-v${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+            ${{ runner.OS }}-node-v${{ matrix.node }}-
+
+      - name: Install npm dependencies
+        run: npm ci
+
+      - name: Run dist
+        run: npm run js
+
+      - name: Run JS tests
+        run: npm run js-test
+
+      - name: Run Coveralls
+        uses: coverallsapp/github-action@master
+        if: matrix.node == 12
+        with:
+          github-token: "${{ secrets.GITHUB_TOKEN }}"
+          path-to-lcov: "./js/coverage/lcov.info"
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644 (file)
index 0000000..f3d00d6
--- /dev/null
@@ -0,0 +1,33 @@
+name: Lint
+on: [push, pull_request]
+env:
+  CI: true
+  NODE: 12.x
+
+jobs:
+  lint:
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Clone repository
+        uses: actions/checkout@v2
+
+      - name: Set Node.js version
+        uses: actions/setup-node@v1
+        with:
+          node-version: "${{ env.NODE }}"
+
+      - name: Set up npm cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+          restore-keys: |
+            ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
+            ${{ runner.OS }}-node-v${{ env.NODE }}-
+
+      - name: Install npm dependencies
+        run: npm ci
+
+      - name: Lint
+        run: npm run lint
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
deleted file mode 100644 (file)
index c371f24..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-name: Tests
-on: [push, pull_request]
-env:
-  CI: true
-
-jobs:
-  run:
-    name: Node ${{ matrix.node }}
-    runs-on: ubuntu-latest
-
-    strategy:
-      fail-fast: false
-      matrix:
-        node: [10, 12]
-        ruby: [2.6.x]
-
-    steps:
-      - name: Clone repository
-        uses: actions/checkout@v2
-
-      - name: Set Node.js version
-        uses: actions/setup-node@v1
-        with:
-          node-version: ${{ matrix.node }}
-
-      - name: Set up Ruby
-        uses: actions/setup-ruby@v1
-        with:
-          ruby-version: ${{ matrix.ruby }}
-
-      - name: Disable gem docs
-        run: 'echo "gem: --no-document" > ~/.gemrc'
-
-      - name: Set up Ruby cache
-        uses: actions/cache@v2
-        with:
-          path: vendor/bundle
-          key: ${{ runner.os }}-ruby-v${{ matrix.ruby }}-${{ hashFiles('Gemfile') }}-${{ hashFiles('Gemfile.lock') }}
-          restore-keys: |
-            ${{ runner.os }}-ruby-v${{ matrix.ruby }}-${{ hashFiles('Gemfile') }}-${{ hashFiles('Gemfile.lock') }}
-            ${{ runner.os }}-ruby-v${{ matrix.ruby }}-
-
-      - name: Set up npm cache
-        uses: actions/cache@v2
-        with:
-          path: ~/.npm
-          key: ${{ runner.os }}-node-v${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
-          restore-keys: |
-            ${{ runner.OS }}-node-v${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
-            ${{ runner.OS }}-node-v${{ matrix.node }}-
-
-      - name: Set up Bundler
-        run: gem install bundler -v "~> 1.17"
-
-      - run: ruby --version
-      - run: gem --version
-      - run: bundle --version
-      - run: java -version
-
-      - name: Install npm dependencies
-        run: npm ci
-
-      - name: Install bundler dependencies
-        run: bundle install --deployment --jobs=4 --retry=3 --clean
-
-      - name: Run tests
-        run: npm test
-
-      - name: Run bundlewatch
-        run: npm run bundlewatch
-        if: matrix.node == 10
-        env:
-          BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}"
-          CI_BRANCH_BASE: v4-dev
-
-      - name: Run BrowserStack tests
-        run: npm run js-test-cloud
-        if: matrix.node == 10 && github.repository == 'twbs/bootstrap' && github.event_name == 'push'
-        env:
-          BROWSER_STACK_ACCESS_KEY: "${{ secrets.BROWSER_STACK_ACCESS_KEY }}"
-          BROWSER_STACK_USERNAME: "${{ secrets.BROWSER_STACK_USERNAME }}"
-
-      - name: Run Coveralls
-        uses: coverallsapp/github-action@master
-        if: matrix.node == 10
-        with:
-          github-token: "${{ secrets.GITHUB_TOKEN }}"
-          path-to-lcov: "./js/coverage/lcov.info"
index 36beccd3f3f1baa9ec61c6900065f6c203c5f5ce..02f7db0968cdc417402f7bc1518f6fc2a3ab0d42 100644 (file)
--- a/README.md
+++ b/README.md
@@ -54,7 +54,7 @@ Read the [Getting started page](https://getbootstrap.com/docs/4.5/getting-starte
 ## Status
 
 [![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com/)
-[![Build Status](https://github.com/twbs/bootstrap/workflows/Tests/badge.svg?branch=v4-dev)](https://github.com/twbs/bootstrap/actions?query=workflow%3ATests+branch%3Av4-dev)
+[![Build Status](https://github.com/twbs/bootstrap/workflows/JS%20Tests/badge.svg?branch=v4-dev)](https://github.com/twbs/bootstrap/actions?query=workflow%3AJS+Tests+branch%3Av4-dev)
 [![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap)
 [![Gem version](https://img.shields.io/gem/v/bootstrap.svg)](https://rubygems.org/gems/bootstrap)
 [![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue.svg)](https://atmospherejs.com/twbs/bootstrap)