Skip to content

feat: add bulk import command to import properties or contacts from C… #3

feat: add bulk import command to import properties or contacts from C…

feat: add bulk import command to import properties or contacts from C… #3

Workflow file for this run

name: CI
on:
push:
branches: [main, dev]
pull_request:
branches: [main, dev]
workflow_dispatch:
permissions:
contents: read
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Check go mod tidy
run: |
go mod tidy
git diff --exit-code go.mod go.sum || (echo "go.mod/go.sum not tidy" && exit 1)
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
version: latest
- name: govulncheck
run: |
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
changelog-check:
name: Changelog Check
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
- name: Validate changelog
run: |
if command -v chlog >/dev/null 2>&1; then
chlog check
else
echo "chlog not installed, skipping changelog validation"
fi
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Run tests with coverage
run: go test -race -coverprofile=coverage.out ./...
- name: Coverage report
run: go tool cover -func=coverage.out
- name: Upload coverage
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: coverage.out
retention-days: 7
build:
name: Build
runs-on: ubuntu-latest
needs: [lint, test]
strategy:
matrix:
os: [linux, darwin]
arch: [amd64, arm64]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Build
env:
GOOS: ${{ matrix.os }}
GOARCH: ${{ matrix.arch }}
run: make build VERSION=dev
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: rentalot-${{ matrix.os }}-${{ matrix.arch }}
path: bin/rentalot*
retention-days: 7
all-checks:
name: All Checks Passed
runs-on: ubuntu-latest
needs: [lint, test, build]
if: always()
steps:
- name: Check status
run: |
if [ "${{ needs.lint.result }}" != "success" ] || \
[ "${{ needs.test.result }}" != "success" ] || \
[ "${{ needs.build.result }}" != "success" ]; then
echo "One or more checks failed"
exit 1
fi
echo "All checks passed!"