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…
	
	Add table
		
		Reference in a new issue
	
	 Eric Schultz
						Eric Schultz