Skip to content

Ci/release

Ci/release #4

Workflow file for this run

name: CI
on:
schedule:
- cron: "00 19 * * *" # run ci periodically at 3 am
pull_request:
branches: [ main ]
jobs:
format:
name: Format
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version-file: go.mod
- name: Install Dependencies
run: |
apt-get update && apt-get install -y git git-lfs
go install mvdan.cc/gofumpt@latest
- name: Format code with script
run: .github/scripts/code_format.sh
lint:
name: Lint Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version-file: go.mod
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.54.2
test:
name: Xline Operator Test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version-file: go.mod
- name: Build and test
run: make test
commit:
name: Commit Message Validation
runs-on: ubuntu-latest
if: ${{ github.event_name != 'schedule' }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- run: git show-ref
- uses: Swatinem/rust-cache@v2
- uses: actions-rs/[email protected]
with:
crate: git-cz
version: latest
- name: Validate commit messages
run: git-cz check ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
spell-check:
name: Spell Check
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v2
- name: Check Spelling
uses: crate-ci/typos@master