study_xxqg/.github/workflows/push-to-docker.yml

48 lines
1.4 KiB
YAML

name: docker build
on: [push, pull_request]
env:
BINARY_PREFIX: "study_xxqg_"
BINARY_SUFFIX: ""
PR_PROMPT: "::warning:: Build artifact will not be uploaded due to the workflow is trigged by pull request."
LD_FLAGS: "-w -s"
jobs:
build:
name: Build binary CI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Go environment
uses: actions/setup-go@v2.1.3
with:
go-version: 1.17
- name: Build binary file
run: |
export LD_FLAGS="-w -s -X main.VERSION=${COMMIT_ID::7}"
go mod tidy
go build -o "output/study_xxqg" -trimpath -ldflags "$LD_FLAGS" ./
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: push to docker
run: |
docker login -u ${{secrets.DOCKERHUB_USERNAME}} -p ${{secrets.DOCKERHUB_PASSWORD}}
pwd
docker build -t jolanse/study_xxqg ./
docker tag jolanse/study_xxqg jolanse/study_xxqg
docker push jolanse/study_xxqg
- name: push to tag
if: startsWith(github.ref, 'refs/tags/')
run: |
echo "RELEASE_VERSION=${GITHUB_REF:10}" >> $GITHUB_ENV
echo ${GITHUB_REF:10}
docker tag jolanse/study_xxqg jolanse/study_xxqg:${GITHUB_REF:10}
docker push jolanse/study_xxqg:${GITHUB_REF:10}