Skip to content

Commit 7ff68e4

Browse files
authored
Merge pull request #8 from jakec-dev/feat/I-4-ci-tests
feat: add github workflows for tests
2 parents 249cc13 + f04bf01 commit 7ff68e4

File tree

6 files changed

+83
-0
lines changed

6 files changed

+83
-0
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.go text eol=lf

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
- package-ecosystem: "gomod"
9+
directory: "/"
10+
schedule:
11+
interval: "weekly"

.github/workflows/workflow.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: CI Workflow
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- develop
7+
- master
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
go-version: ['1.24.3']
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Set up Go
19+
uses: actions/setup-go@v5
20+
with:
21+
go-version: ${{ matrix.go-version }}
22+
cache: true
23+
24+
- name: Display Go version
25+
run: go version
26+
27+
- name: Set up golangci-lint
28+
uses: golangci/golangci-lint-action@v8
29+
with:
30+
version: v2.1
31+
32+
- name: Run linting
33+
run: make lint
34+
35+
- name: Run tests
36+
run: make test
37+
38+
- name: Run audit checks
39+
run: make audit
40+
41+
- name: Verify build
42+
run: make build
43+
44+
- name: Upload coverage
45+
uses: actions/upload-artifact@v4
46+
with:
47+
name: coverage-${{ matrix.go-version }}
48+
path: coverage.html

CONTRIBUTING.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,14 @@ This project uses [lefthook](https://github.com/evilmartians/lefthook) for Git h
7373
- `make upgradeable` - Check for dependency updates
7474
- `make build-static` - Build static binary for containers
7575

76+
### Testing GitHub Actions Locally
77+
78+
You can test GitHub Actions workflows locally using [act](https://github.com/nektos/act):
79+
80+
```sh
81+
act pull_request # Simulate PR workflow
82+
```
83+
7684
## Contributing Guidelines
7785

7886
- Feature requests and bug reports are welcome via GitHub Issues
@@ -93,6 +101,9 @@ internal/ # Core logic (private to this module)
93101
build/ # Build artifacts, npm wrapper (future)
94102
bin/ # Compiled binaries (git-ignored)
95103
dist/ # GoReleaser output (git-ignored)
104+
.github/
105+
├── workflows/ # GitHub Actions CI/CD pipelines
106+
└── dependabot.yml # Automated dependency updates
96107
```
97108

98109
## Pull Request Process
@@ -103,6 +114,16 @@ dist/ # GoReleaser output (git-ignored)
103114
4. Submit PR with clear description of changes and motivation
104115
5. Ensure CI checks pass (uses same Make targets)
105116

117+
### CI/CD Pipeline
118+
119+
Pull requests automatically trigger GitHub Actions workflows that run:
120+
- `make lint` - Code style and static analysis
121+
- `make test` - Unit tests with race detection and coverage
122+
- `make audit` - Security scanning and dependency verification
123+
- `make build` - Binary compilation verification
124+
125+
Coverage reports are uploaded as artifacts for each workflow run.
126+
106127
## Release Process
107128

108129
Releases are automated via GoReleaser when a new tag is pushed:

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# aws-local-sync
22

3+
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/jakec-dev/aws-local-sync/badge)](https://scorecard.dev/viewer/?uri=github.com/jakec-dev/aws-local-sync)
4+
35
**aws-local-sync** is a high-performance CLI tool that syncs data from AWS services into your local development environment. It's designed to be **simple**, **fast**, **reliable**, and **developer-friendly**, with support for plugins, caching, and seamless workflow integration.
46

57
Key features:

docs/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)