Skip to content

Commit ac7f333

Browse files
committed
feat(core): release version 1.0.0
0 parents  commit ac7f333

78 files changed

Lines changed: 7570 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
8+
env:
9+
IMAGE_NAME: oss-deps-explorer
10+
REGISTRY: ${{ secrets.REGISTRY }}
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- uses: actions/setup-go@v4
19+
with:
20+
go-version-file: go.mod
21+
22+
- name: Cache Go modules
23+
uses: actions/cache@v4
24+
with:
25+
path: |
26+
~/go/pkg/mod
27+
~/.cache/go-build
28+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
29+
restore-keys: |
30+
${{ runner.os }}-go-
31+
32+
- name: Install dependencies
33+
run: go mod download
34+
35+
- name: Lint
36+
run: |
37+
gofmt -l $(find . -name '*.go' -not -path '*/vendor/*')
38+
go vet ./...
39+
40+
- name: Test
41+
run: go test ./...
42+
43+
- name: Build Docker image
44+
run: docker build -t $IMAGE_NAME:${{ github.sha }} .
45+
46+
- name: Login to registry
47+
if: env.REGISTRY != ''
48+
uses: docker/login-action@v3
49+
with:
50+
registry: ${{ env.REGISTRY }}
51+
username: ${{ secrets.REGISTRY_USERNAME }}
52+
password: ${{ secrets.REGISTRY_PASSWORD }}
53+
54+
- name: Push Docker image
55+
if: env.REGISTRY != ''
56+
run: |
57+
docker tag $IMAGE_NAME:${{ github.sha }} ${{ env.REGISTRY }}/$IMAGE_NAME:${{ github.sha }}
58+
docker push ${{ env.REGISTRY }}/$IMAGE_NAME:${{ github.sha }}

CONTRIBUTING.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Contributing to oss-deps-explorer
2+
3+
Thank you for taking the time to contribute! This project welcomes both issues and pull requests.
4+
5+
## Submitting Issues
6+
7+
* Search the existing [issues](https://github.com/stevologic/oss-deps-explorer/issues) before filing a new one.
8+
* Include a clear description of the problem or suggestion.
9+
* Provide steps to reproduce bugs when applicable.
10+
11+
## Pull Requests
12+
13+
1. Fork the repository and create your feature branch off of `main`:
14+
```bash
15+
git checkout -b feature/my-change
16+
```
17+
2. Follow the coding standards described below.
18+
3. Commit your changes with a meaningful commit message.
19+
4. Push the branch and open a pull request against `main` on GitHub.
20+
21+
### Coding Standards
22+
23+
* All Go code should be formatted with `go fmt`.
24+
* Keep functions small and focused.
25+
* Add unit tests where possible.
26+
27+
### Branch Naming
28+
29+
Use descriptive branch names prefixed with the type of change:
30+
31+
* `feature/` for new features
32+
* `bugfix/` for bug fixes
33+
* `docs/` for documentation changes
34+
35+
Example:
36+
```bash
37+
feature/add-cache-support
38+
```
39+
40+
### Commit Messages
41+
42+
* Use the imperative mood in the subject line ("Add feature" not "Added feature").
43+
* Limit the subject line to 72 characters.
44+
* Use the body to explain **why** the change was made, not just **what** was done.

Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Build stage
2+
FROM golang:1.24-alpine AS build
3+
WORKDIR /src
4+
COPY go.mod go.sum ./
5+
RUN go mod download
6+
COPY . .
7+
RUN CGO_ENABLED=0 go build -o /oss-deps-explorer ./cmd/oss-deps-explorer
8+
9+
# Runtime stage
10+
FROM alpine:3.18
11+
RUN adduser -D app
12+
USER app
13+
COPY --from=build /oss-deps-explorer /usr/local/bin/oss-deps-explorer
14+
COPY config.yaml /app/config.yaml
15+
EXPOSE 8080
16+
CMD ["oss-deps-explorer", "-config", "/app/config.yaml"]

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Stephen M Abbott
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)