Skip to content

- Add GitHub Actions workflows for CI/CD and releases; #1

- Add GitHub Actions workflows for CI/CD and releases;

- Add GitHub Actions workflows for CI/CD and releases; #1

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
name: Test & Build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Initialize Go module
run: go mod init splitcsv
- name: Run tests
run: go test -v -race -coverprofile=coverage.out ./...
- name: Generate coverage report
run: go tool cover -html=coverage.out -o coverage.html
- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: |
coverage.out
coverage.html
- name: Build application
run: go build -ldflags="-s -w" -o splitcsv main.go
- name: Test basic functionality
run: |
./splitcsv -in sample_data.csv -parts 3
test -f sample_data_part1.csv
test -f sample_data_part2.csv
test -f sample_data_part3.csv
echo "✅ Basic functionality test passed"
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Initialize Go module
run: go mod init splitcsv
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v6
with:
version: latest