diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77d4a712..9f90b4ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,3 +59,32 @@ jobs: uses: golangci/golangci-lint-action@v3 with: version: ${{ env.GOLANGCI_VERSION }} + + integration-tests: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Updating and upgrading brew + if: matrix.os == 'macos-latest' + run: | + bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + brew --version + - name: Install docker-cli and start colima + if: matrix.os == 'macos-latest' + # https://github.com/docker/for-mac/issues/2359#issuecomment-943131345 + run: | + brew install docker + colima start + docker info + - name: Test docker image + run: | + docker build -t git-chglog:ci-build . + docker run -v ${GITHUB_WORKSPACE}:/workdir -w /workdir git-chglog:ci-build > ${GITHUB_WORKSPACE}/ci-build.md + head ${GITHUB_WORKSPACE}/ci-build.md \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index eb383a99..9812f737 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,28 @@ -FROM alpine:3.17.1 +################## +########## Builder +################## +FROM golang:1.19-alpine as builder + +RUN apk add --no-cache make git + +WORKDIR /build +COPY go.mod go.sum ./ +RUN go mod download + +COPY . . + +RUN make build + +################## +########## PROD +################## +FROM alpine RUN apk add --no-cache git && \ - mkdir /workdir + mkdir /workdir && \ + git config --global --add safe.directory /workdir -COPY git-chglog /usr/local/bin/git-chglog +COPY --from=builder /build/git-chglog /usr/local/bin/git-chglog WORKDIR /workdir RUN chmod +x /usr/local/bin/git-chglog