Make workflow more granular
This commit is contained in:
parent
901ba0b896
commit
2d877c8557
10 changed files with 323 additions and 253 deletions
253
.github/workflows/full_build.yml
vendored
253
.github/workflows/full_build.yml
vendored
|
@ -1,253 +0,0 @@
|
||||||
name: Houdini build
|
|
||||||
on: [push, pull_request]
|
|
||||||
jobs:
|
|
||||||
install_gems:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
node: [14.6.0]
|
|
||||||
ruby: [2.6.6]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up Ruby
|
|
||||||
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
||||||
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
||||||
# uses: ruby/setup-ruby@v1
|
|
||||||
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Gem cache
|
|
||||||
with:
|
|
||||||
path: vendor/bundle
|
|
||||||
key: bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-
|
|
||||||
- name: bundle install
|
|
||||||
run: |
|
|
||||||
bundle config deployment true
|
|
||||||
bundle config path vendor/bundle
|
|
||||||
bundle install --jobs 4
|
|
||||||
install_yarn:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
node: [14.6.0]
|
|
||||||
ruby: [2.6.6]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Setup Node.js environment
|
|
||||||
uses: actions/setup-node@v1.4.2
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Node package cache
|
|
||||||
with:
|
|
||||||
path: node_modules
|
|
||||||
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
|
||||||
- name: install node packages
|
|
||||||
run: yarn install --frozen-lockfile
|
|
||||||
|
|
||||||
notice_ruby:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
node: [14.6.0]
|
|
||||||
ruby: [2.6.6]
|
|
||||||
needs: ['install_gems']
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up Ruby
|
|
||||||
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
||||||
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
||||||
# uses: ruby/setup-ruby@v1
|
|
||||||
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Gem cache
|
|
||||||
with:
|
|
||||||
path: vendor/bundle
|
|
||||||
key: bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-
|
|
||||||
- name: bundle setup
|
|
||||||
run: |
|
|
||||||
bundle config deployment true
|
|
||||||
bundle config path vendor/bundle
|
|
||||||
- name: run notice:ruby:verify
|
|
||||||
run: |
|
|
||||||
bin/rails notice:ruby:verify
|
|
||||||
notice_js:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
node: [14.6.0]
|
|
||||||
ruby: [2.6.6]
|
|
||||||
needs: ['install_gems', 'install_yarn']
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up Ruby
|
|
||||||
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
||||||
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
||||||
# uses: ruby/setup-ruby@v1
|
|
||||||
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
|
||||||
- name: Setup Node.js environment
|
|
||||||
uses: actions/setup-node@v1.4.2
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Node package cache
|
|
||||||
with:
|
|
||||||
path: node_modules
|
|
||||||
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Gem cache
|
|
||||||
with:
|
|
||||||
path: vendor/bundle
|
|
||||||
key: bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-
|
|
||||||
- name: bundle setup
|
|
||||||
run: |
|
|
||||||
bundle config deployment true
|
|
||||||
bundle config path vendor/bundle
|
|
||||||
- name: run notice:js:verify
|
|
||||||
run: |
|
|
||||||
bin/rails notice:js:verify
|
|
||||||
jest:
|
|
||||||
needs: ['install_yarn']
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
node: [14.6.0]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Setup Node.js environment
|
|
||||||
uses: actions/setup-node@v1.4.2
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Node package cache
|
|
||||||
with:
|
|
||||||
path: node_modules
|
|
||||||
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
|
||||||
- name: run jest
|
|
||||||
run: yarn jest
|
|
||||||
lint:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
node: [14.6.0]
|
|
||||||
needs: ['install_yarn']
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Setup Node.js environment
|
|
||||||
uses: actions/setup-node@v1.4.2
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Node package cache
|
|
||||||
with:
|
|
||||||
path: node_modules
|
|
||||||
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
|
||||||
- name: run yarn eslint
|
|
||||||
run: |
|
|
||||||
yarn eslint
|
|
||||||
- name: run yarn markdownlint
|
|
||||||
run: |
|
|
||||||
yarn markdownlint
|
|
||||||
main_build:
|
|
||||||
needs: ['install_yarn', 'install_gems']
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
node: [14.6.0]
|
|
||||||
ruby: [2.6.6]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Setup PostgreSQL with PostgreSQL extensions and unprivileged user
|
|
||||||
uses: Daniel-Marynicz/postgresql-action@0.1.0
|
|
||||||
with:
|
|
||||||
postgres_image_tag: 12-alpine
|
|
||||||
postgres_user: houdini_user
|
|
||||||
postgres_password: password
|
|
||||||
- name: Set up Ruby
|
|
||||||
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
||||||
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
||||||
# uses: ruby/setup-ruby@v1
|
|
||||||
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
|
||||||
- name: Setup Node.js environment
|
|
||||||
uses: actions/setup-node@v1.4.2
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Gem cache
|
|
||||||
with:
|
|
||||||
path: vendor/bundle
|
|
||||||
key: bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-
|
|
||||||
- name: bundle setup
|
|
||||||
run: |
|
|
||||||
bundle config deployment true
|
|
||||||
bundle config path vendor/bundle
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Node package cache
|
|
||||||
with:
|
|
||||||
path: node_modules
|
|
||||||
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
|
||||||
- name: run setup
|
|
||||||
run: bin/setup ci
|
|
||||||
- name: run spec
|
|
||||||
run: bin/rails spec
|
|
||||||
webpack:
|
|
||||||
needs: ['install_yarn', 'install_gems']
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest]
|
|
||||||
node: [14.6.0]
|
|
||||||
ruby: [2.6.6]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Setup PostgreSQL with PostgreSQL extensions and unprivileged user
|
|
||||||
uses: Daniel-Marynicz/postgresql-action@0.1.0
|
|
||||||
with:
|
|
||||||
postgres_image_tag: 11-alpine
|
|
||||||
postgres_user: houdini_user
|
|
||||||
postgres_password: password
|
|
||||||
- name: Set up Ruby
|
|
||||||
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
||||||
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
||||||
# uses: ruby/setup-ruby@v1
|
|
||||||
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
|
||||||
- name: Setup Node.js environment
|
|
||||||
uses: actions/setup-node@v1.4.2
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Gem cache
|
|
||||||
with:
|
|
||||||
path: vendor/bundle
|
|
||||||
key: bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-
|
|
||||||
- name: bundle setup
|
|
||||||
run: |
|
|
||||||
bundle config deployment true
|
|
||||||
bundle config path vendor/bundle
|
|
||||||
- uses: actions/cache@v1
|
|
||||||
name: Use Node package cache
|
|
||||||
with:
|
|
||||||
path: node_modules
|
|
||||||
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
|
||||||
restore-keys: |
|
|
||||||
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
|
||||||
- name: run setup
|
|
||||||
run: bin/setup ci
|
|
||||||
- name: Webpack compile everything
|
|
||||||
run: bin/webpack
|
|
||||||
- name: Verify storybook compiles
|
|
||||||
run: npm run build-storybook
|
|
102
.github/workflows/js.yml
vendored
Normal file
102
.github/workflows/js.yml
vendored
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
# License: LGPL-3.0-or-later
|
||||||
|
name: Javascript build and test
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths-ignore:
|
||||||
|
- "**.md"
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- "**.md"
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
node: [14.6.0]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v1.4.2
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node }}
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
name: Use Node package cache
|
||||||
|
with:
|
||||||
|
path: node_modules
|
||||||
|
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
||||||
|
restore-keys: |
|
||||||
|
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
||||||
|
- run: yarn install --frozen-lockfile
|
||||||
|
- name: run eslint
|
||||||
|
run: yarn eslint
|
||||||
|
jest:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
node: [14.6.0]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v1.4.2
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node }}
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
name: Use Node package cache
|
||||||
|
with:
|
||||||
|
path: node_modules
|
||||||
|
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
||||||
|
restore-keys: |
|
||||||
|
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
||||||
|
- run: yarn install --frozen-lockfile
|
||||||
|
- name: run jest
|
||||||
|
run: yarn jest
|
||||||
|
webpack:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
node: [14.6.0]
|
||||||
|
ruby: [2.6.6]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup PostgreSQL with PostgreSQL extensions and unprivileged user
|
||||||
|
uses: Daniel-Marynicz/postgresql-action@0.1.0
|
||||||
|
with:
|
||||||
|
postgres_image_tag: 11-alpine
|
||||||
|
postgres_user: houdini_user
|
||||||
|
postgres_password: password
|
||||||
|
- uses: actions/setup-node@v1.4.2
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node }}
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
name: Use Node package cache
|
||||||
|
with:
|
||||||
|
path: node_modules
|
||||||
|
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
||||||
|
restore-keys: |
|
||||||
|
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
||||||
|
- run: yarn install --frozen-lockfile
|
||||||
|
- uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
||||||
|
with:
|
||||||
|
ruby-version: ${{ matrix.ruby }}
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
name: Use Gem cache
|
||||||
|
with:
|
||||||
|
path: vendor/bundle
|
||||||
|
key: bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-
|
||||||
|
- run: |
|
||||||
|
bundle config deployment true
|
||||||
|
bundle config path vendor/bundle
|
||||||
|
bundle install --jobs 4
|
||||||
|
- name: run setup
|
||||||
|
run: bin/setup ci
|
||||||
|
- name: Webpack compile everything
|
||||||
|
run: bin/webpack
|
||||||
|
- name: Verify storybook compiles
|
||||||
|
run: yarn build-storybook
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
35
.github/workflows/js_placeholder.yml
vendored
Normal file
35
.github/workflows/js_placeholder.yml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# License: LGPL-3.0-or-later
|
||||||
|
# These jobs must pass even on builds where it shouldn't run
|
||||||
|
# We address this by making a placeholder action
|
||||||
|
name: Placeholder for Javascript build and test
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
node: [14.6.0]
|
||||||
|
steps:
|
||||||
|
- run: 'echo "Placeholder for lint"'
|
||||||
|
jest:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
node: [14.6.0]
|
||||||
|
steps:
|
||||||
|
- run: 'echo "Placeholder for jest"'
|
||||||
|
webpack:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
node: [14.6.0]
|
||||||
|
ruby: [2.6.6]
|
||||||
|
steps:
|
||||||
|
- run: 'echo "Placeholder for webpack"'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
18
.github/workflows/markdown.yml
vendored
Normal file
18
.github/workflows/markdown.yml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# License: LGPL-3.0-or-later
|
||||||
|
name: Markdown lint
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths: ["**.md"]
|
||||||
|
pull_request:
|
||||||
|
paths: ["**.md"]
|
||||||
|
jobs:
|
||||||
|
markdownlint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup Node.js environment
|
||||||
|
uses: actions/setup-node@v1.4.2
|
||||||
|
with:
|
||||||
|
node-version: 14.6.0
|
||||||
|
- name: lint Markdown
|
||||||
|
run: yarn markdownlint
|
33
.github/workflows/notice_js.yml
vendored
Normal file
33
.github/workflows/notice_js.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
# License: LGPL-3.0-or-later
|
||||||
|
name: NOTICE-js verification
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- yarn.lock
|
||||||
|
- package.json
|
||||||
|
- included.json
|
||||||
|
- NOTICE-js
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- yarn.lock
|
||||||
|
- package.json
|
||||||
|
- included.json
|
||||||
|
- NOTICE-js
|
||||||
|
jobs:
|
||||||
|
notice_js:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v1.4.2
|
||||||
|
with:
|
||||||
|
node-version: 14.6.0
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
name: Use Node package cache
|
||||||
|
with:
|
||||||
|
path: node_modules
|
||||||
|
key: bundle-use-node-js-ubuntu-latest-14.6.0-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
||||||
|
restore-keys: |
|
||||||
|
bundle-use-node-js-ubuntu-latest-14.6.0-
|
||||||
|
- run: yarn install --frozen-lockfile
|
||||||
|
- name: Verify NOTICE-js
|
||||||
|
run: yarn notice:js
|
10
.github/workflows/notice_js_placeholder.yml
vendored
Normal file
10
.github/workflows/notice_js_placeholder.yml
vendored
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# License: LGPL-3.0-or-later
|
||||||
|
# notice_js must pass even on builds where it shouldn't run
|
||||||
|
# We address this by making a placeholder action
|
||||||
|
name: Placeholder for NOTICE-js verification
|
||||||
|
on: ['push', 'pull_request']
|
||||||
|
jobs:
|
||||||
|
notice_js:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: 'echo "Placeholder for notice_js"'
|
35
.github/workflows/notice_ruby.yml
vendored
Normal file
35
.github/workflows/notice_ruby.yml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# License: LGPL-3.0-or-later
|
||||||
|
name: NOTICE-ruby verification
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- Gemfile
|
||||||
|
- Gemfile.lock
|
||||||
|
- NOTICE-ruby
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- Gemfile
|
||||||
|
- Gemfile.lock
|
||||||
|
- NOTICE-ruby
|
||||||
|
jobs:
|
||||||
|
notice_ruby:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
||||||
|
with:
|
||||||
|
ruby-version: 2.6.6
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
name: Use Gem cache
|
||||||
|
with:
|
||||||
|
path: vendor/bundle
|
||||||
|
key: bundle-use-ruby-ubuntu-latest-2.6.6-${{ hashFiles('**/Gemfile.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
bundle-use-ruby-ubuntu-latest-2.6.6-
|
||||||
|
- run: |
|
||||||
|
bundle config deployment true
|
||||||
|
bundle config path vendor/bundle
|
||||||
|
bundle install --jobs 4
|
||||||
|
- name: run notice:ruby:verify
|
||||||
|
run: |
|
||||||
|
bin/rails notice:ruby:verify
|
9
.github/workflows/notice_ruby_placeholder.yml
vendored
Normal file
9
.github/workflows/notice_ruby_placeholder.yml
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# notice_ruby must pass even on builds where it shouldn't run
|
||||||
|
# We address this by making a placeholder action
|
||||||
|
name: Placeholder for NOTICE-ruby verification
|
||||||
|
on: ['push', 'pull_request']
|
||||||
|
jobs:
|
||||||
|
notice_ruby:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: 'echo "Placeholder for notice_ruby"'
|
66
.github/workflows/ruby.yml
vendored
Normal file
66
.github/workflows/ruby.yml
vendored
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
# License: LGPL-3.0-or-later
|
||||||
|
name: Ruby test and build
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths-ignore:
|
||||||
|
- "**.[jt]sx?"
|
||||||
|
- "**.es6"
|
||||||
|
- "**.md"
|
||||||
|
- "NOTICE-js"
|
||||||
|
- "NOTICE-ruby"
|
||||||
|
- "package.json"
|
||||||
|
- "yarn.lock"
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- "**.[jt]sx?"
|
||||||
|
- "**.es6"
|
||||||
|
- "**.md"
|
||||||
|
- "**.md"
|
||||||
|
- "NOTICE-js"
|
||||||
|
- "NOTICE-ruby"
|
||||||
|
- "package.json"
|
||||||
|
- "yarn.lock"
|
||||||
|
jobs:
|
||||||
|
main_build:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
node: [14.6.0]
|
||||||
|
ruby: [2.6.6]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup PostgreSQL with PostgreSQL extensions and unprivileged user
|
||||||
|
uses: Daniel-Marynicz/postgresql-action@0.1.0
|
||||||
|
with:
|
||||||
|
postgres_image_tag: 11-alpine
|
||||||
|
postgres_user: houdini_user
|
||||||
|
postgres_password: password
|
||||||
|
- uses: actions/setup-node@v1.4.2
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node }}
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
name: Use Node package cache
|
||||||
|
with:
|
||||||
|
path: node_modules
|
||||||
|
key: bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
|
||||||
|
restore-keys: |
|
||||||
|
bundle-use-node-js-${{ matrix.os }}-${{ matrix.node }}-
|
||||||
|
- run: yarn install --frozen-lockfile
|
||||||
|
- uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
||||||
|
with:
|
||||||
|
ruby-version: ${{ matrix.ruby }}
|
||||||
|
- uses: actions/cache@v1
|
||||||
|
name: Use Gem cache
|
||||||
|
with:
|
||||||
|
path: vendor/bundle
|
||||||
|
key: bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-
|
||||||
|
- run: |
|
||||||
|
bundle config deployment true
|
||||||
|
bundle config path vendor/bundle
|
||||||
|
bundle install --jobs 4
|
||||||
|
- run: bin/setup ci
|
||||||
|
- name: run spec
|
||||||
|
run: bin/rails spec
|
15
.github/workflows/ruby_placeholder.yml
vendored
Normal file
15
.github/workflows/ruby_placeholder.yml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# License: LGPL-3.0-or-later
|
||||||
|
# main_build must pass even on builds where it shouldn't run
|
||||||
|
# We address this by making a placeholder action
|
||||||
|
name: Placeholder for Ruby test and build
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
main_build:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
node: [14.6.0]
|
||||||
|
ruby: [2.6.6]
|
||||||
|
steps:
|
||||||
|
- run: 'echo "Placeholder for main_build"'
|
Loading…
Reference in a new issue