Improvements to GitHub workflows #128
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
modules-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.7' | |
cache: false | |
- name: Run linter | |
working-directory: ./modules | |
run: | | |
test -z $(gofmt -l .) | |
modules-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.7' | |
cache: false | |
- name: Run tests | |
working-directory: ./modules | |
run: | | |
go test -race github.com/kubetail-org/kubetail/modules/... | |
modules-vet: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.7' | |
cache: false | |
- name: Run code vetter | |
working-directory: ./modules | |
run: | | |
go vet github.com/kubetail-org/kubetail/modules/... | |
dashboard-ui-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Set up and run linter | |
working-directory: ./dashboard-ui | |
run: | | |
pnpm install | |
pnpm lint | |
dashboard-ui-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Set up and run tests | |
working-directory: ./dashboard-ui | |
run: | | |
pnpm install | |
pnpm test run | |
dashboard-ui-build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Set up and run build script | |
working-directory: ./dashboard-ui | |
run: | | |
pnpm install | |
pnpm build | |
build-server-amd64: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: build/package/Dockerfile.server | |
push: false | |
tags: kubetail-server:latest | |
build-server-arm64: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: arm64-ubuntu-22 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: build/package/Dockerfile.server | |
push: false | |
tags: kubetail-server:latest | |
build-agent-amd64: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: build/package/Dockerfile.agent | |
push: false | |
tags: kubetail-agent:latest | |
build-agent-arm64: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: arm64-ubuntu-22 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: build/package/Dockerfile.agent | |
push: false | |
tags: kubetail-agent:latest | |
build-cli-linux-amd64: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.7' | |
cache: false | |
- name: Set CLI version number | |
run: bash ./scripts/set-cli-version.sh test | |
- name: Run build script | |
run: make build | |
build-cli-linux-arm64: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: arm64-ubuntu-22 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.7' | |
cache: false | |
- name: Set CLI version number | |
run: bash ./scripts/set-cli-version.sh test | |
- name: Run build script | |
run: make build | |
build-cli-macos-15: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.7' | |
cache: false | |
- name: Set CLI version number | |
run: bash ./scripts/set-cli-version.sh test | |
- name: Run build script | |
run: make build | |
build-cli-macos-14: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.7' | |
cache: false | |
- name: Set CLI version number | |
run: bash ./scripts/set-cli-version.sh test | |
- name: Run build script | |
run: make build | |
build-cli-macos-13: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.7' | |
cache: false | |
- name: Set CLI version number | |
run: bash ./scripts/set-cli-version.sh test | |
- name: Run build script | |
run: make build | |
build-cli-windows: | |
needs: | |
- modules-lint | |
- modules-test | |
- modules-vet | |
- dashboard-ui-lint | |
- dashboard-ui-test | |
- dashboard-ui-build | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.7' | |
cache: false | |
- name: Set CLI version number | |
run: bash ./scripts/set-cli-version.sh test | |
- name: Run build script | |
run: make build |