Skip to content

feat: add logo generator script with 20+ variations #15

feat: add logo generator script with 20+ variations

feat: add logo generator script with 20+ variations #15

Workflow file for this run

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
permissions:
contents: read
pull-requests: read
jobs:
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.25.6"
cache: true
- name: Run go vet
run: go vet ./...
- name: Run go fmt check
run: |
if [ -n "$(gofmt -l .)" ]; then
echo "Code is not formatted. Run 'make fix'"
gofmt -d .
exit 1
fi
- name: Run staticcheck
uses: dominikh/staticcheck-action@v1
with:
version: "latest"
install-go: false
test:
name: Test
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.25.6"
cache: true
- name: Download dependencies
run: go mod download
- name: Run tests
run: go test -v -coverprofile=coverage.out -covermode=atomic ./...
- name: Upload coverage
uses: codecov/codecov-action@v4
with:
files: ./coverage.out
flags: unittests
fail_ci_if_error: false
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
build:
name: Build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
include:
- os: ubuntu-latest
binary: loopforge
- os: macos-latest
binary: loopforge
- os: windows-latest
binary: loopforge.exe
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.25.6"
cache: true
- name: Build
run: go build -v -o ${{ matrix.binary }} ./cmd/loopforge
- name: Verify binary
run: ./${{ matrix.binary }} version
shell: bash
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: loopforge-${{ matrix.os }}
path: ${{ matrix.binary }}
retention-days: 7
ci-complete:
name: CI Complete
needs: [lint, test, build]
runs-on: ubuntu-latest
if: always()
steps:
- name: Check all jobs passed
run: |
if [[ "${{ needs.lint.result }}" != "success" ]] || \
[[ "${{ needs.test.result }}" != "success" ]] || \
[[ "${{ needs.build.result }}" != "success" ]]; then
echo "One or more jobs failed"
exit 1
fi
echo "All CI checks passed!"