parent
d4720150b5
commit
896da59b87
@ -0,0 +1,57 @@ |
|||||||
|
--- |
||||||
|
name: 'build container images' |
||||||
|
|
||||||
|
on: |
||||||
|
push: |
||||||
|
branches: |
||||||
|
- master |
||||||
|
tags: |
||||||
|
- '*' |
||||||
|
|
||||||
|
jobs: |
||||||
|
docker: |
||||||
|
runs-on: ubuntu-latest |
||||||
|
steps: |
||||||
|
- name: Checkout |
||||||
|
uses: actions/checkout@v3 |
||||||
|
- name: Prepare |
||||||
|
id: prep |
||||||
|
run: | |
||||||
|
DOCKER_IMAGE=quay.io/go-skynet/llama-cli |
||||||
|
VERSION=latest |
||||||
|
SHORTREF=${GITHUB_SHA::8} |
||||||
|
# If this is git tag, use the tag name as a docker tag |
||||||
|
if [[ $GITHUB_REF == refs/tags/* ]]; then |
||||||
|
VERSION=${GITHUB_REF#refs/tags/} |
||||||
|
fi |
||||||
|
TAGS="${DOCKER_IMAGE}:${VERSION},${DOCKER_IMAGE}:${SHORTREF}" |
||||||
|
# If the VERSION looks like a version number, assume that |
||||||
|
# this is the most recent version of the image and also |
||||||
|
# tag it 'latest'. |
||||||
|
if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then |
||||||
|
TAGS="$TAGS,${DOCKER_IMAGE}:latest" |
||||||
|
fi |
||||||
|
# Set output parameters. |
||||||
|
echo ::set-output name=tags::${TAGS} |
||||||
|
echo ::set-output name=docker_image::${DOCKER_IMAGE} |
||||||
|
echo ::set-output name=image::${DOCKER_IMAGE}:${VERSION} |
||||||
|
- name: Set up QEMU |
||||||
|
uses: docker/setup-qemu-action@master |
||||||
|
with: |
||||||
|
platforms: all |
||||||
|
- name: Set up Docker Buildx |
||||||
|
id: buildx |
||||||
|
uses: docker/setup-buildx-action@master |
||||||
|
- name: Login to DockerHub |
||||||
|
if: github.event_name != 'pull_request' |
||||||
|
uses: docker/login-action@v2 |
||||||
|
with: |
||||||
|
registry: quay.io |
||||||
|
username: ${{ secrets.QUAY_USERNAME }} |
||||||
|
password: ${{ secrets.QUAY_PASSWORD }} |
||||||
|
- uses: earthly/actions/setup-earthly@v1 |
||||||
|
with: |
||||||
|
version: v0.7.0 |
||||||
|
- name: Build |
||||||
|
run: | |
||||||
|
earthly --platform=linux/amd64 --platform=linux/arm64 --push +image --IMAGE=${{ steps.prep.outputs.image }} |
@ -0,0 +1,26 @@ |
|||||||
|
name: goreleaser |
||||||
|
|
||||||
|
on: |
||||||
|
push: |
||||||
|
tags: |
||||||
|
- 'v*' |
||||||
|
|
||||||
|
jobs: |
||||||
|
goreleaser: |
||||||
|
runs-on: ubuntu-latest |
||||||
|
steps: |
||||||
|
- name: Checkout |
||||||
|
uses: actions/checkout@v3 |
||||||
|
with: |
||||||
|
fetch-depth: 0 |
||||||
|
- name: Set up Go |
||||||
|
uses: actions/setup-go@v3 |
||||||
|
with: |
||||||
|
go-version: 1.18 |
||||||
|
- name: Run GoReleaser |
||||||
|
uses: goreleaser/goreleaser-action@v4 |
||||||
|
with: |
||||||
|
version: latest |
||||||
|
args: release --clean |
||||||
|
env: |
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
@ -0,0 +1,15 @@ |
|||||||
|
# Make sure to check the documentation at http://goreleaser.com |
||||||
|
project_name: llama-cli |
||||||
|
builds: |
||||||
|
- ldflags: |
||||||
|
- -w -s |
||||||
|
env: |
||||||
|
- CGO_ENABLED=0 |
||||||
|
goos: |
||||||
|
- linux |
||||||
|
- darwin |
||||||
|
- windows |
||||||
|
goarch: |
||||||
|
- amd64 |
||||||
|
- arm64 |
||||||
|
binary: '{{ .ProjectName }}' |
Loading…
Reference in new issue