Everything should be faster now. Also, we can restart a failed workflow and not the whole thing like before.
--- /dev/null
+name: BrowserStack
+on: [push]
+env:
+ CI: true
+ NODE: 10.x
+
+jobs:
+ browserstack:
+ 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') }}-${{ hashFiles('.github/workflows/browserstack.yml') }}
+ restore-keys: |
+ ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}-${{ hashFiles('.github/workflows/browserstack.yml') }}
+ ${{ 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 }}"
--- /dev/null
+name: Bundlewatch
+on: [push, pull_request]
+env:
+ CI: true
+ NODE: 10.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') }}-${{ hashFiles('.github/workflows/bundlesize.yml') }}
+ restore-keys: |
+ ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}-${{ hashFiles('.github/workflows/bundlesize.yml') }}
+ ${{ 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 }}"
--- /dev/null
+name: CSS
+on: [push, pull_request]
+env:
+ CI: true
+ NODE: 10.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') }}-${{ hashFiles('.github/workflows/css.yml') }}
+ restore-keys: |
+ ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}-${{ hashFiles('.github/workflows/css.yml') }}
+ ${{ runner.OS }}-node-v${{ env.NODE }}-
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Build CSS
+ run: npm run css
--- /dev/null
+name: Docs
+on: [push, pull_request]
+env:
+ CI: true
+ NODE: 10.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 }}"
+
+ - run: java -version
+
+ - 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') }}-${{ hashFiles('.github/workflows/docs.yml') }}
+ restore-keys: |
+ ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}-${{ hashFiles('.github/workflows/docs.yml') }}
+ ${{ runner.OS }}-node-v${{ env.NODE }}-
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Test docs
+ run: npm run docs
-name: Tests
+name: JS Tests
on: [push, pull_request]
env:
CI: true
with:
node-version: ${{ matrix.node }}
- - run: java -version
-
- name: Set up npm cache
uses: actions/cache@v2
with:
- name: Install npm dependencies
run: npm ci
- - name: Run tests
- run: npm test
+ - name: Run dist
+ run: npm run js
- - name: Run bundlewatch
- run: npm run bundlewatch
- if: matrix.node == 10
- env:
- BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}"
-
- - 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 JS tests
+ run: npm run js-test
- name: Run Coveralls
uses: coverallsapp/github-action@master
--- /dev/null
+name: Lint
+on: [push, pull_request]
+env:
+ CI: true
+ NODE: 10.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') }}-${{ hashFiles('.github/workflows/lint.yml') }}
+ restore-keys: |
+ ${{ runner.OS }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}-${{ hashFiles('.github/workflows/lint.yml') }}
+ ${{ runner.OS }}-node-v${{ env.NODE }}-
+
+ - name: Install npm dependencies
+ run: npm ci
+
+ - name: Lint CSS and JS
+ run: npm run lint
## Status
[](https://bootstrap-slack.herokuapp.com/)
-[](https://github.com/twbs/bootstrap/actions?query=workflow%3ATests+branch%3Amaster)
+[](https://github.com/twbs/bootstrap/actions?query=workflow%3AJS+Tests+branch%3Amaster)
[](https://www.npmjs.com/package/bootstrap)
[](https://rubygems.org/gems/bootstrap)
[](https://atmospherejs.com/twbs/bootstrap)