evcc-io/.github/workflows/default.yml
andig 2614b96785
Remove dist folder from repo (#5862)
This PR removes the dist folder from the repo. With omitting dist, we will see much less merge conflicts and reduce the barriers for new contributors. This should not impact build speed as we're using actions/cache to re-use the built ui artefacts across jobs.
2023-01-21 12:42:36 +01:00

132 lines
2.4 KiB
YAML

name: Default
on:
push:
branches:
- master
pull_request:
workflow_call:
jobs:
clean:
name: Clean
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: ^1.18
cache: true
id: go
- name: Install tools
run: make install
- name: Assets
run: make assets
- name: Porcelain
run: make porcelain
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: ^1.18
cache: true
id: go
- name: Build
run: mkdir dist && touch dist/empty && make build
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: ^1.18
cache: true
id: go
- name: Test
run: mkdir dist && touch dist/empty && make test
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: ^1.18
cache: true
id: go
- run: mkdir dist && touch dist/empty
- name: Lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
args: --timeout 3m
build-ui:
name: UI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "18"
- name: Get NPM cache dir
id: npm-cache-dir
run: |
echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
- name: Cache NPM modules
uses: actions/cache@v3
id: npm-cache
with:
path: ${{ steps.npm-cache-dir.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install tools
run: make install-ui
- name: Lint
run: make lint-ui
- name: Test
run: make test-ui
- name: Porcelain
run: |
test -z "$(git status --porcelain)" || (git status; git diff; false)
- name: Build
run: make ui
- name: Cache dist
uses: actions/cache@v3
id: cache-dist
with:
path: dist
key: ${{ runner.os }}-dist