mirror of
https://github.com/jimeh/casecmp.git
synced 2026-02-19 10:26:40 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
732c588dbc
|
|||
|
1816e93170
|
|||
|
29902b2e8e
|
|||
|
36e0863cc3
|
|||
|
5471ff95a7
|
|||
|
4c89c92f75
|
|||
| d19eed020c | |||
|
aef3e832f5
|
|||
|
3bae8acc62
|
|||
|
eaf738c49f
|
@@ -1,65 +0,0 @@
|
|||||||
version: 2
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
docker:
|
|
||||||
- image: circleci/golang:1.16
|
|
||||||
working_directory: /go/src/github.com/jimeh/casecmp
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
- run:
|
|
||||||
name: Install dependencies
|
|
||||||
command: go mod download
|
|
||||||
- run:
|
|
||||||
name: Build binary
|
|
||||||
command: make
|
|
||||||
- run:
|
|
||||||
name: Start service
|
|
||||||
command: ./bin/casecmp --port=8080
|
|
||||||
background: true
|
|
||||||
- run:
|
|
||||||
name: Validate service is working
|
|
||||||
command: |
|
|
||||||
curl --retry 10 --retry-delay 1 --retry-connrefused \
|
|
||||||
http://localhost:8080/
|
|
||||||
release:
|
|
||||||
docker:
|
|
||||||
- image: circleci/golang:1.16
|
|
||||||
working_directory: /go/src/github.com/jimeh/casecmp
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
- run:
|
|
||||||
name: Install tools
|
|
||||||
command: |
|
|
||||||
go get github.com/goreleaser/goreleaser
|
|
||||||
- run:
|
|
||||||
name: Install dependencies
|
|
||||||
command: go mod download
|
|
||||||
- run:
|
|
||||||
name: Run goreleaser
|
|
||||||
command: goreleaser
|
|
||||||
workflows:
|
|
||||||
version: 2
|
|
||||||
build:
|
|
||||||
jobs:
|
|
||||||
- build:
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
only: /.*/
|
|
||||||
tags:
|
|
||||||
ignore: /^v[0-9]+(\.[0-9]+)*/
|
|
||||||
build-and-release:
|
|
||||||
jobs:
|
|
||||||
- build:
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
ignore: /.*/
|
|
||||||
tags:
|
|
||||||
only: /^v[0-9]+(\.[0-9]+)*/
|
|
||||||
- release:
|
|
||||||
requires:
|
|
||||||
- build
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
ignore: /.*/
|
|
||||||
tags:
|
|
||||||
only: /^v[0-9]+(\.[0-9]+)*/
|
|
||||||
48
.github/workflows/ci.yml
vendored
Normal file
48
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
name: CI
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: 1.16
|
||||||
|
- name: Install dependencies
|
||||||
|
run: go mod download
|
||||||
|
- name: Build binary
|
||||||
|
run: make
|
||||||
|
- name: Run and make request
|
||||||
|
run: |
|
||||||
|
./bin/casecmp --port=8080 &
|
||||||
|
curl --silent --retry 10 --retry-delay 1 --retry-connrefused \
|
||||||
|
http://localhost:8080/
|
||||||
|
|
||||||
|
release:
|
||||||
|
name: Release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build]
|
||||||
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
- name: Docker Login
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: 1.16
|
||||||
|
- name: Run GoReleaser
|
||||||
|
uses: goreleaser/goreleaser-action@v2
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
args: release --rm-dist
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
bin/*
|
bin/*
|
||||||
dist/*
|
dist/*
|
||||||
releases/*
|
releases/*
|
||||||
|
dist/
|
||||||
|
|||||||
137
.goreleaser.yml
137
.goreleaser.yml
@@ -1,34 +1,109 @@
|
|||||||
project_name: casecmp
|
|
||||||
builds:
|
|
||||||
- main: main.go
|
|
||||||
binary: casecmp
|
|
||||||
flags: -a
|
|
||||||
env:
|
|
||||||
- CGO_ENABLED=0
|
|
||||||
goos:
|
|
||||||
- darwin
|
|
||||||
- freebsd
|
|
||||||
- linux
|
|
||||||
- windows
|
|
||||||
goarch:
|
|
||||||
- amd64
|
|
||||||
- 386
|
|
||||||
- arm
|
|
||||||
goarm:
|
|
||||||
- 6
|
|
||||||
- 7
|
|
||||||
archive:
|
|
||||||
name_template: '{{ .ProjectName }}-{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm
|
|
||||||
}}v{{ .Arm }}{{ end }}'
|
|
||||||
format: tar.gz
|
|
||||||
wrap_in_directory: true
|
|
||||||
format_overrides:
|
|
||||||
- goos: windows
|
|
||||||
format: zip
|
|
||||||
before:
|
before:
|
||||||
hooks:
|
hooks:
|
||||||
- make clean
|
- go mod tidy
|
||||||
git:
|
builds:
|
||||||
short_hash: true
|
- env:
|
||||||
|
- CGO_ENABLED=0
|
||||||
|
mod_timestamp: "{{ .CommitTimestamp }}"
|
||||||
|
flags:
|
||||||
|
- -trimpath
|
||||||
|
ldflags:
|
||||||
|
- "-s -w -X main.version={{ .Version }} -X main.commit={{ .Commit }}"
|
||||||
|
goos:
|
||||||
|
- "darwin"
|
||||||
|
- "freebsd"
|
||||||
|
- "linux"
|
||||||
|
- "windows"
|
||||||
|
goarch:
|
||||||
|
- "amd64"
|
||||||
|
- "386"
|
||||||
|
- "arm"
|
||||||
|
- "arm64"
|
||||||
|
goarm:
|
||||||
|
- "6"
|
||||||
|
- "7"
|
||||||
|
|
||||||
|
archives:
|
||||||
|
- format: tar.gz
|
||||||
|
name_template: |-
|
||||||
|
{{ .ProjectName }}-{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}
|
||||||
|
wrap_in_directory: true
|
||||||
|
format_overrides:
|
||||||
|
- goos: windows
|
||||||
|
format: zip
|
||||||
|
|
||||||
|
checksum:
|
||||||
|
name_template: "checksums.txt"
|
||||||
snapshot:
|
snapshot:
|
||||||
name_template: snapshot-{{.Commit}}
|
name_template: "{{ .Tag }}-next"
|
||||||
|
changelog:
|
||||||
|
sort: asc
|
||||||
|
filters:
|
||||||
|
exclude:
|
||||||
|
- "^docs:"
|
||||||
|
- "^test:"
|
||||||
|
|
||||||
|
dockers:
|
||||||
|
- image_templates:
|
||||||
|
- "ghcr.io/jimeh/casecmp:{{ .Version }}-amd64"
|
||||||
|
- "ghcr.io/jimeh/casecmp:latest-amd64"
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
use: buildx
|
||||||
|
goos: linux
|
||||||
|
goarch: amd64
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/amd64"
|
||||||
|
- image_templates:
|
||||||
|
- "ghcr.io/jimeh/casecmp:{{ .Version }}-386"
|
||||||
|
- "ghcr.io/jimeh/casecmp:latest-386"
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
use: buildx
|
||||||
|
goos: linux
|
||||||
|
goarch: "386"
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/386"
|
||||||
|
- image_templates:
|
||||||
|
- "ghcr.io/jimeh/casecmp:{{ .Version }}-arm64"
|
||||||
|
- "ghcr.io/jimeh/casecmp:latest-arm64"
|
||||||
|
use: buildx
|
||||||
|
goos: linux
|
||||||
|
goarch: arm64
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/arm64"
|
||||||
|
- image_templates:
|
||||||
|
- "ghcr.io/jimeh/casecmp:{{ .Version }}-armv6"
|
||||||
|
- "ghcr.io/jimeh/casecmp:latest-armv6"
|
||||||
|
use: buildx
|
||||||
|
goos: linux
|
||||||
|
goarch: arm
|
||||||
|
goarm: "6"
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/arm/v6"
|
||||||
|
- image_templates:
|
||||||
|
- "ghcr.io/jimeh/casecmp:{{ .Version }}-armv7"
|
||||||
|
- "ghcr.io/jimeh/casecmp:latest-armv7"
|
||||||
|
use: buildx
|
||||||
|
goos: linux
|
||||||
|
goarch: arm
|
||||||
|
goarm: "7"
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/arm/v7"
|
||||||
|
|
||||||
|
docker_manifests:
|
||||||
|
- name_template: ghcr.io/jimeh/casecmp:{{ .Version }}
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/jimeh/casecmp:{{ .Version }}-amd64
|
||||||
|
- ghcr.io/jimeh/casecmp:{{ .Version }}-386
|
||||||
|
- ghcr.io/jimeh/casecmp:{{ .Version }}-arm64
|
||||||
|
- ghcr.io/jimeh/casecmp:{{ .Version }}-armv6
|
||||||
|
- ghcr.io/jimeh/casecmp:{{ .Version }}-armv7
|
||||||
|
- name_template: ghcr.io/jimeh/casecmp:latest
|
||||||
|
image_templates:
|
||||||
|
- ghcr.io/jimeh/casecmp:latest-amd64
|
||||||
|
- ghcr.io/jimeh/casecmp:latest-386
|
||||||
|
- ghcr.io/jimeh/casecmp:latest-arm64
|
||||||
|
- ghcr.io/jimeh/casecmp:latest-armv6
|
||||||
|
- ghcr.io/jimeh/casecmp:latest-armv7
|
||||||
|
|||||||
10
CHANGELOG.md
Normal file
10
CHANGELOG.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.3.0](https://github.com/jimeh/casecmp/compare/v1.2.3...v1.3.0) (2022-02-13)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **release:** setup for publishing docker images to ghcr ([1816e93](https://github.com/jimeh/casecmp/commit/1816e93170bb725f8da073b91070a981dd039fad))
|
||||||
14
Dockerfile
14
Dockerfile
@@ -1,17 +1,5 @@
|
|||||||
FROM golang:1.16-alpine as builder
|
|
||||||
RUN apk add --no-cache \
|
|
||||||
git
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
COPY . /app
|
|
||||||
RUN env CGO_ENABLED=0 \
|
|
||||||
go build -a -o /casecmp -ldflags "-s -w \
|
|
||||||
-X main.version=$(cat VERSION) \
|
|
||||||
-X main.commit=$(git show --format='%h' --no-patch) \
|
|
||||||
-X main.date=$(date +%Y-%m-%dT%T%z)"
|
|
||||||
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
COPY --from=builder /casecmp /
|
COPY ./casecmp /
|
||||||
ENV PORT 8080
|
ENV PORT 8080
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
|
|||||||
Reference in New Issue
Block a user