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@v4 - uses: erezrokah/setup-go@feat/add_cache_prefix with: go-version: ^1.20 cache-key-prefix: clean-cache- id: go - name: Install tools run: make install - name: Assets run: make assets - name: Docs run: make docs - name: Toml run: make toml - name: Porcelain run: make porcelain build: name: Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # - uses: actions/setup-go@v4 - uses: erezrokah/setup-go@feat/add_cache_prefix with: go-version: ^1.20 cache-key-prefix: build-cache- 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@v4 - uses: erezrokah/setup-go@feat/add_cache_prefix with: go-version: ^1.20 cache-key-prefix: test-cache- 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@v4 with: go-version: ^1.20 cache: false # avoid cache thrashing id: go - run: mkdir dist && touch dist/empty - name: Lint uses: golangci/golangci-lint-action@v3 with: version: latest args: --timeout 5m build-ui: name: UI runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: "18" cache: "npm" - name: Install tools run: make install-ui - name: Lint run: make lint-ui - name: Test run: make test-ui - name: Build run: make ui - name: Cache dist uses: actions/cache/save@v3 id: cache-dist with: path: dist key: ${{ runner.os }}-${{ github.sha }}-dist