mirror of
https://github.com/dillonkearns/elm-pages-v3-beta.git
synced 2024-11-28 23:12:22 +03:00
119 lines
3.5 KiB
YAML
119 lines
3.5 KiB
YAML
name: Elm CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Use Node.js 13
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 13
|
|
- uses: actions/cache@v1
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- uses: actions/cache@v1
|
|
id: elm-cache
|
|
with:
|
|
path: ~/.elm
|
|
key: ${{ runner.os }}-elm-home-${{ hashFiles('**/elm.json') }}
|
|
- run: npm ci
|
|
- run: ./node_modules/.bin/elm make --output /dev/null && cd generator && ../node_modules/.bin/elm make --output /dev/null src/Main.elm
|
|
- run: npm test
|
|
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Use Node.js 13
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 13
|
|
- uses: actions/cache@v1
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- uses: actions/cache@v1
|
|
id: elm-cache
|
|
with:
|
|
path: ~/.elm
|
|
key: ${{ runner.os }}-elm-home-${{ hashFiles('**/elm.json') }}
|
|
- run: npm ci
|
|
- run: ./node_modules/.bin/elm make --output /dev/null && cd generator && ../node_modules/.bin/elm make --output /dev/null src/Main.elm
|
|
- name: elm-format
|
|
run: npx --no-install elm-format --validate
|
|
|
|
validate-package:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Use Node.js 13
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 13
|
|
- uses: actions/cache@v1
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- uses: actions/cache@v1
|
|
id: elm-cache
|
|
with:
|
|
path: ~/.elm
|
|
key: ${{ runner.os }}-elm-home-${{ hashFiles('**/elm.json') }}
|
|
- run: npm ci
|
|
- run: ./node_modules/.bin/elm make --output /dev/null && cd generator && ../node_modules/.bin/elm make --output /dev/null src/Main.elm
|
|
- name: Build elm docs
|
|
run: ./node_modules/.bin/elm make --docs docs.json
|
|
|
|
publish:
|
|
needs: [test, lint, validate-package]
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Use Node.js 13
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 13
|
|
- uses: actions/cache@v1
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-
|
|
- uses: actions/cache@v1
|
|
id: elm-cache
|
|
with:
|
|
path: ~/.elm
|
|
key: ${{ runner.os }}-elm-home-${{ hashFiles('**/elm.json') }}
|
|
- run: npm ci
|
|
- run: ./node_modules/.bin/elm make --output /dev/null && cd generator && ../node_modules/.bin/elm make --output /dev/null src/Main.elm
|
|
- name: Elm Publish
|
|
uses: dillonkearns/elm-publish-action@1.0.1
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
path-to-elm: ./node_modules/.bin/elm
|
|
- id: npm-publish
|
|
if: github.ref == 'refs/heads/master'
|
|
uses: JS-DevTools/npm-publish@v1
|
|
with:
|
|
token: ${{ secrets.NPM_TOKEN }}
|