DEV: Update CI workflows (#41)
Co-authored-by: discoursebuild <build@discourse.org>
This commit is contained in:
parent
7b3c12ae15
commit
3343c6b19f
|
@ -11,7 +11,29 @@ concurrency:
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
check:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
tests_exist: ${{ steps.check_tests.outputs.tests_exist }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install component
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
path: tmp/component
|
||||||
|
fetch-depth: 1
|
||||||
|
|
||||||
|
- name: Check QUnit existence
|
||||||
|
id: check_tests
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
if [ 0 -lt $(find tmp/component/test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
|
||||||
|
echo "::set-output name=tests_exist::true"
|
||||||
|
fi
|
||||||
|
|
||||||
|
test:
|
||||||
|
needs: check
|
||||||
|
if: ${{ needs.check.outputs.tests_exist }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: discourse/discourse_test:slim-browsers
|
container: discourse/discourse_test:slim-browsers
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
|
@ -117,18 +139,9 @@ jobs:
|
||||||
if: steps.app-cache.outputs.cache-hit != 'true'
|
if: steps.app-cache.outputs.cache-hit != 'true'
|
||||||
run: rm -rf tmp/app-cache/uploads && cp -r public/uploads tmp/app-cache/uploads
|
run: rm -rf tmp/app-cache/uploads && cp -r public/uploads tmp/app-cache/uploads
|
||||||
|
|
||||||
- name: Check QUnit existence
|
|
||||||
id: check_qunit
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
if [ 0 -lt $(find tmp/component/test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
|
|
||||||
echo "::set-output name=files_exist::true"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Component QUnit
|
- name: Component QUnit
|
||||||
if: steps.check_qunit.outputs.files_exist == 'true'
|
|
||||||
run: |
|
run: |
|
||||||
THEME_NAME=$(ruby -e 'require "json"; puts JSON.parse(File.read("tmp/component/about.json"))["name"]')
|
THEME_NAME=$(ruby -e 'require "json"; puts JSON.parse(File.read("tmp/component/about.json"))["name"]')
|
||||||
bundle exec rake themes:install -- "--{\"$THEME_NAME\": \"tmp/component\"}"
|
bundle exec rake themes:install -- "--{\"$THEME_NAME\": \"tmp/component\"}"
|
||||||
QUNIT_EMBER_CLI=1 UNICORN_TIMEOUT=120 bundle exec rake "themes:qunit[name,$THEME_NAME]"
|
UNICORN_TIMEOUT=120 bundle exec rake "themes:qunit[name,$THEME_NAME]"
|
||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
|
|
Loading…
Reference in New Issue